https://blog.csdn.net/duval_yang/article/details/50222555
https://blog.csdn.net/qq_20448859/article/details/54633125
OpenWrt固件编译、软件包Ipk的编译
1.下载源码
2.更新扩展,安装扩展
3.检查编译环境 make defconfig
4.进入配置界面定制固件和组件 make menuconfig
运行上边这条命令之后,便会弹出一个配置界面,在这个配置界面,用户可以自定义勾选自己所需要的组件,像Web管理界面--->Luci,像抓包工具--->iwcap,像网卡管理工具--->iw,等等;除此之外,用户还可以勾选是否编译开发可以用到的SDK包,还可以选择平台的芯片等等。在每个选项前,勾选M表示编译但不固化到固件里边,勾选*表示编译并且固化到固件里边。
例如,我是在 TP-LINK TL-WR703N上做开发,
于是我的Target System 选择了(Atheros AR7XXX/AR9XXX),Subtarget选了Generic,Target Profile 选了 TP-LINK TL-WR703N;
另外,由于我想用到SDK,所以顺便也勾选了Build the Openwrt SDK ;
同时,由于需要用到web管理界面,所以我在LuCI下边也勾选了luci;
需要用到抓包工具iwcap,所以在Utilities下勾选了
5.开始编译 make 或者 make V=s 或者 make -j1 V=99
第一次编译一般要花两到三个小时,第二次之后就快了,因为软件包都下载好了= = 。
编译过程往往遇到很多问题,注意看编译中断后打印的log信息,一般会提示一些error,然后自己寻藤摸瓜看看问题,一般都是系统少了某个软件(例如hg)、网络太差、VPN断了等等原因。。。
上边说的是标准的编译流程,下边说点投机取巧的事儿。
其实为啥编译耗时这么长,无非就是下载软件包太特么慢了。而所有的软件包都是放在源码的dl目录的。所以,你可以做这些事:
1)编译成功后及时备份自己的dl目录,以后要编译什么就省事啦;
2)自己手动新建dl目录,然后直接复制别人的dl目录过来用,他山之石可以攻玉 = =
6.编译结束
等你最后看到这个画面,恭喜你成功了~~
然后你所需要的固件在 openwrt/bin/下边,包括 xxxxx.factory.bin 和 xxxxx.sysupgrade.bin 两个包,至于这两个包怎么刷进板子上,网上这种教程一大把。
另外你所需要的SDK包也在 openwrt/bin目录下边,是一个 xxxxx.tar.bz2 的压缩包。
另外你所需要的软件安装包IPK文件也在这个目录下,具体自己搜索下就可以找到了。说了这么多废话。
下边再细说下 软件安装包ipk的编译方法