长话短说吧!写这篇文章是因为有些新入门的朋友,百度教程太多又五花八门看的雾里云里,是不是不知道怎么去编译属于自己的一个openwrt固件,这个教程就是为此设置的,有不对的请指出,谢谢
(如不清楚openwrt请先去度娘一下openwrt,不做多余解答)
Openwrt编译准备工作
1.一台笔记本或台式(这是废话)
2.一个ubuntu系统
3.一台路由器
4.自备手工竹T(编译的过程中会自动下载包,有些包在国外,手工竹T会报错导致编译失败)(重要!!)(重要!!)(重要!!)
第一步进入操作系统
第二步更新一下系统软件
sudo apt-get update (系统更新太慢,请自行替换ubuntu的源,自行百度。阿里的源不错)
第三步安装openwrt编译需要的环境
sudo apt-get install gcc g++ build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch flex bison make autoconf texinfo unzip sharutils subversion ncurses-term zlib1g-dev ccache upx lib32gcc1 libc6-dev-i386 uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev libglib2.0-dev xmlto qemu-utils automake libtool -y
安装以上软件
第四步下载openwrt 17.01 稳定版源代码
mkdir openwrt17.1 #新建一个目录
sudo chmod 777 openwrt17.1 #修改权限(重要)
cd openwrt17.1 #进入目录
git clone -b lede-17.01 https://github.com/openwrt/openwrt.git source (源码更新所以跟下图会不一样)
第五步更新软件
cd source
./scripts/feeds update -a
./scripts/feeds install -a
做完以上五步准备工作完成,准备开始进行编译
第六步测试一下编译环境
make defconfig
第七步开始我们的编译之旅
make menuconfig
1.选择编译的平台以我的TP-6300为例子选择AR7XX/AR9XX
2.选择编译机型
(我的TP-6300这里是没有的,但水星的1200跟他是一样的可以通用,所以我编译水星1200即可)
3.添加一个luci WEB界面
×表示编译进固件里面 M表示只编译但不写到固件里面去 (空) 留空表示不做任何操作
4.给刚才的WEB界面添加一个中文语言包
选择完以保存即可
第八步也是最后一步生成固件
此步自备手工竹违禁词语(编译的过程中会自动下载包,有些包在国外,没手工竹违禁词语会报错导致编译失败)(重要!!)(重要!!)(重要!!)
如下图
手工竹T已搭好请看下面直接编译即可
make -j8 download V=s #下载dl库,编译成功率更高
make V=99
复制代码
已经在开始编译了,看机器和网络情况两到三小时不等该干嘛干嘛去吧
偷个懒吧,我之前已经编译好一个了直接上图吧,重新编译时间太久了,第二次编译就快很多了,半个小时就行了
编译到此结束了,直接拿去刷机即可
更新一下吧,关于openwrt编译中的误区,这也上了佐大的车才知道的,原来之前的操作有点傻逼,怪不得时好时坏
make -j4 V=s
make -jn V=s
这两条命令各位应该或多或少看到过或用过,问题就在这里根据佐大的意见,编译的时候最好不要-j,只有一些特殊的机器才会用到-j这个参数,其他机器起到的帮助微乎其微,有时候还会编译出错,
不信的朋友可以去测试一下make V=99 和make -j4 V=s那个问题多点,想让openwrt变快也是有办法的,这里就不列举了,毕竟佐大的是收费教程,有兴趣可以去看下,就提到这里了
openwrt环境搭建脚本已经完成具体点击传送门
自己写的几篇小帖子不清楚的可以去看下 传送门
交流技术适当吹水群:667491026 (拒绝大爷公子伸手党)
by:ITdesk
2018年6月7日