环境搭建
本文使用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目录下
