mvebu: image: introduce BOOT_SCRIPT variable
authorTomasz Maciej Nowak <tomek_n@o2.pl>
Sat, 11 May 2019 17:37:30 +0000 (19:37 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 11 May 2019 21:11:04 +0000 (23:11 +0200)
All of U-Boot scripts repeat the same pattern with only Device Tree blob
name changing for respective device. Therefore create generic scripts
which will be altered on demad by image build process, and create
BOOT_SCRIPT variable which can be added to device recipe and will allow
referencing the same script by many device recipes. This will allow to
slim down the ammount of files in buildroot tree and avoid needlessly
incrementing amount of boot scripts if new devices will be added.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
target/linux/mvebu/image/Makefile
target/linux/mvebu/image/armada-3720-db.bootscript [deleted file]
target/linux/mvebu/image/armada-388-clearfog-base.bootscript [deleted file]
target/linux/mvebu/image/armada-388-clearfog-pro.bootscript [deleted file]
target/linux/mvebu/image/armada-macchiatobin.bootscript [deleted file]
target/linux/mvebu/image/clearfog.bootscript [new file with mode: 0644]
target/linux/mvebu/image/cortex-a9.mk
target/linux/mvebu/image/generic-arm64.bootscript [new file with mode: 0644]
target/linux/mvebu/image/globalscale-espressobin.bootscript [deleted file]

index 5f4ab89716a80bd043b95510a0e1b767092421cd..95d4d5a79b5c6521c39e36fc7967500c27a96486 100644 (file)
@@ -17,8 +17,10 @@ SIGNATURE:=$(shell printf "%.8s" $(SOURCE_DATE_EPOCH))
 
 define Build/boot-scr
        rm -f $@-boot.scr
-       sed -e 's#@ROOT@#$(SIGNATURE)#g' \
-               $(DEVICE_NAME).bootscript > $@-new.bootscript
+       sed \
+               -e 's#@ROOT@#$(SIGNATURE)#g' \
+               -e 's#@DTB@#$(firstword $(DEVICE_DTS))#g' \
+               $(BOOT_SCRIPT).bootscript > $@-new.bootscript
        mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d $@-new.bootscript $@-boot.scr
 endef
 
@@ -80,10 +82,12 @@ define Device/Default
   KERNEL := kernel-bin | append-dtb | uImage none
   SUPPORTED_DEVICES = $$(DEVICE_DTS)
   UBOOT :=
+  BOOT_SCRIPT :=
 endef
-DEVICE_VARS += UBOOT
+DEVICE_VARS += BOOT_SCRIPT UBOOT
 
 define Device/Default-arm64
+  BOOT_SCRIPT := generic-arm64
   DTS_DIR := $(DTS_DIR)/marvell
   IMAGES := sdcard.img.gz
   IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
diff --git a/target/linux/mvebu/image/armada-3720-db.bootscript b/target/linux/mvebu/image/armada-3720-db.bootscript
deleted file mode 100644 (file)
index 65e39a1..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-setenv bootargs "root=PARTUUID=@ROOT@-02 rw rootwait"
-
-if test -n "${console}"; then
-       setenv bootargs "${bootargs} ${console}"
-fi
-
-load mmc 0:1 ${fdt_addr} armada-3720-db.dtb
-load mmc 0:1 ${kernel_addr} Image
-
-booti ${kernel_addr} - ${fdt_addr}
diff --git a/target/linux/mvebu/image/armada-388-clearfog-base.bootscript b/target/linux/mvebu/image/armada-388-clearfog-base.bootscript
deleted file mode 100644 (file)
index 1755203..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# 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.
-
-# Override DeviceTree for Clearfog Base
-# removed once U-Boot is able to detect the board variant.
-setenv fdtfile armada-388-clearfog-base.dtb
-
-# rootfs is always on the next partition
-setexpr openwrt_rootpart ${distro_bootpart} + 1
-
-# figure out partition uuid to pass to the kernel as root=
-part uuid ${devtype} ${devnum}:${openwrt_rootpart} uuid
-
-# generate bootargs (rootfs)
-setenv bootargs ${bootargs} root=PARTUUID=${uuid} rootfstype=auto rootwait
-
-# 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/armada-388-clearfog-pro.bootscript b/target/linux/mvebu/image/armada-388-clearfog-pro.bootscript
deleted file mode 100644 (file)
index 99aa145..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# 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.
-
-# Override DeviceTree for Clearfog Pro
-# removed once U-Boot has been updated to the new name.
-setenv fdtfile armada-388-clearfog-pro.dtb
-
-# rootfs is always on the next partition
-setexpr openwrt_rootpart ${distro_bootpart} + 1
-
-# figure out partition uuid to pass to the kernel as root=
-part uuid ${devtype} ${devnum}:${openwrt_rootpart} uuid
-
-# generate bootargs (rootfs)
-setenv bootargs ${bootargs} root=PARTUUID=${uuid} rootfstype=auto rootwait
-
-# 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/armada-macchiatobin.bootscript b/target/linux/mvebu/image/armada-macchiatobin.bootscript
deleted file mode 100644 (file)
index ae9fdca..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-setenv bootargs "root=PARTUUID=@ROOT@-02 rw rootwait"
-
-if test -n "${console}"; then
-       setenv bootargs "${bootargs} ${console}"
-fi
-
-load mmc 1:1 ${fdt_addr} armada-8040-mcbin.dtb
-load mmc 1:1 ${kernel_addr} Image
-
-booti ${kernel_addr} - ${fdt_addr}
diff --git a/target/linux/mvebu/image/clearfog.bootscript b/target/linux/mvebu/image/clearfog.bootscript
new file mode 100644 (file)
index 0000000..20ba76f
--- /dev/null
@@ -0,0 +1,23 @@
+# 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.
+
+# rootfs is always on the next partition
+setexpr openwrt_rootpart ${distro_bootpart} + 1
+
+# figure out partition uuid to pass to the kernel as root=
+part uuid ${devtype} ${devnum}:${openwrt_rootpart} uuid
+
+# generate bootargs (rootfs)
+setenv bootargs ${bootargs} root=PARTUUID=${uuid} rootfstype=auto rootwait
+
+# 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} @DTB@.dtb
+load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} zImage
+bootz ${kernel_addr_r} - ${fdt_addr_r}
index 66cf54f9c598c45173d1fe1623bff5b2a9b30167..8e9ef41fb6a875082458d792c50bf1fb9038add1 100644 (file)
@@ -132,6 +132,7 @@ define Device/armada-388-clearfog-pro
   DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base
   SUPPORTED_DEVICES := armada-388-clearfog-pro armada-388-clearfog
   UBOOT := clearfog-u-boot-spl.kwb
+  BOOT_SCRIPT := clearfog
 endef
 TARGET_DEVICES += armada-388-clearfog-pro
 
@@ -142,8 +143,9 @@ define Device/armada-388-clearfog-base
   DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils
   IMAGES := sdcard.img.gz
   IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
-  DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base
+  DEVICE_DTS := armada-388-clearfog-base armada-388-clearfog-pro
   UBOOT := clearfog-u-boot-spl.kwb
+  BOOT_SCRIPT := clearfog
 endef
 TARGET_DEVICES += armada-388-clearfog-base
 
diff --git a/target/linux/mvebu/image/generic-arm64.bootscript b/target/linux/mvebu/image/generic-arm64.bootscript
new file mode 100644 (file)
index 0000000..f395590
--- /dev/null
@@ -0,0 +1,10 @@
+setenv bootargs "root=PARTUUID=@ROOT@-02 rw rootwait"
+
+if test -n "${console}"; then
+       setenv bootargs "${bootargs} ${console}"
+fi
+
+load mmc 0:1 ${fdt_addr} @DTB@.dtb
+load mmc 0:1 ${kernel_addr} Image
+
+booti ${kernel_addr} - ${fdt_addr}
diff --git a/target/linux/mvebu/image/globalscale-espressobin.bootscript b/target/linux/mvebu/image/globalscale-espressobin.bootscript
deleted file mode 100644 (file)
index 0d03ac8..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-setenv bootargs "root=PARTUUID=@ROOT@-02 rw rootwait"
-
-if test -n "${console}"; then
-       setenv bootargs "${bootargs} ${console}"
-fi
-
-load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb
-load mmc 0:1 ${kernel_addr} Image
-
-booti ${kernel_addr} - ${fdt_addr}