編譯openwrt平臺aria2的最新版

到處搜了下,知識都很零散和碎片,這里做下整理。
想要編譯aria2要先編譯openwrt。編譯平臺是debian8。
1.獲取openwrt的代碼
從openwrt拿到官方代碼,見官方頁面https://dev.openwrt.org/wiki/GetSource
想要最新的就拉trunk的代碼,我之前路由刷的是15.05分支的,創建一個文件夾,拿這個分支的代碼:

mkdir openwrt
cd openwrt
git clone git://git.openwrt.org/15.05/openwrt.git

2.安裝編譯需要的依賴

sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev

3.進入源碼文件夾,更新軟件包

./scripts/feeds update -a

4.安裝一下

./scripts/feeds install -a

5.定制固件

make menuconfig

選擇平臺,Target System我這里選Broadcom BCM63XX。
選擇路由器型號,Target Profile我這里選華為HG556a C版。

默認是不編譯aria2的,這里我們要讓它編譯aria2。
向下翻找到Network-->File Transfer-->aria2,按空格鍵選中。


默認配置不支持BT和磁力鏈,我們要配置一下,讓我們編譯出來的支持這2種下載方式。
選擇aria2下面的Aria2 configuration,把里面的Enable bittorent support和Enable metalink support用空格鍵選中。

好,現在用方向鍵選Exit一路退出,最后退出時選YES保存一下

6.開始編譯

make -j4 V=99

j后面的數字代表用幾個線程來編譯。
7.編譯中遇到的坑
①因為在編譯中需要聯網下載一些包下來,所以編譯的時候一定要聯網。
②有的包聯網了還不行,還要翻墻才能下載。
③有的包的下載地址用的http開頭的無法下載,可以修改openwrt/include/download.mk文件,將第8行的http換成git


④第一遍編譯時最好用make -j1 V=99來編譯,即用一個線程來編譯,以便編譯出錯時好定位哪里有問題。
8.編譯完成
編譯完成后在openwrt/bin/brcm63xx/packages/packages文件夾就會有一個aria2的ipk文件了。但是,這個版本是15.05自帶的版本,我們需要最新的版本,所以接下來我們就要重新編譯一下aria2.
9.下載最新的aria2代碼
打開aria2的github項目,在Releases里面下載最新的代碼,現在最新的是1.22.0
https://github.com/aria2/aria2/releases
我們選擇下載aria2-1.22.0.tar.bz2這個版本
10.替換aria2的代碼
將剛才下載的壓縮包(不要解壓)復制到openwrt/dl目錄下,刪掉原來的aria2 1.18的壓縮包。
修改openwrt/feeds/packages/net/aria2/Makefile文件
將第10行的版本號修改為1.22.0
將第15行的MD5校驗注釋掉(前面加#號)

11.重新編譯
好,現在可以重新編譯了
先清除掉原來的編譯結果

make package/feeds/packages/aria2/clean V=99

現在查看openwrt/bin/brcm63xx/packages/packages目錄,前面編譯的aria2 1.18版本已經被清除掉了。
重新編譯

make package/feeds/packages/aria2/install V=99

等待一段時間,編譯完成
再進到openwrt/bin/brcm63xx/packages/packages,已經可以華麗麗地看到aria2_1.22.0-1_brcm63xx.ipk出現在里面了。
大功告成。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容