自己编译TR3000 256MB V1版OPENWRT固件

环境搭建

本文使用Debian 12系统作为编译系统,也可使用Ubuntu系统。

安装依赖

apt install build-essential libncurses-dev zlib1g-dev gawk git \
gettext libssl-dev xsltproc rsync wget unzip python3 python3-distutils

GITHUB拉去源码方式

git clone https://github.com/openwrt/openwrt.git
cd openwrt
git checkout v24.10.1

进入Openwrt目录,更新组建

./scripts/feeds update -a
./scripts/feeds install -a

加入DTS文件 target/linux/mediatek/dts/mt7981b-cudy-tr3000-256mb-v1.dts

// SPDX-License-Identifier: (GPL-2.0 OR MIT)

/dts-v1/;
#include "mt7981b-cudy-tr3000-v1.dts"

/ {
        model = "Cudy TR3000 256MB v1";
        compatible = "cudy,tr3000-256mb-v1", "mediatek,mt7981";
};

&spi0 {
        flash@0 {
                partitions {
                        partition@5c0000 {
                                label = "ubi";
                                reg = <0x5c0000 0xe600000>;
                        };
                };
        };
};

修改target/linux/mediatek/image/filogic.mk,增加如下内容

define Device/cudy_tr3000_256mb-v1
  DEVICE_VENDOR := Cudy
  DEVICE_MODEL := TR3000
  DEVICE_VARIANT := 256mb v1
  DEVICE_DTS := mt7981b-cudy-tr3000-256mb-v1
  DEVICE_DTS_DIR := ../dts
  SUPPORTED_DEVICES += R103
  UBINIZE_OPTS := -E 5
  BLOCKSIZE := 128k
  PAGESIZE := 2048
  IMAGE_SIZE := 235520k
  KERNEL_IN_UBI := 1
  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  DEVICE_PACKAGES := kmod-usb3 kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
endef
TARGET_DEVICES += cudy_tr3000_256mb-v1

修改target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface文件

- cudy,tr3000-v1|\
+ cudy,tr3000*|

修改target/linux/mediatek/filogic/base-files/etc/board.d/02_network文件

- cudy,tr3000-v1|\
+ cudy,tr3000*|

修改target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac文件

- cudy,tr3000-v1|\
+ cudy,tr3000*|

生成配置文件

make menuconfig

下载所需文件

make download V=99 -j4

开始编译,需要耐心等待数十分钟到数小时

export FORCE_UNSAFE_CONFIGURE=1
make V=99 -j4

编译完成后的镜像文件在bin/target/mediatek/filogic目录下