Padavan固件編譯辦法


推薦環(huán)境: Ubuntu 18 / wsl (Ubuntu 18) / Debian 9 / Arch Linux


經(jīng)過(guò)測(cè)試,Padavan固件的編譯可在Windows 10 的 wsl (Ubuntu 18.04) 環(huán)境中進(jìn)行(受限于IO性能,編譯速度有點(diǎn)慢),推薦沒(méi)有安裝Linux的同學(xué)使用此方法進(jìn)行編譯,可以省去裝系統(tǒng)的麻煩,但是要注意C盤(pán)必須留有足夠大的剩余空間(15G+)以容納wsl

在 Windows 10 部署 wsl (Ubuntu 18.04) 環(huán)境僅需四步:

  1. 控制面板 -> 程序 -> 啟用或關(guān)閉Windows功能 -> 勾選"適用于Linux的Windows子系統(tǒng)",然后重啟電腦

    wsl.1

  2. 打開(kāi)Microsoft應(yīng)用商店,安裝 Ubuntu 18.04 LTS

    wsl.2

  3. 從開(kāi)始菜單啟動(dòng) Ubuntu 18.04,設(shè)置好用戶名和密碼

    wsl.3

  4. 在shell里依次執(zhí)行以下命令:更換成國(guó)內(nèi)鏡像源并更新所有軟件包,同時(shí)把/opt目錄權(quán)限修改成777(執(zhí)行sudo命令需要輸入上一步里設(shè)置好的密碼)

sudo sed -i 's#http://archive.ubuntu.com#https://mirrors.huaweicloud.com#' /etc/apt/sources.list
sudo sed -i 's#http://security.ubuntu.com#https://mirrors.huaweicloud.com#' /etc/apt/sources.list
sudo apt update
sudo apt upgrade
sudo chmod 777 /opt
  1. 之后按照下面的步驟進(jìn)行后續(xù)操作,在WSL環(huán)境下,需要使用sudo進(jìn)行編譯,或者使用fakeroot-tcp代替fakeroot。編譯完成后用以下命令將編譯好的固件復(fù)制到C盤(pán)根目錄:
cp -f /opt/rt-n56u/trunk/images/*.trx /mnt/c

安裝依賴包
# 對(duì)于deb系 (debian/ubuntu):
sudo apt update
sudo apt install unzip libtool-bin curl cmake gperf gawk flex bison nano xxd \
    fakeroot kmod cpio git python3-docutils gettext automake autopoint \
    texinfo build-essential help2man pkg-config zlib1g-dev libgmp3-dev \
    libmpc-dev libmpfr-dev libncurses5-dev libltdl-dev wget libc-dev-bin

# 對(duì)于pacman系 (ArchLinux/manjaro):
sudo pacman -Syu --needed git base-devel cmake gperf ncurses libmpc \
        gmp python-docutils vim rpcsvc-proto fakeroot cpio help2man
拉取源碼
git clone --depth=1 https://e.coding.net/hanwckf/rt-n56u/padavan.git /opt/rt-n56u
#git clone --depth=1 https://github.com/hanwckf/rt-n56u.git /opt/rt-n56u
準(zhǔn)備工具鏈
cd /opt/rt-n56u/toolchain-mipsel

# (推薦)使用腳本下載預(yù)編譯的工具鏈:
sh dl_toolchain.sh

# 或者,也可以從源碼編譯工具鏈,這需要一些時(shí)間:
./clean_toolchain
./build_toolchain
(可選)修改機(jī)型配置文件
nano /opt/rt-n56u/trunk/configs/templates/PSG1218.config

如果需要啟用或者關(guān)閉某項(xiàng)功能,就將對(duì)應(yīng)的項(xiàng)目賦值成y或者n,或者在其前面加上#注釋符,每個(gè)項(xiàng)目的具體說(shuō)明請(qǐng)參考 README.md,例如:

#CONFIG_FIRMWARE_CPU_600MHZ=y  #表示不將mt7620超頻到600Mhz
CONFIG_FIRMWARE_INCLUDE_SCUTCLIENT=y  #表示包含scutclient
CONFIG_FIRMWARE_INCLUDE_RTL_SDR=n  #代表不包含rtl-sdr
開(kāi)始編譯
cd /opt/rt-n56u/trunk
# 對(duì)于WSL環(huán)境,需要使用sudo進(jìn)行編譯,或者使用fakeroot-tcp代替fakeroot
fakeroot ./build_firmware_modify PSG1218
# 腳本第一個(gè)參數(shù)為路由型號(hào),在trunk/configs/templates/中
# 編譯好的固件在trunk/images里
# 首次編譯完成后,如果需要再次編譯其它固件,需要執(zhí)行清理腳本:
./clean_tree

編譯好的.trx固件在trunk/images里,可直接在breed里刷入;在Padavan里也可以直接從webui更新固件,或者手動(dòng)將固件上傳到路由器中然后用以下命令刷入:

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

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

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