在Ubantu虛擬機上編譯OpenWrt系統

一、下載OpenWrt源碼

git clone https://github.com/openwrt/openwrt.git         #這個是OpenWrt官方提供的最新LEDE版本,內核支持到4.14.x
git clone https://github.com/openwrt/chaos_calmer.git    #這個是OpenWrt維護的chaos_calmer版本,一般叫15版本,內核支持到3.18.x

可以選擇去OpenWrt的官方github源去選擇下載你需要的源碼:https://github.com/openwrt

*需要注意下載的源碼和你需要編譯的OpenWrt所需功能需要版本匹配,不然會有一大堆問題。

*補充:git openwrt源碼的目錄要更改權限爲777

chmod 777 #openwrt的目錄

二、在Ubantu下搭建編譯環境

sudo apt-get update     #安裝環境包之前先Update
sudo apt-get install libtool texinfo sharutils subversion libssl-dev autoconf automake gcc-multilib bison screen gcc g++ binutils patch bzip2 flex make gettext unzip libc6 git-core git ncurses-term build-essential libncurses5-dev zlib1g-dev gawk quilt asciidoc libz-dev zlib-bin lib32z1-dev 

這裏可以選擇一個一個包單獨下載,可以檢查下載的情況,減少出錯的可能性。

三、通過feeds添加OpenWrt的功能擴展包

3.1 看看有哪些擴展包包含在feeds裏面:

gedit feeds.conf.default

3.2 如果需要用到某些功能,可以通過feeds來添加,fees功能超級強大。以後會用到,現在先不進行操作。

3.3 將feeds.conf.default改名爲feeds.conf:

cp feeds.conf.default feeds.conf
3.4 更新擴展:
./scripts/feeds update -a
3.5 安裝擴展:
./scripts/feeds install -a

四、配置編譯選項

這是比較關鍵的一步,可以選擇你需要用到功能模塊。

4.1 進入功能模塊選擇界面:

make menuconfig
4.2 根據自己路由器的主板CPU情況,選擇目標機器:(這裏以學生黨最普遍的斐訊K2爲例子)

如果不清楚路由器的主板型號,可以百度查,有或者鏈接上路由器之後,通過SSH查看:

cat /proc/cpuinfo
4.3 對於開發者,如果需要SDK包,可以選擇Build the OpenWrt SDK,然後在bin/targets/ramips/mt7620裏就會生成SDK
4.4 選擇Luci界面
4.5 添加LuCI的中文界面

Luci→Modules→Translations→Chinese(zh-cn)

4.6 添加中文支持

Kernel Modules→Native Language Support→kmod-nls-utf8

4.7 注意

一開始學習編譯的時候,不推薦選擇太多,知道這個邏輯就可以了。等以後需要真正結合具體功能的時候,在進行添加選擇就可以了。

五、編譯

make V=s

這需要漫長的等待,因爲需要下載很多的dl包。如果你以後會使用相同的openwrt源代碼進行編譯,推薦把dl文件夾備份一下,以後就不用等待下載時間了。

但是不同版本的OpenWrt使用的dl包是不一樣的,不要混爲一談。

六、編譯結果

編譯的結果都會放在bin文件夾裏面,在裏面找就可以了。現在一般是:bin/targets/ramips/mt7620

裏面可能會有很多.bin固件文件,openwrt-ramips-mt7620-psg1218a-squashfs-sysupgrade.bin纔是我們需要拿到的。

七、重新編譯

make clean

這個命令會保存dl文件和.config文件。如果需要全部清除,請用:

make distclean 

但是用這個命令之前,最好把dl文件轉移到其他地方留着備用。而且這個命令的特點是會更換.feeds。

八、結束

做到這一步,你就已經完全結束了,可以拿這個固件去燒到你的路由器上面去了。怎麼燒?如果你還沒學會怎麼燒,應該不會查到這篇文章的。

刷固件教程:https://blog.csdn.net/H845165367/article/details/78808911

按照這個教程去刷完Breed,你就可以隨意用你編譯出來的固件了,也不怕變磚。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章