openwrt/package/boot/uboot-envtools/files
Furong Xu 1613e3340b uboot-mediatek: add support for Xiaomi Redmi Router AX6000
U-Boot flash instructions:

0. OpenWrt U-Boot does not support stock layout, it comes with recovery
boot support, automatic tftp recovery and never blocks UART.

A new flash layout is introduced, we call it OpenWrt U-Boot layout,
stock flash layout and the old OpenWrt layout are not supported.

During the whole flash procedure, please do not reboot or power off
unless requested explicitly, or you will break your device.

1. Your device should already running OpenWrt.
If not, follow the instructions to flash OpenWrt:
https://github.com/openwrt/openwrt/pull/11115

2. Backup BL2 Nvram Bdata Factory and FIP in case you break something or
in case you want to go back to stock firmware one day.

cat /dev/mtdblock0 > /tmp/BL2.bin
cat /dev/mtdblock1 > /tmp/Nvram.bin
cat /dev/mtdblock2 > /tmp/Bdata.bin
cat /dev/mtdblock3 > /tmp/Factory.bin
cat /dev/mtdblock4 > /tmp/FIP.bin

And save all whose bin files to somewhere safe.

Then backup your configurations, since ubiformat for entire mtd device is
required to create new ubootenv volume for OpenWrt U-Boot.

3. Run the following cmd to boot into an initramfs with the new OpenWrt
U-Boot layout that expand ubi partion to the end of flash:

ubiformat /dev/mtd7 -y -f /tmp/ax6000-ubootmod-initramfs-factory.ubi

4. After boot into initramfs, check mtd partion info.
The ubi partion should be mtd5

root@OpenWrt:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 BL2
mtd1: 00040000 00020000 Nvram
mtd2: 00040000 00020000 Bdata
mtd3: 00200000 00020000 Factory
mtd4: 00200000 00020000 FIP
mtd5: 07a80000 00020000 ubi

5. Load kmod-mtd-rw to temporarily make the bootloader partions writable.
The kmod-mtd-rw is from the feeds, it is not packed in initramfs-factory
by default.

To install kmod-mtd-rw via opkg:

opkg update && opkg install kmod-mtd-rw

Or, download kmod-mtd-rw.ipk from OpenWrt server and install it manually
e.g:
https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/kmods/
Select your OpenWrt release version and kernel version accordingly.

Load kmod-mtd-rw:
insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1

6. Run the following cmd to clean all pending crash dumps in pstore,
or OpenWrt U-Boot may boot into NAND recovery or tftp recovery.

rm -f /sys/fs/pstore/*

7. Format ubi and create new ubootenv volume:

ubidetach -p /dev/mtd5; ubiformat /dev/mtd5 -y; ubiattach -p /dev/mtd5
ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB

8. This is optional. Skip this if you do not want to have NAND recovery
boot feature offered by OpenWrt U-Boot. Don't worry, you always have
automatic tftp recovery feature enabled.

ubimkvol /dev/ubi0 -n 2 -N recovery -s 10MiB
ubiupdatevol /dev/ubi0_2 /tmp/ax6000-ubootmod-initramfs-recovery.itb

9. Now, flash new U-Boot. Bye-bye ugly stock U-Boot.

mtd write /tmp/ax6000-ubootmod-preloader.bin BL2
mtd write /tmp/ax6000-ubootmod-bl31-uboot.fip FIP

10. Flash the squashfs-sysupgrade.bin as usual:

sysupgrade -n /tmp/ax6000-ubootmod-squashfs-sysupgrade.itb

Enjoy!

Signed-off-by: Furong Xu <xfr@outlook.com>
2022-12-29 03:04:42 +00:00
..
apm821xx apm821xx: MBL: make mtd chip work 2022-06-19 12:31:02 +02:00
ath79 ath79: add support for Senao Engenius EAP1750H 2022-11-27 13:18:29 +01:00
cns3xxx uboot-envtools: drop shebang from uci-defaults and lib files 2021-04-10 15:18:14 +02:00
fw_printsys uboot-envtools: add wrapper scripts for alternate config 2021-04-08 09:20:59 +02:00
fw_setsys uboot-envtools: add wrapper scripts for alternate config 2021-04-08 09:20:59 +02:00
imx_cortexa7 uboot-envtools: imx: cortexa7: add TechNexion PICO-PI-IMX7D 2022-07-11 14:28:03 +02:00
imx_cortexa9 uboot-envtools: move imx to imx_cortexa9 2021-11-03 12:45:40 +01:00
ipq40xx ipq40xx: add support for GL.iNet GL-A1300 2022-11-09 23:34:37 +01:00
ipq806x uboot-envtools: Fix format of autogenerated sectors 2022-11-01 18:04:38 +01:00
kirkwood kirkwood: add support for NETGEAR ReadyNAS Duo v2 2021-12-29 20:35:57 +01:00
lantiq uboot-envtools: drop shebang from uci-defaults and lib files 2021-04-10 15:18:14 +02:00
layerscape uboot-envtools: layerscape: drop redundant space after case keywords 2021-04-10 15:18:41 +02:00
mediatek_filogic uboot-mediatek: add support for Xiaomi Redmi Router AX6000 2022-12-29 03:04:42 +00:00
mediatek_mt7622 uboot-envtools: mediatek/mt7622: don't rely on mapped rootfs 2022-10-19 20:05:21 +01:00
mediatek_mt7623 uboot-envtools: add configuration for UniElec U7623 board 2022-01-23 20:20:42 +00:00
mediatek_mt7629 mediatek: add support for ipTIME A6004MX Add basic support for ipTIME A6004MX. 2022-09-12 01:43:49 +01:00
mpc85xx uboot-envtools: add WS-AP3825i config 2022-04-26 00:57:22 +02:00
mvebu mvebu: add Methode euroDPU support 2022-06-29 13:08:59 +02:00
mxs uboot-envtools: drop shebang from uci-defaults and lib files 2021-04-10 15:18:14 +02:00
oxnas uboot-envtools: oxnas: fix wrong eraseblock size for shuttle,kd20 2022-03-21 20:16:16 +00:00
pistachio uboot-envtools: drop shebang from uci-defaults and lib files 2021-04-10 15:18:14 +02:00
qoriq qoriq: add support for WatchGuard Firebox M300 2021-12-21 21:37:46 +02:00
ramips uboot-envtools: add support for ramips Asus RX-AX53U 2022-12-28 14:04:58 +01:00
realtek realtek: add support for TP-Link SG2210P 2022-09-13 09:22:26 +02:00
uboot-envtools.sh uboot-envtools: add support for multiple config partitions 2021-04-08 09:20:59 +02:00