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的編譯方法