Current File : //usr/local/jetapps/usr/share/rear/layout/save/Linux-arm/455_save_allwinner_bootloader.sh
# This file is part of Relax-and-Recover, licensed under the GNU General
# Public License. Refer to the included COPYING for full text of license.

# Save the 2nd-stage bootloader on Allwinner devices

[ "$BOOTLOADER" = "ARM-ALLWINNER" ] || return 0

used_bootloader=( $( cat $VAR_DIR/recovery/bootloader ) )
base_dir="$VAR_DIR/recovery/allwinner-boot"
[ -d $base_dir ] || mkdir $base_dir

for block_device in /sys/block/* ; do
    blockd=${block_device#/sys/block/}
    # Continue with the next block device when the current block device is not a disk that can be used for booting:
    [[ $blockd = hd* || $blockd = sd* || $blockd = cciss* || $blockd = vd* || $blockd = xvd* || $blockd = nvme* || $blockd = mmcblk* || $blockd = dasd*  ]] || continue
    disk_device=$( get_device_name $block_device )
    Log "Saving Allwinner 2nd stage bootloader for device $disk_device"
    dd if=$disk_device bs=1024 skip=8 count=$((1024-8)) of=$base_dir/$blockd
done