mvebu: update boot-script to use generic variables

U-Boot provides standard variables for load addresses, and
filesystem-agnostic load-commands. Furthermore thanks to distro-boot,
the device and partition from which the system boots is known.
The new boot-script makes use of all this information.

Tested on the only board that uses this boot-script: Clearfog Pro

Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
This commit is contained in:
Josua Mayer 2017-04-23 17:20:58 +02:00 committed by Felix Fietkau
parent e2814f6416
commit 88389bfe41
2 changed files with 44 additions and 10 deletions

View File

@ -1,7 +1,26 @@
setenv bootargs console=ttyS0,115200n8 root=/dev/mmcblk0p2 rootfstype=squashfs rootwait overlay=/dev/mmcblk0p3 # Standard Boot-Script
setenv fdt_high 0x07a12000 # use only well-known variable names provided by U-Boot Distro boot
# This script assumes that there is a boot partition,
# and that the root partition is always the next one.
fatload mmc 0:1 0x02000000 zImage # Override DeviceTree for Clearfog Base
fatload mmc 0:1 0x05F00000 armada-388-clearfog-base.dtb # removed once U-Boot is able to detect the board variant.
setenv fdtfile armada-388-clearfog-base.dtb
bootz 0x02000000 - 0x05F00000 # generate bootargs for rootfs on MMC
if test "${devtype}" = "mmc"; then
setexpr lede_rootpart ${distro_bootpart} + 1
setenv bootargs ${bootargs} root=/dev/mmcblk${devnum}p${lede_rootpart} rootfstype=auto rootwait
fi
# here one could add logic for other rootfs device types such as scsi and usb
# add console= option to bootargs, if any
if test -n "${console}"; then
setenv bootargs ${bootargs} console=${console}
fi
echo "Booting Linux with ${bootargs}"
load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${fdtfile}
load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} zImage
bootz ${kernel_addr_r} - ${fdt_addr_r}

View File

@ -1,7 +1,22 @@
setenv bootargs console=ttyS0,115200n8 root=/dev/mmcblk0p2 rootfstype=squashfs rootwait overlay=/dev/mmcblk0p3 # Standard Boot-Script
setenv fdt_high 0x07a12000 # use only well-known variable names provided by U-Boot Distro boot
# This script assumes that there is a boot partition,
# and that the root partition is always the next one.
fatload mmc 0:1 0x02000000 zImage # generate bootargs for rootfs on MMC
fatload mmc 0:1 0x05F00000 armada-388-clearfog-pro.dtb if test "${devtype}" = "mmc"; then
setexpr lede_rootpart ${distro_bootpart} + 1
setenv bootargs ${bootargs} root=/dev/mmcblk${devnum}p${lede_rootpart} rootfstype=auto rootwait
fi
bootz 0x02000000 - 0x05F00000 # here one could add logic for other rootfs device types such as scsi and usb
# add console= option to bootargs, if any
if test -n "${console}"; then
setenv bootargs ${bootargs} console=${console}
fi
echo "Booting Linux with ${bootargs}"
load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${fdtfile}
load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} zImage
bootz ${kernel_addr_r} - ${fdt_addr_r}