openwrt-mirror/package/boot/uboot-envtools/files
Chen Minqiang 18bea173a6 mediatek: add alternative stock layout for Xiaomi Redmi Router AX6000
In this implementation, the flash partition layout is adjusted to avoid
modifying the uboot environment of mtdparts. This ensures that the 30M
ubi_kernel partition remains aligned with the stock ubi partition, and
the kernel volume is placed in it. This allows the stock uboot to boot
from it without changing the mtdparts, which is useful for reverting back
to the stock firmware using Xiaomi Firmware Tools. In actual testing,
modifying mtdparts has been found to break Xiaomi Firmware Tools.

1. use ARTIFACTS to generate initramfs-factory.ubi for easy installation.
2. The NAND flash layout is changed to allow for reverting back to the
   stock firmware.
3. Before performing sysupgrade, do some cleanup in platform_pre_upgrade
   to ensure a clean installation of OpenWRT.
4. Setup the uboot env to ensure that the system always boot, which can
   be helpful for users who may forget to do this before sysupgrade in
   the initramfs.

New flash instructions:
1. Gain ssh access. Please refer to:
   https://openwrt.org/toh/xiaomi/redmi_ax6000#installation)

2. Check which system current u-boot is loading from:
   COMMAND: `cat /proc/cmdline`
   sample OUTPUT: `console=ttyS0,115200n1 loglevel=8 firmware=1 uart_en=1`
   if firmware=1, current system is ubi1
   if firmware=0, current system is ubi0

3. Setup nvram and write the firmware:
   If the current system is ubi1, please set it up so that the next time
   it will boot from ubi, and write the firmware to ubi:
```
nvram set boot_wait=on
nvram set uart_en=1
nvram set flag_boot_rootfs=0
nvram set flag_last_success=0
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit
ubiformat /dev/mtd8 -y -f /tmp/initramfs-factory.ubi
```
   If the current system is ubi, please set it up so that the next time
   it will boot from ubi1, and write the firmware to ubi1:
```
nvram set boot_wait=on
nvram set uart_en=1
nvram set flag_boot_rootfs=1
nvram set flag_last_success=1
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit
ubiformat /dev/mtd9 -y -f /tmp/initramfs-factory.ubi
```

4. After rebooting, the system should now boot into the openwrt initramfs.
   Flash the squashfs-sysupgrade.bin via using ssh or luci.
```
sysupgrade -n /tmp/squashfs-sysupgrade.bin
```
Done.

For existing users of the Redmi AX6000 running OpenWrt, here are the steps to
switch to this new layout:

1. Flash initramfs-factory.ubi
```
mtd -r -e ubi write /tmp/initramfs-factory.ubi ubi
```

2. After rebooting, the system will boot into the new openwrt-initramfs.
Log in and perform a sysupgrade to complete the process.
```
sysupgrade -n /tmp/squashfs-sysupgrade.bin
```

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-12-17 15:04:16 +08: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 mediatek: add alternative stock layout for Xiaomi Redmi Router AX6000 2022-12-17 15:04:16 +08: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 ramips: add support for Etisalat S3 2022-12-13 23:06:20 +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