openwrt/package/boot
Mikhail Zhilkin c312295b56
mediatek: Routerich AX3000: add OpenWrt U-Boot layout
This commit adds OpenWrt U-Boot layout support for Routerich AX3000. The
aims:
1. Get open-source U-Boot;
2. Get maximum available free space in OpenWrt.

Install
-------
1. Copy OpenWrt ubootmod-bl31-uboot.fip, ubootmod-preloader.bin, to the
   /tmp folder of the router using scp.

2. Make mtd partitions backups:
   http://192.168.1.1/cgi-bin/luci/admin/system/flash -> Save mtdblock
   contents

3. Install kmod-mtd-rw:
```
opkg update && opkg install kmod-mtd-rw
```

4. Write FIP and preloader:
```
insmod mtd-rw i_want_a_brick=1
mtd unlock BL2
mtd erase BL2
mtd write /tmp/ubootmod-preloader.bin BL2
mtd unlock FIP
mtd erase FIP
mtd write /tmp/ubootmod-bl31-uboot.fip FIP
```

5. Copy OpenWrt ubootmod-initramfs-recovery.itb to the tftp server root
   with IP 192.168.1.254.

6. Reboot router:
```
reboot
```
U-Boot will automatically download from the tftp server and boot OpenWrt
initramfs system.

7. Copy OpenWrt ubootmod-squashfs-sysupgrade.itb to the /tmp dir of the
   router using scp.

8. Run sysupgrade:
```
sysupgrade -n /tmp/squashfs-sysupgrade.itb
```

Recovery
--------
1. Place OpenWrt initramfs-recovery.itb image (with original name) on the
   tftp server (IP: 192.168.1.254).
2. Press "reset" button and power on the router. After ~10 sec release the
   button.
3. Use OpenWrt initramfs system for recovery.

BL2 and FIP recovery
--------------------
Use mtk_uartboot and UART connection if BL2 or FIP in UBI is destroyed:
Link: https://github.com/981213/mtk_uartboot

Return to stock:
----------------
1. Copy partition backups (BL2.bin and FIP.bin) to the /tmp dir of the
   router using scp.

2. Install kmod-mtd-rw:
```
opkg update && opkg install kmod-mtd-rw
```

3. Restore stock U-Boot and reboot:
```
insmod mtd-rw i_want_a_brick=1
mtd unlock BL2
mtd erase BL2
mtd write /tmp/BL2.bin BL2
mtd unlock FIP
mtd erase FIP
mtd write /tmp/FIP.bin FIP
reboot
```

4. Open U-Boot web recovery, upload stock firmware image and start
   upgrade.
Link: http://192.168.1.1

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d413163832)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:33 +00:00
..
apex treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
arm-trusted-firmware-bcm63xx treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
arm-trusted-firmware-mediatek arm-trusted-firmware-mediatek: build RAM boot images for MT7622 2024-08-16 13:17:55 +01:00
arm-trusted-firmware-mvebu arm-trusted-firmware-mvebu: refresh cryptopp hash 2024-04-29 13:02:23 +02:00
arm-trusted-firmware-rockchip treewide: update contact information 2024-09-11 00:37:34 +02:00
arm-trusted-firmware-stm32 arm-trusted-firmware-stm32: add ATF for stm32 boards 2024-11-28 18:48:28 +00:00
arm-trusted-firmware-sunxi arm-trusted-firmware-sunxi: Update to 2.10 2023-12-20 10:53:48 +08:00
arm-trusted-firmware-tools arm-trusted-firmware-tools: fix build on macOS/Darwin 2023-08-12 16:45:47 +02:00
at91bootstrap at91bootstrap: update PKG_MIRROR_HASH to zstd for v3 at91bootstrap 2024-04-07 17:10:30 +02:00
fconfig treewide: unify OpenWrt hosted source via @OPENWRT 2021-02-05 12:00:24 -10:00
grub2 grub2: add EFI support for loongarch64 2024-05-04 14:14:24 +08:00
imx-bootlets imx-bootlets: Mark as nonshared to build in step 1 2024-07-30 21:42:33 +02:00
kexec-tools kexec-tools: fix multiple compile errors 2024-06-08 14:08:38 +02:00
kobs-ng kobs-ng: Mark as nonshared to build in step 1 2024-07-30 21:42:33 +02:00
mt7623n-preloader mt7623n-preloader: remove mt7622-preloader 2021-02-28 04:12:23 +00:00
opensbi opensbi: bump to 1.4 2024-05-03 11:09:22 +02:00
optee-os-stm32 optee-os-stm32: add OP-TEE for stm32 boards 2024-11-28 18:48:24 +00:00
rkbin rkbin: add rk3588 support 2024-08-11 18:56:27 +02:00
tfa-layerscape tfa-layerscape: fix fiptool's build 2024-09-24 12:29:06 +02:00
uboot-armsr uboot-armsr: add support for QEMU armv7/armv8 2023-06-10 21:50:22 +02:00
uboot-at91 treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
uboot-ath79 uboot-ath79: refresh patches 2024-10-19 17:56:46 +02:00
uboot-bcm53xx uboot-bcm53xx: bump to 2024.01 2024-01-20 19:38:20 +01:00
uboot-bcm4908 packages: refresh patches 2024-05-31 11:30:06 +02:00
uboot-bmips uboot-bmips: Add U-Boot for the BMIPS target 2024-05-01 21:30:32 +02:00
uboot-d1 uboot-d1: define default BUILD_SUBTARGET 2024-04-13 13:41:41 +02:00
uboot-envtools mediatek: Routerich AX3000: add OpenWrt U-Boot layout 2024-11-28 18:49:33 +00:00
uboot-fritz4040 treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
uboot-imx treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-kirkwood uboot-kirkwood: fix compilation with GCC14 2024-09-25 22:50:09 +02:00
uboot-lantiq uboot-laniq: fix compilation with GCC14 2024-09-08 11:49:20 +02:00
uboot-layerscape uboot-layerscape: bump to lf-6.6.23-2.0.0 2024-09-22 16:21:02 +02:00
uboot-mediatek uboot-mediatek: add Routerich AX3000 support 2024-11-28 18:49:31 +00:00
uboot-mvebu uboot-mvebu: update to version 2024.10 2024-10-19 22:54:12 +02:00
uboot-mxs packages: refresh patches 2024-05-31 11:30:06 +02:00
uboot-omap treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-rockchip uboot-rockchip: add support for NanoPi R3S 2024-10-27 14:57:51 +01:00
uboot-sifiveu packages: refresh patches 2024-05-31 11:30:06 +02:00
uboot-stm32 uboot-stm32: add U-Boot for stm32 boards 2024-11-28 18:48:26 +00:00
uboot-sunxi sunxi: add support for Lichee Pi Zero Dock (V3s) board 2024-05-04 00:41:02 +02:00
uboot-tegra uboot-tegra: Set UBOOT_USE_INTREE_DTC 2024-06-02 18:06:39 +02:00
uboot-zynq packages: refresh patches 2024-05-31 11:30:06 +02:00