REQUIRE_IMAGE_METADATA=1 RAMFS_COPY_BIN='fitblk' asus_initial_setup() { # initialize UBI if it's running on initramfs [ "$(rootfs_type)" = "tmpfs" ] || return 0 ubirmvol /dev/ubi0 -N rootfs ubirmvol /dev/ubi0 -N rootfs_data ubirmvol /dev/ubi0 -N jffs2 ubimkvol /dev/ubi0 -N jffs2 -s 0x3e000 } platform_do_upgrade() { local board=$(board_name) case "$board" in asus,tuf-ax4200) CI_UBIPART="UBI_DEV" CI_KERNPART="linux" nand_do_upgrade "$1" ;; bananapi,bpi-r3|\ bananapi,bpi-r4|\ bananapi,bpi-r4-poe) [ -e /dev/fit0 ] && fitblk /dev/fit0 [ -e /dev/fitrw ] && fitblk /dev/fitrw bootdev="$(fitblk_get_bootdev)" case "$bootdev" in mmc*) EMMC_KERN_DEV="/dev/$bootdev" emmc_do_upgrade "$1" ;; mtdblock*) PART_NAME="/dev/mtd${bootdev:8}" default_do_upgrade "$1" ;; ubiblock*) CI_KERNPART="fit" nand_do_upgrade "$1" ;; esac ;; cmcc,rax3000m-emmc|\ glinet,gl-mt2500|\ glinet,gl-mt6000|\ jdcloud,re-cs-05) CI_KERNPART="kernel" CI_ROOTPART="rootfs" emmc_do_upgrade "$1" ;; *) nand_do_upgrade "$1" ;; esac } PART_NAME=firmware platform_check_image() { local board=$(board_name) local magic="$(get_magic_long "$1")" [ "$#" -gt 1 ] && return 1 case "$board" in bananapi,bpi-r3|\ bananapi,bpi-r4|\ bananapi,bpi-r4-poe) [ "$magic" != "d00dfeed" ] && { echo "Invalid image type." return 1 } return 0 ;; *) nand_do_platform_check "$board" "$1" return 0 ;; esac return 0 } platform_copy_config() { case "$(board_name)" in bananapi,bpi-r3|\ bananapi,bpi-r4|\ bananapi,bpi-r4-poe) case "$(cmdline_get_var root)" in /dev/mmc*) emmc_copy_config ;; esac ;; cmcc,rax3000m-emmc|\ glinet,gl-mt2500|\ glinet,gl-mt6000|\ jdcloud,re-cs-05) emmc_copy_config ;; esac } platform_pre_upgrade() { local board=$(board_name) case "$board" in asus,tuf-ax4200) asus_initial_setup ;; esac }