hackpascal/mt7621-boot-spi-nand

H大您好,小米路由3G在使用breed 1.2时遇到问题

Opened this issue · 0 comments

设备:小米路由 3G V1。
固件:OpenWrt 22.03 最新快照(08/14)自编译。
Kernel1 映像 2.7MB,rootfs0 映像 23MB。
BREED版本:1.2。

步骤:
我在 breed 1.1 中选择“布局1”,刷入官方 22.03 rc6 的 initramfs 映像,正常启动后登录 SSH 后台,
使用 ubiformat /dev/mtd9 格式化 ubi 分区,随后使用 sysupgrade -F /自编译映像.bin 等重启后直接进入 breed,随后在 breed 中更新 breed 到 1.2 版本。

然后我使用 telnet 登录 breed 后台,使用命令:

flash erase 0x200000 0x400000
flash erase 0x600000 0x400000
wget 下载 kernel 1
flash write 0x200000 0x80001000 0x400000
flash write 0x600000 0x80001000 0x400000

刷写 kernel。

问题:
直接重启无法正常启动,表现为蓝色 LED 常亮,必须手动进入 breed 后登录 telnet 后台,使用 boot flash 0x600000 或 sfp autoboot 才能正常启动。直接使用命令 autoboot 会提示 Unable to locate firmware。我看 sfp info xiaomi_r3g_openwrt 中分区 label 写的是 kernel1,但是 openwrt 官方会将 kernel1 分区更名为 kernel,kernel0 分区更名为 kernel_stock,为了排除是因为固件中分区 label 为 kernel 导致 breed 找不到 label 是 kernel1 的分区造成无法启动,我特地将固件中的 kernel 修改为 kernel1,随后按上述步骤刷入,但仍然无法正常启动。

补充:

root@[OpenWrt:/tmp#](http://openwrt/tmp#) cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00020000 "Bootloader"
mtd1: 00040000 00020000 "Config"
mtd2: 00040000 00020000 "Bdata"
mtd3: 00040000 00020000 "factory"
mtd4: 00040000 00020000 "crash"
mtd5: 00040000 00020000 "crash_syslog"
mtd6: 00040000 00020000 "reserved0"
mtd7: 00400000 00020000 "kernel_stock"
mtd8: 00400000 00020000 "kernel"
mtd9: 07580000 00020000 "ubi"