immortalwrt/package/boot
Tianling Shen 14e2410bbf
mediatek: add support for Bananapi BPi-R3 Mini support
Hardware specification:
  SoC: MediaTek MT7986A 4x A53
  Flash: 128MB SPI-NAND, 8GB eMMC
  RAM: 2GB DDR4
  Ethernet: 2x 2.5GbE
  WiFi: MediaTek MT7976C 2x2 2.4G + 3x3 5G
  Interface: M.2 B-Key, M.2 M-Key, USB 2.0
  LED: Power, Status, WLAN2G, WLAN5G, LTE, SSD
  Button: Reset, Boot switch
  Power: 12V Type-C PD

eMMC Flash instructions:
1. SSH to BPi-R3 Mini, and upload all necessary firmware.
2. Write new GPT table:
   dd if=immortalwrt-mediatek-filogic-bananapi_bpi-r3-mini-emmc-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync
3. Erase and write new BL2:
   echo 0 > /sys/block/mmcblk0boot0/force_ro
   dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync
   dd if=immortalwrt-mediatek-filogic-bananapi_bpi-r3-mini-emmc-preloader.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync
4. Erase and write new FIP:
   dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=13312 count=8192 conv=fsync
   dd if=immortalwrt-mediatek-filogic-bananapi_bpi-r3-mini-emmc-bl31-uboot.fip of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
5. Set static IP on your PC:
   IP 192.168.1.254, GW 192.168.1.1
6. Serve ImmortalWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After ImmortalWrt has booted, perform sysupgrade.
9. Additionally, if you want to have eMMC recovery boot feature:
     (Don't worry! You will always have TFTP recovery boot feature.)
   dd if=immortalwrt-mediatek-filogic-bananapi_bpi-r3-mini-initramfs-recovery.itb of=/dev/mmcblk0p4 bs=512 conv=fsync

NAND Flash instructions:
1. SSH to BPi-R3 Mini, and upload all necessary firmware.
2. Erase and write new BL2:
   opkg install kmod-mtd-rw
   mtd erase BL2
   mtd write immortalwrt-mediatek-filogic-bananapi_bpi-r3-mini-snand-preloader.bin BL2
3. Erase and write new FIP:
   mtd erase FIP
   mtd write immortalwrt-mediatek-filogic-bananapi_bpi-r3-mini-snand-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254, GW 192.168.1.1
5. Serve ImmortalWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After ImmortalWrt has booted, erase UBI volumes:
   umount /mnt/ubi0*
   ubidetach -p /dev/mtd4
   ubiformat -y /dev/mtd4
   ubiattach -p /dev/mtd4
8. Create new ubootenv volumes:
   ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
   ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
9. Additionally, if you want to have NAND recovery boot feature:
     (Don't worry! You will always have TFTP recovery boot feature.)
   ubimkvol /dev/ubi0 -n 2 -N recovery -s 20MiB
   ubiupdatevol /dev/ubi0_2 immortalwrt-mediatek-filogic-bananapi_bpi-r3-mini-initramfs-recovery.itb
10. Perform sysupgrade.

Thank you Banana Pi for providing this board.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-10-27 13:12:56 +08:00
..
apex boot/apex: Restore the APEX boot loader 2023-10-20 13:26:45 +02:00
arm-trusted-firmware-bcm63xx treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
arm-trusted-firmware-mediatek arm-trusted-firmware-mediatek: add emmc/spim-nand ddr4 build for mt7981 2023-09-23 22:43:44 +08:00
arm-trusted-firmware-mvebu arm-trusted-firmware-mvebu: bump to v2.9 2023-08-26 00:11:48 +02:00
arm-trusted-firmware-rockchip arm-trusted-firmware-rockchip: bump to latest git HEAD 2023-09-06 11:37:05 +08:00
arm-trusted-firmware-sunxi arm-trusted-firmware-sunxi: update to version 2.9 2023-09-24 17:12:24 +02:00
arm-trusted-firmware-tools arm-trusted-firmware-tools: fix build on macOS/Darwin 2023-08-12 16:45:47 +02:00
at91bootstrap treewide: Add extra CPE identifier 2023-09-25 23:06:33 +02:00
fconfig
grub2 grub2: opt-out of gc-sections usage 2023-07-14 23:56:58 +02:00
imx-bootlets
kexec-tools Merge Official Source 2023-03-24 00:26:44 +08:00
kobs-ng
mt7623n-preloader
opensbi opensbi: add package for RISC-V 2023-05-28 13:19:11 +02:00
tfa-layerscape tfa-layerscape: fix fiptool's build 2023-05-20 23:20:48 +02:00
uboot-armsr uboot-armsr: add support for QEMU armv7/armv8 2023-06-10 21:50:22 +02:00
uboot-at91 treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-bcm53xx uboot-bcm53xx: Add U-Boot for NorthStar BCM53xx 2023-08-20 18:08:13 +02:00
uboot-bcm4908 treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-envtools mediatek: add support for Bananapi BPi-R3 Mini support 2023-10-27 13:12:56 +08:00
uboot-fritz4040 treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-imx treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-kirkwood treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-lantiq treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-layerscape package: layerscape: change loadaddr address 2023-05-28 20:22:23 +02:00
uboot-mediatek mediatek: add support for Bananapi BPi-R3 Mini support 2023-10-27 13:12:56 +08:00
uboot-mvebu uboot-mvebu: armada 388 clearfog: support additional ddr configurations 2023-10-22 10:52:40 +02:00
uboot-mxs mxs: rework image generation 2023-06-30 19:24:52 +02:00
uboot-omap treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-oxnas treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-rockchip uboot-rockchip: Update to 2023.10 2023-10-03 19:21:13 +08:00
uboot-sifiveu uboot-sifiveu: add bootloader package for SiFive Ux40 boards 2023-05-28 13:19:11 +02:00
uboot-sunxi sunxi: add support for Bananapi P2 Zero 2023-09-18 18:15:21 +02:00
uboot-tegra treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-zynq uboot-zynq: build with zynq generic subtarget 2022-12-25 11:55:53 +01:00