![](https://file.elecfans.com/web2/M00/3D/F0/poYBAGJeUUOAeQ2EAAFFveW8K-s179.jpg)
1 什么是 Openwrt
配套資料在網盤資料的“iTOP-i.MX6 系列開發板(6Q,6D,6QPLUS)\4_iTOP-i.MX6 開發板資料匯總(不含光盤資料)\12_iTOP-i.MX6 開發板 buildroot 系統 OTA 升級” Cisco/Linksys 在 2003 年發布了 WRT54G 這款無線路由器,同年有人發現它的 IOS 是基于 Linux 的,然而Linux 是基于 GPL 許可證發布的,按照該許可證 Cisco 應該把 WRT54G 的 IOS 的源代碼公開。
2003 年 3 月,Cisco 迫于公眾壓力公開了 WRT54G 的源代碼。此后就有了一些基于 Cisco 源碼的第三方路由器固件,OpenWrt 就 是其中的一個。
OpenWrt 的特點:
可擴展性好,可以在線安裝您所需要的功能,目前有 1000 多個功能包可選;
是一臺完整的 Linux 工作站,文件系統可讀可寫,便于開發者學習和實踐;
2 為什么要使用軟路由?
首先家里面的路由器功能有限,很多功能不支持,就比如外網然后家中普通路由器支持一定的功能,但是性能有限,開啟復雜功能之后原本路由器的職責又承擔不了了,會出現丟包斷流等現象,這時候需要別的硬件來完成高層的工作,減輕路由器的負擔,保證家庭網絡的運行的流暢穩定。
我們一般家庭的網絡拓撲圖,如下圖所示:
![](https://file.elecfans.com/web2/M00/3D/F0/poYBAGJeUUOAG_Q-AABHbtsZtiQ372.jpg)
根據上述圖片,我們已經知道了家庭網絡的大致結構,那么我們現在就需要在中間設置一個代理,把本來從用戶走向路由器的流量攔下來,經過這個代理的“處理”之后,再直接給家庭路由器發送出去即可,
這樣家庭路由器只需要關注傳統的路由交換功能,而不需要處理傳輸層或者應用層的數據了,這就保證了家庭路由器的低負載和網絡功能的增強。于是,我們提出來的一種新的網絡結構,其物理結構如下:
![](https://file.elecfans.com/web2/M00/3D/F5/pYYBAGJeUUOAP8j5AABP2YPINV8844.jpg)
實際的數據流向如下圖所示:
![](https://file.elecfans.com/web2/M00/3D/F5/pYYBAGJeUUOAGx5hAABSy1qSAgk132.jpg)
叫旁路由的原因其實就是因為他就掛在一旁啦,是不是很形象呢?
3 openwrt 的編譯
本章節參考 lede 大神的教程進行編譯,具體鏈接為 https://github.com/coolsnowwolf/lede
下面是幾點注意事項:
1.不要用 root 用戶進行編譯!!!
2.請全程使用
3.默認登陸 IP 192.168.1.1 密碼 password
對于第一次編譯,迅為已經編譯完成,存放路徑為“
iTOP-i.MX6 系列開發板(6Q,6D,6QPLUS)\4_iTOP-i.MX6開發板資料匯總(不含光盤資料)\12_iTOP-i.MX6 開發板 openwrt 文件系統\03_編譯好的源碼”。
編譯環境為 Ubuntu 64bit,推薦 Ubuntu 20.04 LTS x64 首先進入終端,輸入命令,使用以下命令搭建編譯環境
![](https://file.elecfans.com/web2/M00/3D/F0/poYBAGJeUUOAPNRFAAByhSwdihg644.jpg)
編譯環境搭完成后,使用命令 git clone https://github.com/coolsnowwolf/lede,對 lede 大神的源碼進行克隆拉取,拉取完成會在當前目錄下產生名字為 lede 的文件夾如下圖所示:
![](https://file.elecfans.com/web2/M00/3D/F5/pYYBAGJeUUSAYs2qAAAk_hyKi9Y244.jpg)
或者將迅為已經下載好的源碼拷貝到 ubuntu 虛擬機上,使用命令對其解壓縮也也可以實現,源碼存放 路徑為“iTOP-i.MX6 系列開發板(6Q,6D,6QPLUS)\4_iTOP-i.MX6 開發板資料匯總(不含光盤資料) \12_iTOP-i.MX6 開發板 openwrt 文件系統\01_編譯所需源碼”
然后使用命令“cd lede”進入該文件夾,
作者這里為已經編譯完成的,具體文件可能會有區別,拉取成功即可。
使用下列命令進行更新擴展:
./scripts/feeds update -a
擴展時間略長請耐心等待,擴展過程如下圖所示:
![](https://file.elecfans.com/web2/M00/3D/F5/pYYBAGJeUUSAPOKYAACsPWF-IcQ028.jpg)
更新擴展完成之后繼續輸入命令
./scripts/feeds install -a
進行安裝擴展。安裝完成之后我們的環境就搭建完成了。
安裝擴展完成后。輸入命令“make menuconfig”,進入可視化界面進行配置,如下圖所示:
![](https://file.elecfans.com/web2/M00/3D/F0/poYBAGJeUUSAUgTXAACv9Pp1wQg811.jpg)
點擊回車進入首選項 Target System,如下圖所示:
![](https://file.elecfans.com/web2/M00/3D/F0/poYBAGJeUUSAYRfiAACExhohd64505.jpg)
對相應的平臺架構進行選擇,我們選擇 i.MX 6,
選擇后,功能頁面如下圖所示:
![](https://file.elecfans.com/web2/M00/3D/F5/pYYBAGJeUUSATdrZAACxNAMl6f8115.jpg)
其他的地方不需要修改,通過 save 進行保存,
通過 Exit 進行退出,
回到源碼目錄后,使用命令
make -j8 download V=s
下載 dl 庫,
輸入命令
make -j1 V=s
即可開始編譯你要的固件了。
編譯時間取決于自身機器的性能,大約五個小時左右。編譯完成如下圖所示:
![](https://file.elecfans.com/web2/M00/3D/F5/pYYBAGJeUUWAU3bYAACxUJHnXrI831.jpg)
4 openwrt 文件系統的燒寫
編譯完成后,使用命令
cd bin/targets/imx6/generic
進入 generic 目錄,在這里我們只用最后生成的文件系統,如下圖所示:
![](https://file.elecfans.com/web2/M00/3D/F5/pYYBAGJeUUSAIj-cAAA6xdcgjRs054.jpg)
然后拷貝該文件系統到任意目錄(看個人,自己怎樣方便怎樣來),作者拷貝到了/home/topeet/rootfs 目錄下,
使用命令
tar -vxf openwrt-imx6-default-rootfs.tar.gz
對其進行解壓縮,
然后使用命令
rm -rf openwrt-imx6-default-rootfs.tar.gz
移除原壓縮文件,如下圖所示:
![](https://file.elecfans.com/web2/M00/3D/F0/poYBAGJeUUSAXQwNAABFKi6cPAs958.jpg)
然后使用命令
tar -zcvf rootfs.tgz bin etc mnt proc root sys usr www dev lib overlay rom sbin tmp var
對文件進行打包處理,壓縮成我們能燒寫的文件格式。
如下圖所示,可以看到我們所需要的壓縮文件已經生成了
![](https://file.elecfans.com/web2/M00/3D/F0/poYBAGJeUUSAR1SAAAAqwV92Ksk866.jpg)
將該壓縮文件燒寫進我們的開發板。
燒寫完成之后正常上電啟動,進入 uboot 模式,來設置啟動方式,由于我們燒寫的是 Linux 系統,所以
我們使用以下命令來設置 Linux 啟動
setenv bootsystem qt
使用命令來保存。
saveenv
最后使用命令重啟,開發板重啟就可以正常啟動了,正常啟動如下圖所示:
![](https://file.elecfans.com/web2/M00/3D/F5/pYYBAGJeUUWADJECAAA0SaBN2rs824.jpg)
至此我們的文件系統就燒寫成功了。
-
開發板
+關注
關注
25文章
5121瀏覽量
98189
發布評論請先 登錄
相關推薦
i.MX Linux開發實戰指南—基于野火i.MX系列開發板
【米爾NXP i.MX 93開發板試用評測】05.OpenWRT的構建-構建完成和燒錄
【米爾NXP i.MX 93開發板試用評測】04.OpenWRT的構建-開始編譯
【北京迅為】iTOP-i.MX6開發板使用手冊第四部分固件編譯第十四章非設備樹Android4.4系統編譯
![【北京<b class='flag-5'>迅</b><b class='flag-5'>為</b>】iTOP-<b class='flag-5'>i.MX6</b><b class='flag-5'>開發板</b>使用手冊第四部分固件編譯第十四章非設備樹Android4.4<b class='flag-5'>系統</b>編譯](https://file1.elecfans.com/web2/M00/06/2D/wKgZombim4-AITGJAADmO3ugP4s191.png)
評論