|
本帖最后由 99010 于 2022-12-6 21:47 编辑
搭建环境
参考https://openwrt.org/docs/guide-d ... install-buildsystem
下载源码并指定版本
- git clone https://github.com/openwrt/openwrt.git
- cd openwrt
- git checkout v21.02.3
复制代码
获取组件- ./scripts/feeds update -a
- ./scripts/feeds install -a
复制代码
找份硬件相似机型的dts修修改改,生成一份target/linux/ramips/dts/mt7621_jdcloud_re-sp-01b.dts文件,大概内容如下:
- // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
- /dts-v1/;
- #include "mt7621.dtsi"
- #include <dt-bindings/gpio/gpio.h>
- #include <dt-bindings/input/input.h>
- / {
- compatible = "jdcloud,re-sp-01b", "mediatek,mt7621-soc";
- model = "JDCloud RE-SP-01B";
- aliases {
- led-boot = &led_red;
- led-failsafe = &led_red;
- led-running = &led_green;
- led-upgrade = &led_blue;
- label-mac-device = &gmac0;
- };
- chosen {
- bootargs = "console=ttyS0,115200";
- };
- keys {
- compatible = "gpio-keys";
- reset {
- label = "reset";
- gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_RESTART>;
- };
- };
- leds {
- compatible = "gpio-leds";
- led_red: red {
- label = "red:sys";
- gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
- panic-indicator;
- };
- led_green: green {
- label = "green:sys";
- gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
- };
- led_blue: blue {
- label = "blue:sys";
- gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
- };
- };
- };
- &sdhci {
- status = "okay";
- };
- &spi0 {
- status = "okay";
- flash@0 {
- compatible = "jedec,spi-nor";
- reg = <0>;
- spi-max-frequency = <45000000>;
- broken-flash-reset;
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
- partition@0 {
- label = "u-boot";
- reg = <0x0 0x30000>;
- read-only;
- };
- partition@30000 {
- label = "u-boot-env";
- reg = <0x30000 0x10000>;
- read-only;
- };
- factory: partition@40000 {
- label = "factory";
- reg = <0x40000 0x10000>;
- read-only;
- };
- partition@50000 {
- compatible = "denx,uimage";
- label = "firmware";
- reg = <0x50000 0x1fb0000>;
- };
- };
- };
- };
- &gmac0 {
- mtd-mac-address = <&factory 0xe000>;
- };
- &switch0 {
- ports {
- port@0 {
- status = "okay";
- label = "wan";
- mtd-mac-address = <&factory 0xe000>;
- mtd-mac-address-increment = <1>;
- };
- port@1 {
- status = "okay";
- label = "lan1";
- };
- port@2 {
- status = "okay";
- label = "lan2";
- };
- };
- };
- &pcie {
- status = "okay";
- };
- &pcie0 {
- wifi@0,0 {
- compatible = "mediatek,mt76";
- reg = <0x0000 0 0 0 0>;
- mtd-mac-address = <&factory 0xe000>;
- mtd-mac-address-increment = <2>;
- mediatek,mtd-eeprom = <&factory 0x0000>;
- ieee80211-freq-limit = <2400000 2500000>;
- };
- };
- &pcie1 {
- wifi@0,0 {
- compatible = "mediatek,mt76";
- reg = <0x0000 0 0 0 0>;
- mtd-mac-address = <&factory 0xe000>;
- mtd-mac-address-increment = <3>;
- mediatek,mtd-eeprom = <&factory 0x8000>;
- ieee80211-freq-limit = <5000000 6000000>;
- };
- };
- &state_default {
- gpio {
- groups = "uart2", "uart3", "wdt";
- function = "gpio";
- };
- };
复制代码
修改target/linux/ramips/image/mt7621.mk,在后面添加如下内容:
- define Device/jdcloud_re-sp-01b
- $(Device/dsa-migration)
- $(Device/uimage-lzma-loader)
- IMAGE_SIZE := 32448k
- DEVICE_VENDOR := JDCloud
- DEVICE_MODEL := RE-SP-01B
- DEVICE_PACKAGES := kmod-fs-ext4 kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware kmod-sdhci-mt7620 kmod-usb3
- endef
- TARGET_DEVICES += jdcloud_re-sp-01b
复制代码
修改target/linux/ramips/mt7621/base-files/etc/board.d/02_network文件,大概在58行左右添加如下内容:
- jdcloud,re-sp-01b)
- ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
- ;;
复制代码
进入编译组件包菜单,选择新增加的机型,并选择luci组件(不建议选太多组件,第一次编译有个基本功能即可)
开始编译(网络环境良好的可以-j多线程编译,否则建议单线程编译)- make download V=99 -j4
- make V=99 -j4
复制代码 小技巧:如果在添加新机型之前有过编译其他机型,建议在运行make menuconfig之前执行- make clean
- rm -rf tmp
- mv .config config.xxxxx
复制代码
手上刚好有个全新的32M 闪存,用编程器刷好breed再焊到机子上。登陆breed界面,先刷入备份的原厂eeprom,mac项填入lan的mac即可,再刷入编译出来的固件,运行正常。
镜像生成器,老规矩,回复后下载
链接:https://share.weiyun.com/44NvaeZL 密码:ev39bm
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|