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
会出现如下界面:
其中 Target System选择x86(这里面y是选择键,选择完之后左边方框会出现*),
Target image选择Build Vmware image files (VMDK)
LUCI是web配置界面
进入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文件夹,剩下的工作可以参考其他教程。