取得解鎖 bl2 分區的 sysupgrade 固件

建立 OpenWRT 環境

  1. 安裝編譯環境。

    ### Prerequisites for buildroot
    sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev
    sudo apt-get install gawk gcc-multilib flex git-core gettext libssl-dev
    
    ### Prerequisite for master on Ubuntu as master needs python3 libs
    sudo apt-get install python3-distutils
    
    ### Prerequisite for 18.06 and 19.07 on Ubuntu 17.10+ as it has python3 by default
    # sudo apt-get install python
    
  2. 下載 OpenWRT 原始碼。

    git clone -b v23.05.3 --single-branch --depth=1 <https://github.com/openwrt/openwrt.git>
    cd openwrt
    

修改 vermagic

  1. 取得 mediatek/filogic 架構的 vermagic 值,23.05.3 版本為 83850846aeb31a278a010941bbebf326

    curl -s <https://downloads.openwrt.org/releases/23.05.3/targets/mediatek/filogic/openwrt-23.05.3-mediatek-filogic.manifest> | grep kernel | awk '{print $3}' | awk -F- '{print $3}'
    

    Untitled.png

  2. 將取得的值填入設定檔中

    echo '83850846aeb31a278a010941bbebf326' > vermagic
    

修改 Bl2 分區讀寫設定

  1. 進入設定檔。

    nano target/linux/mediatek/dts/mt7986a-tplink-tl-xdr-common.dtsi +178
    
  2. 搜尋 label = "bl2";,刪除 read-only;,結果如下。

    螢幕擷取畫面 2024-04-20 030938.png

修改 Kernel 設定文件

  1. 進入設定檔。

    nano include/kernel-defaults.mk +121
    
  2. 依照以下資訊修改。

    # 搜尋並註釋掉這一行。
    grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | $(MKHASH) md5 > $(LINUX_DIR)/.vermagic
    # 然後新增以下內容
    cp $(TOPDIR)/vermagic $(LINUX_DIR)/.vermagic
    
  3. 修改結果如下。

    螢幕擷取畫面 2024-04-20 021830.png

修改時區

  1. 進入設定檔。

    nano package/base-files/files/bin/config_generate +315
    
  2. 依照以下資訊修改。

    # 修改時區為 CST-8
    set system.@system[-1].timezone='CST-8'
    # 然後新增以下內容
    set system.@system[-1].zonename='Asia/Taipei'
    
  3. 修改結果如下。

    螢幕擷取畫面 2024-04-20 022407.png

設定 menuconfig,並開始編譯