Use the DTB name from the u-boot default for the third iteration if the provided DTB name was not found. Also delete the duplicate of the previous iteration.
115 lines
4.2 KiB
Batchfile
115 lines
4.2 KiB
Batchfile
# DO NOT EDIT THIS FILE
|
|
#
|
|
# Please edit /boot/armbianEnv.txt to set supported parameters
|
|
#
|
|
|
|
# default values
|
|
setenv load_addr "0x45000000"
|
|
setenv overlay_error "false"
|
|
setenv rootdev "/dev/mmcblk0p1"
|
|
setenv verbosity "1"
|
|
setenv rootfstype "ext4"
|
|
setenv console "both"
|
|
setenv docker_optimizations "on"
|
|
setenv bootlogo "false"
|
|
|
|
setenv vendor "allwinner"
|
|
|
|
# Remember the default u-boot fdtfile
|
|
setenv deffdt_file ${fdtfile}
|
|
|
|
# Remember the default u-boot fdtdir
|
|
setenv deffdt_dir "${prefix}dtb"
|
|
if test "$fdtdir" = ""; then setenv fdtdir "${deffdt_dir}/${vendor}";fi
|
|
|
|
# Print boot source
|
|
itest.b *0x10028 == 0x00 && echo "U-boot loaded from SD"
|
|
itest.b *0x10028 == 0x02 && echo "U-boot loaded from eMMC or secondary SD"
|
|
itest.b *0x10028 == 0x03 && echo "U-boot loaded from SPI"
|
|
|
|
echo "Boot script loaded from ${devtype}"
|
|
|
|
if test -e ${devtype} ${devnum} ${prefix}armbianEnv.txt; then
|
|
load ${devtype} ${devnum} ${load_addr} ${prefix}armbianEnv.txt
|
|
env import -t ${load_addr} ${filesize}
|
|
fi
|
|
|
|
# In this shell, we can only check the existence of the file.
|
|
# Make a check of reasonable ways to find the dtb file.
|
|
# Set the true value of the paths.
|
|
if test -e ${devtype} ${devnum} "${fdtdir}/${fdtfile}"; then
|
|
echo "Load fdt: ${fdtdir}/${fdtfile}"
|
|
else
|
|
echo "The file ${fdtfile} was not found in the path ${fdtdir}"
|
|
if test -e ${devtype} ${devnum} "${deffdt_dir}/${fdtfile}"; then
|
|
setenv fdtdir "${deffdt_dir}"
|
|
echo "Load fdt: ${fdtdir}/${fdtfile}"
|
|
else
|
|
if test -e ${devtype} ${devnum} "${deffdt_dir}/${vendor}/${deffdt_file}"; then
|
|
setenv fdtdir "${deffdt_dir}/${vendor}"
|
|
setenv fdtfile "${deffdt_file}"
|
|
echo "Load fdt: ${fdtdir}/${fdtfile}"
|
|
else
|
|
if test -e ${devtype} ${devnum} "${deffdt_dir}/${deffdt_file}"; then
|
|
setenv fdtdir "${deffdt_dir}"
|
|
setenv fdtfile "${deffdt_file}"
|
|
echo "Load fdt: ${fdtdir}/${fdtfile}"
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=ttyS0,115200 console=tty1"; fi
|
|
if test "${console}" = "serial"; then setenv consoleargs "console=ttyS0,115200"; fi
|
|
if test "${bootlogo}" = "true"; then
|
|
setenv consoleargs "splash plymouth.ignore-serial-consoles ${consoleargs}"
|
|
else
|
|
setenv consoleargs "splash=verbose ${consoleargs}"
|
|
fi
|
|
|
|
# get PARTUUID of first partition on SD/eMMC it was loaded from
|
|
# mmc 0 is always mapped to device u-boot (2016.09+) was loaded from
|
|
if test "${devtype}" = "mmc"; then part uuid mmc 0:1 partuuid; fi
|
|
|
|
setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"
|
|
|
|
if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=memory"; fi
|
|
|
|
load ${devtype} ${devnum} ${fdt_addr_r} ${fdtdir}/${fdtfile}
|
|
fdt addr ${fdt_addr_r}
|
|
fdt resize 65536
|
|
for overlay_file in ${overlays}; do
|
|
if load ${devtype} ${devnum} ${load_addr} ${fdtdir}/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
|
|
echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo"
|
|
fdt apply ${load_addr} || setenv overlay_error "true"
|
|
fi
|
|
done
|
|
for overlay_file in ${user_overlays}; do
|
|
if load ${devtype} ${devnum} ${load_addr} ${prefix}overlay-user/${overlay_file}.dtbo; then
|
|
echo "Applying user provided DT overlay ${overlay_file}.dtbo"
|
|
fdt apply ${load_addr} || setenv overlay_error "true"
|
|
fi
|
|
done
|
|
if test "${overlay_error}" = "true"; then
|
|
echo "Error applying DT overlays, restoring original DT"
|
|
load ${devtype} ${devnum} ${fdt_addr_r} ${fdtdir}/${fdtfile}
|
|
else
|
|
if load ${devtype} ${devnum} ${load_addr} ${fdtdir}/overlay/${overlay_prefix}-fixup.scr; then
|
|
echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)"
|
|
source ${load_addr}
|
|
fi
|
|
if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then
|
|
load ${devtype} ${devnum} ${load_addr} ${prefix}fixup.scr
|
|
echo "Applying user provided fixup script (fixup.scr)"
|
|
source ${load_addr}
|
|
fi
|
|
fi
|
|
|
|
load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd
|
|
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}Image
|
|
|
|
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
|
|
|
|
# Recompile with:
|
|
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
|