# DO NOT EDIT THIS FILE
#
# Please edit /boot/armbianEnv.txt to set supported parameters
#

if test -e ${devtype} ${devnum}:${distro_bootpart} boot.scr; then
	setenv prefix ""
	part uuid ${devtype} ${devnum}:2 uuid
elif test -e ${devtype} ${devnum}:${distro_bootpart} boot/boot.scr; then
	setenv prefix "boot"
	part uuid ${devtype} ${devnum}:1 uuid
fi

setenv bootlabel "Armbian"
setenv bootlogo "false"
setenv console "both"
setenv fdtdir "${prefix}/dtb"
setenv fk_kvers "${prefix}/Image"
setenv initrd "${prefix}/uInitrd"
setenv verbosity "1"

echo "Loading ${bootlabel} environment (${devtype} ${devnum}:${distro_bootpart})"
load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}/armbianEnv.txt
env import -t ${scriptaddr} ${filesize}

# use PARTUUID to limit cmdline characters
setenv rootdev "PARTUUID=${uuid}"

if test "${console}" = "both"; then setenv console_serial "true"; setenv console_display "true"; fi
if test "${console}" = "serial"; then setenv console_serial "true"; fi
if test "${console}" = "display"; then setenv console_display "true"; fi

if test "${console_display}" = "true"; then setenv consoleargs "console=tty0"; fi
if test "${console_serial}" = "true"; then setenv consoleargs "${consoleargs} console=ttyS0,115200n8"; fi

if test "${bootlogo}" = "true"; then
	setenv plymouthargs "splash plymouth.ignore-serial-consoles ${plymouthargs}"
fi

setenv bootargs "${consoleargs} root=${rootdev} rootfstype=${rootfstype} rw fsck.repair=yes rootwait loglevel=${verbosity} ${extraargs} ${plymouthargs}"

echo "Loading ${fdtfile} (${devtype} ${devnum}:${distro_bootpart})"
load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${fdtdir}/${fdtfile}
fdt addr ${fdt_addr_r}
fdt resize 65536

for overlay_file in ${overlays}; do
	if test -e ${devtype} ${devnum}:${distro_bootpart} ${fdtdir}/spacemit/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
		echo "Applying ${overlay_prefix}-${overlay_file}.dtbo"
		load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${fdtdir}/spacemit/overlay/${overlay_prefix}-${overlay_file}.dtbo
		fdt apply ${scriptaddr}
	fi
done
for overlay_file in ${user_overlays}; do
	if test -e ${devtype} ${devnum}:${distro_bootpart} ${fdtdir}/overlay-user/${overlay_file}.dtbo; then
		echo "Applying ${overlay_file}.dtbo"
		load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${fdtdir}/overlay-user/${overlay_file}.dtbo
		fdt apply ${scriptaddr}
	fi
done

load ${devtype} ${devnum}:${distro_bootpart} ${ramdisk_addr_r} ${initrd}
load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} ${fk_kvers}
echo "Booting ${bootlabel} (${devtype} ${devnum}:${distro_bootpart})"
booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}

# Recompile with:
# mkimage -C none -A riscv -T script -d /boot/boot.cmd /boot/boot.scr