加速在虚拟机上安装openwrt并编译x86

时间:2024-03-15 17:11:58

Openwrt编译x86  加速

由于没有现成的路由器和ARM等板子,所以决定安装Vmware虚拟机并在x86上配置openwrt

步骤:

1、安装虚拟机Vmware workstation pro,我是在官网下载的,所以只有三十天试用期

2、安装虚拟机后打开虚拟机,点击文件----新建虚拟机,之后按照这篇博客安装(前提是你已经下载了unbunt-desktop-16.4.5.iso光盘镜像)并且安装的也是简易安装,可能会出现安装后unbunt分辨率不对,语言包未导入等小问题,参考以下链接:

虚拟机VMware Workstation Pro下安装ubuntu-14.04.4(64位)方法(附ubuntu-14.04-desktop-amd64.iso下载链接):https://www.cnblogs.com/huangjianxin/p/6341256.html

3、虚拟机上安装了unbunt后就可以进行openwrt的环境配置了(在虚拟机安装unbunt中如果出现卡在 receiving 46 of 87的界面,那么可以直接点击三角符号然后skip(这样可能会丢失更多))安装好unbunt后就开始环境配置啦!

4、打开终端,输入sudo apt-get update

之后就可以下载openwrt源码了

参考这篇博文:https://blog.csdn.net/yao1500/article/details/105948229

5、输入git clone https://gitee.com/harvey520/openwrt.git

   这是从国内的仓库下载openwrt源码因此速度会很快,其他教程是从github上下载太慢了

  下载之后在home目录下会生成一个openwrt文件夹,打开双击feeds.conf.default文件夹并编辑以下内容:

https://git.openwrt.org/feed/packages.git 改为 https://gitee.com/harvey520/packages.git

https://git.openwrt.org/project/luci.git 改为 https://gitee.com/harvey520/luci.git

https://git.openwrt.org/feed/routing.git 改为 https://gitee.com/harvey520/routing.git

https://git.openwrt.org/feed/telephony.git 改为 https://gitee.com/harvey520/telephony.git

6、上述操作是为了下载openwrt编译依赖仓库包时可以快点,很多教程下一步或者前一步是让我们安装必要的编译依赖仓库,比如sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip,这些操作在我看来都没必要,咱们可以在编译之前用make defconfig来查看编译需要的库并安装就行了,提前安装多余的仓库会导致编译的时候编译速度过慢

7、在编译的时候会消耗很多时间在下载依赖包上,所以我们有必要修改一下系统下载包的地址来加快速度:

直接修改scripts/download.pl脚本,添加mirror

找到脚本以下位置添加其他较快的下载点

#push @mirrors, ‘http://mirror1.openwrt.org’;
push @mirrors, ‘http://mirror2.openwrt.org/sources’;
push @mirrors, ‘http://downloads.openwrt.org/sources’;

unshift @mirrors, ‘https://some.faster.mirror.com/sources’;

8、下一步是更新源码包:

终端输入 cd openwrt进入openwrt目录下

输入./scripts/feeds update -a

输入./scripts/feeds install -a

9、下一步检查编译前的依赖环境:

终端输入 make defconfig

会报错并显示

Build dependency: Please install the GNU C++ Compiler (g++).

Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)

Build dependency: Please install zlib. (Missing libz.so or zlib.h)

Build dependency: Please install GNU awk. 

Build dependency: Please install flex.

Build dependency: Please install patch.

Build dependency: Please install git (git-core).

Build dependency: Please install the subversion client

等,这些就是因为我们没有安装相应的依赖包所致的,所以我们要使用sudo apt-get install命令安装,比如Build dependency: Please install GNU awk. 这一个我们就可以用sudo apt-get install gawk来解决,其他的依赖包可以自行百度并安装:https://blog.csdn.net/mrwangwang/article/details/38977485

10、下一步配置固件信息:

终端输入make menuconfig

会出现如下界面:

加速在虚拟机上安装openwrt并编译x86

其中 Target System选择x86(这里面y是选择键,选择完之后左边方框会出现*)

Target image选择Build Vmware image files (VMDK)

LUCIweb配置界面

进入LUCI并做如下选择

luci>collection>选择luci
luci>aplycation
下面选中 luci-app-uhttpd………………………uHTTPd Webserver Configuration这一个

注:如果没有LUCI选项,安装LUCI的教程:

https://www.cnblogs.com/ningci/p/9382233.html

11、接下来是编译make V=99,在此漫长的过程中可能会自动下载一些依赖包到openwrt/dl目录下,这时候就看你的网络情况啦,可以在下载的时候切换网络,在切换网络的时候可以带来巨大流量下载速度(黑科技)!

12、完结,至此编译完成,会在openwrt下面生成一个bin文件夹,剩下的工作可以参考其他教程。