時(shí)間:2023-07-09|瀏覽:270
那么,OpenWRT是什么呢?OpenWRT是一種開(kāi)源軟件,可以安裝在各種低成本的小型電腦上,實(shí)現(xiàn)普通路由器所不具備的功能。除此之外,還能進(jìn)行配置、過(guò)濾、去廣告、穿透和搭建私有云等功能。
現(xiàn)在軟路由有很多種選擇,比如KoolShare、OpenWRT等不同的分支。
在構(gòu)建OpenWRT編譯環(huán)境時(shí),一般都是在Ubuntu環(huán)境下進(jìn)行。本文以在MacOS Catalina上使用Ubuntu 18.04虛擬機(jī)構(gòu)建編譯環(huán)境為例。
首先,在MacOS中安裝Parallels Desktop虛擬機(jī),然后在虛擬機(jī)中安裝Ubuntu 18.04 64位桌面版。安裝過(guò)程相對(duì)簡(jiǎn)單,需要設(shè)置用戶名、密碼、root密碼,并啟用SSH服務(wù)。
安裝好Ubuntu虛擬機(jī)后,我們將通過(guò)SSH登錄進(jìn)行后續(xù)操作,所以要先啟動(dòng)SSH服務(wù)。
開(kāi)啟SSH服務(wù)的命令如下: ``` sudo apt install openssh-server ``` 檢查SSH服務(wù)是否成功啟動(dòng): ``` ps aux | grep "ssh" ``` 如果看到了標(biāo)有sshd的IPFS礦場(chǎng),則說(shuō)明SSH服務(wù)啟動(dòng)成功。
接下來(lái),設(shè)置root密碼的命令如下: ``` sudo passwd root ``` 輸入用戶密碼后,再輸入root密碼,輸入兩遍即可。
然后,在Ubuntu中安裝Putty,在MacOS下使用Putty進(jìn)行SSH登錄: ``` sudo apt-get update ``` 以更新其他組件和依賴庫(kù)等。
接下來(lái),輸入以下命令以安裝所需的各種依賴庫(kù): ``` sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 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 swig ``` 上述命令可以一次性輸入。
至此,環(huán)境的設(shè)置基本結(jié)束。
接下來(lái)是編譯過(guò)程。以Lean的OpenWRT為例,通過(guò)以下命令將源代碼克隆到本地: ``` git clone https://github.com/coolsnowwolf/lede ``` 進(jìn)入lede目錄: ``` cd lede ``` 然后執(zhí)行以下命令更新和安裝編譯菜單: ``` ./scripts/feeds update -a ./scripts/feeds install -a make menuconfig ``` 進(jìn)入菜單界面后,根據(jù)需要進(jìn)行設(shè)置。菜單界面可能會(huì)有所不同,可以添加和配置一些應(yīng)用程序。按回車(chē)鍵進(jìn)入選項(xiàng),按Y鍵選擇,按ESC鍵返回上一級(jí)菜單,并保存退出。
完成上述操作后,執(zhí)行以下命令下載dl庫(kù): ``` make -j8 download V=s ``` 這個(gè)過(guò)程可能會(huì)非常漫長(zhǎng),需要1至2個(gè)小時(shí)的時(shí)間。
然后,開(kāi)始編譯你需要的固件。可以使用以下命令(第一次編譯建議使用單線程): ``` make -j1 V=s ``` 本套代碼保證肯定可以編譯成功,并包含了R20的所有源代碼,包括IPK文件。
編譯完成后,生成的固件將保存在指定目錄下: ``` /lede/bin/targets ``` 編譯過(guò)程非常耗時(shí),中間可能會(huì)出現(xiàn)錯(cuò)誤。一旦定制好固件,就可以刷入設(shè)備進(jìn)行試運(yùn)行了。
以上就是編譯OpenWRT的基本過(guò)程。我是騰哥,歡迎關(guān)注我的更新和資訊,我的微博是@高騰岳。