VMware下用Ubuntu編譯自己的Openwrt——②

本次編譯是記錄自己根據(jù)大神們的資料折騰的所有過程,包括VMware——Ubuntu——首次編譯全過程!本文為Openwrt首次編譯全過程。

一、固件源碼

1、Lean的固件源碼

首先我選擇的是恩山大神Lean的固件源碼(自己網(wǎng)上找),Lean大神的源碼是根據(jù)原版OpenWrt項(xiàng)目,整合優(yōu)化了很多適合國內(nèi)使用的插件,可根據(jù)自己需求編譯進(jìn)自己的固件。

2、注意事項(xiàng)

1)、不要用 root 用戶進(jìn)行編譯!?。?/p>

2)、國內(nèi)用戶編譯前最好準(zhǔn)備好梯子

3)、默認(rèn)登陸IP 192.168.1.1 密碼 password

二、首次編譯:

1、準(zhǔn)備工作

已經(jīng)在VMware下用Ubuntu編譯自己的Openwrt——①搭建好需要的環(huán)境,包括虛擬機(jī)裝好 Ubuntu 20.04 LTS x64。

2、更新組件

打開終端(ctrl+alt+t)輸入

輸入代碼:sudo apt-get update

3、下載安裝編譯環(huán)境

輸入代碼:sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync

顯示this may take some time…done就是部署完成了

4、拉取源代碼

輸入代碼:git clone (openwrt的源碼,注意空格)

如果沒有安裝git,執(zhí)行此命令會(huì)報(bào)錯(cuò),請輸入代碼apt install -y git或者輸入代碼sudo apt-get install git進(jìn)行安裝。

5、進(jìn)入源碼目錄

輸入代碼:cd lede

6、添加部分插件

添加部分插件源,以添加Helloword插件為例,不需要的可跳過這步。

6.1、修改lede目錄下feeds默認(rèn)配置

輸入代碼:vi feeds.conf.default

6.2、追加源地址

輸入代碼:src-git helloworld (hellowrld插件地址,注意空格)

按i進(jìn)行編譯,拷貝進(jìn)去后esc退出編譯,注意前面沒有#號(hào),輸入:wq回車退出 *前面沒有#為可執(zhí)行,前面有 #為不可執(zhí)行。

6.3、刪除舊配置

輸入代碼:rm -rf ./tmp && rm -rf .config

6.4、清理 feeds

輸入代碼:./scripts/feeds clean

7、更新Feeds

輸入代碼:./scripts/feeds update -a

8、安裝Feeds

輸入代碼:./scripts/feeds install -a

9、進(jìn)入編譯配置菜單

輸入代碼:make menuconfig

注意窗口大小,如果有報(bào)錯(cuò),大概率是因?yàn)槟愕拇翱谔。簏c(diǎn),不然不夠顯示編譯窗口的。

9.1、進(jìn)入編輯器

9.2、固件空間設(shè)置

編譯豐富插件時(shí),建議修改下面兩項(xiàng)默認(rèn)大小,留足插件空間。( x86/64 )!??!

進(jìn)入 Target Images

Target Images ---> (16) Kernel partition size (in MB) 默認(rèn)是 (16) 建議修改 (256)

Target Images ---> (160) Root filesystem partition size (in MB) 默認(rèn)是 (160) 建議修改 (512)

9.3、支持ipv6

進(jìn)入Extra packages

進(jìn)入 Extra packages —— ipv6helper

9.4、LuCI編譯插件(重點(diǎn))

選擇LuCI目錄

選擇Applications選擇插件

Applications 目錄下按照需要配置插件,可參照恩山OpenWrt 編譯 LuCI -> Applications 添加插件應(yīng)用說明-L大這篇文章選擇插件。

選項(xiàng)操作:使用空格鍵選擇: * 代表編入固件,M 表示編譯成模塊或者IPK包,空 不編譯 。

10、下載dl庫(速度很慢,需耐心等待)

輸入代碼:make -j8 download V=s

11、開始編譯

輸入代碼: make -j1 V=s

-j1 后面是線程數(shù)。第一次編譯推薦用單線程以后可以使用make -j$(($(nproc) + 1)) V=s。

編譯完成

編譯完成后文件存在根目錄lede-bin-targets-x86-64文件夾內(nèi)。

總結(jié)

由于網(wǎng)絡(luò)原因我單線程編譯了4個(gè)小時(shí),正常應(yīng)該在2.5-3個(gè)小時(shí)編譯完成,二次編譯使用命令make -j$(($(nproc) + 1)) V=s ,可在20分鐘左右完成編譯,二次編譯詳情可關(guān)注下一篇文章。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容