[source] mvebu: update boot-script to use generic variables

LEDE Commits lede-commits at lists.infradead.org
Tue May 30 05:01:34 PDT 2017


nbd pushed a commit to source.git, branch master:
https://git.lede-project.org/88389bfe4130e07833b41950abe5323a2fc5e6be

commit 88389bfe4130e07833b41950abe5323a2fc5e6be
Author: Josua Mayer <josua.mayer97 at gmail.com>
AuthorDate: Sun Apr 23 17:20:58 2017 +0200

    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 at gmail.com>
---
 target/linux/mvebu/image/cfbase-boot.script | 29 ++++++++++++++++++++++++-----
 target/linux/mvebu/image/cfpro-boot.script  | 25 ++++++++++++++++++++-----
 2 files changed, 44 insertions(+), 10 deletions(-)

diff --git a/target/linux/mvebu/image/cfbase-boot.script b/target/linux/mvebu/image/cfbase-boot.script
index 3043d26..5f9bcd7 100644
--- a/target/linux/mvebu/image/cfbase-boot.script
+++ b/target/linux/mvebu/image/cfbase-boot.script
@@ -1,7 +1,26 @@
-setenv bootargs console=ttyS0,115200n8 root=/dev/mmcblk0p2 rootfstype=squashfs rootwait overlay=/dev/mmcblk0p3
-setenv fdt_high 0x07a12000
+# Standard Boot-Script
+# 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
-fatload mmc 0:1 0x05F00000 armada-388-clearfog-base.dtb
+# Override DeviceTree for Clearfog Base
+# 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}
diff --git a/target/linux/mvebu/image/cfpro-boot.script b/target/linux/mvebu/image/cfpro-boot.script
index 6f7653b..e1523f8 100644
--- a/target/linux/mvebu/image/cfpro-boot.script
+++ b/target/linux/mvebu/image/cfpro-boot.script
@@ -1,7 +1,22 @@
-setenv bootargs console=ttyS0,115200n8 root=/dev/mmcblk0p2 rootfstype=squashfs rootwait overlay=/dev/mmcblk0p3
-setenv fdt_high 0x07a12000
+# Standard Boot-Script
+# 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
-fatload mmc 0:1 0x05F00000 armada-388-clearfog-pro.dtb
+# 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
 
-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}



More information about the lede-commits mailing list