編譯屬於自己的openwrt固件

以 Lean's OpenWrt source 為例

注意:

  1. 不要用 root 用戶 git 和編譯!!!
  2. 國內用戶編譯前最好準備好梯子
  3. 默認登陸 IP 192.168.1.1, 密碼 pass­word
  4. 準備編譯系統

推薦使用的編譯系統環境:Ubuntu 18 LTS x64

初次編譯:


  • 更新編譯系統
<code>sudo apt-get update/<code>
  • 配置編譯環境
<code>sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 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/<code>
  • 下載 lede 源碼
<code>git clone https://github.com/coolsnowwolf/lede/<code>
  • 進入 lede 目錄
<code>cd lede/<code>
  • 更新軟件包
<code>./scripts/feeds update -a
./scripts/feeds install -a/<code>
  • 調整固件參數
<code>make menuconfig/<code>
  • 下載 dl 庫(國內請儘量全局科學上網)
<code>make download V=s/<code>
  • 開始編譯固件(-j1 後面是線程數,第一次編譯推薦用單線程)
<code>make -j1 V=s/<code>


二次編譯:


  • 進入 lede 目錄
<code>cd lede/<code>
  • 更新 lede 源碼
<code>git pull/<code>
  • 更新 FEEDS
<code>./scripts/feeds update -a && ./scripts/feeds install -a/<code>
  • 補全配置 *
<code>make defconfig/<code>
  • 下載源碼
<code>make -j8 download/<code>
  • 開始編譯
<code>make -j$(($(nproc) + 1)) V=s/<code>



如需重新配置*

  • 清除編譯配置和緩存
<code>rm -rf ./tmp && rm -rf .config/<code>
  • 進入配置菜單
<code>make menuconfig/<code>
編譯屬於自己的openwrt固件

  • 開始編譯
<code>make -j$(($(nproc) + 1)) V=s/<code>

編譯完成後輸出路徑:/lede/bin/targets


進階玩法

生成差異配置,可用於 GitHub Actions 雲編譯 OpenWrt

<code>./scripts/diffconfig.sh > config.seed/<code>


分享到:


相關文章: