2
0
Эх сурвалжийг харах

mvebu: image: introduce BOOT_SCRIPT variable

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 <[email protected]>
Tomasz Maciej Nowak 6 жил өмнө
parent
commit
fb005d688e

+ 7 - 3
target/linux/mvebu/image/Makefile

@@ -17,8 +17,10 @@ SIGNATURE:=$(shell printf "%.8s" $(SOURCE_DATE_EPOCH))
 
 
 define Build/boot-scr
 define Build/boot-scr
 	rm -f [email protected]
 	rm -f [email protected]
-	sed -e 's#@ROOT@#$(SIGNATURE)#g' \
-		$(DEVICE_NAME).bootscript > [email protected]
+	sed \
+		-e 's#@ROOT@#$(SIGNATURE)#g' \
+		-e 's#@DTB@#$(firstword $(DEVICE_DTS))#g' \
+		$(BOOT_SCRIPT).bootscript > [email protected]
 	mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d [email protected] [email protected]
 	mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d [email protected] [email protected]
 endef
 endef
 
 
@@ -80,10 +82,12 @@ define Device/Default
   KERNEL := kernel-bin | append-dtb | uImage none
   KERNEL := kernel-bin | append-dtb | uImage none
   SUPPORTED_DEVICES = $$(DEVICE_DTS)
   SUPPORTED_DEVICES = $$(DEVICE_DTS)
   UBOOT :=
   UBOOT :=
+  BOOT_SCRIPT :=
 endef
 endef
-DEVICE_VARS += UBOOT
+DEVICE_VARS += BOOT_SCRIPT UBOOT
 
 
 define Device/Default-arm64
 define Device/Default-arm64
+  BOOT_SCRIPT := generic-arm64
   DTS_DIR := $(DTS_DIR)/marvell
   DTS_DIR := $(DTS_DIR)/marvell
   IMAGES := sdcard.img.gz
   IMAGES := sdcard.img.gz
   IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
   IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata

+ 0 - 27
target/linux/mvebu/image/armada-388-clearfog-base.bootscript

@@ -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}

+ 0 - 10
target/linux/mvebu/image/armada-macchiatobin.bootscript

@@ -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}

+ 1 - 5
target/linux/mvebu/image/armada-388-clearfog-pro.bootscript → target/linux/mvebu/image/clearfog.bootscript

@@ -3,10 +3,6 @@
 # This script assumes that there is a boot partition,
 # This script assumes that there is a boot partition,
 # and that the root partition is always the next one.
 # 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
 # rootfs is always on the next partition
 setexpr openwrt_rootpart ${distro_bootpart} + 1
 setexpr openwrt_rootpart ${distro_bootpart} + 1
 
 
@@ -22,6 +18,6 @@ if test -n "${console}"; then
 fi
 fi
 
 
 echo "Booting Linux with ${bootargs}"
 echo "Booting Linux with ${bootargs}"
-load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${fdtfile}
+load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} @[email protected]
 load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} zImage
 load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} zImage
 bootz ${kernel_addr_r} - ${fdt_addr_r}
 bootz ${kernel_addr_r} - ${fdt_addr_r}

+ 3 - 1
target/linux/mvebu/image/cortex-a9.mk

@@ -132,6 +132,7 @@ define Device/armada-388-clearfog-pro
   DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base
   DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base
   SUPPORTED_DEVICES := armada-388-clearfog-pro armada-388-clearfog
   SUPPORTED_DEVICES := armada-388-clearfog-pro armada-388-clearfog
   UBOOT := clearfog-u-boot-spl.kwb
   UBOOT := clearfog-u-boot-spl.kwb
+  BOOT_SCRIPT := clearfog
 endef
 endef
 TARGET_DEVICES += armada-388-clearfog-pro
 TARGET_DEVICES += armada-388-clearfog-pro
 
 
@@ -142,8 +143,9 @@ define Device/armada-388-clearfog-base
   DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils
   DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils
   IMAGES := sdcard.img.gz
   IMAGES := sdcard.img.gz
   IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
   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
   UBOOT := clearfog-u-boot-spl.kwb
+  BOOT_SCRIPT := clearfog
 endef
 endef
 TARGET_DEVICES += armada-388-clearfog-base
 TARGET_DEVICES += armada-388-clearfog-base
 
 

+ 1 - 1
target/linux/mvebu/image/armada-3720-db.bootscript → target/linux/mvebu/image/generic-arm64.bootscript

@@ -4,7 +4,7 @@ if test -n "${console}"; then
 	setenv bootargs "${bootargs} ${console}"
 	setenv bootargs "${bootargs} ${console}"
 fi
 fi
 
 
-load mmc 0:1 ${fdt_addr} armada-3720-db.dtb
+load mmc 0:1 ${fdt_addr} @DTB@.dtb
 load mmc 0:1 ${kernel_addr} Image
 load mmc 0:1 ${kernel_addr} Image
 
 
 booti ${kernel_addr} - ${fdt_addr}
 booti ${kernel_addr} - ${fdt_addr}

+ 0 - 10
target/linux/mvebu/image/globalscale-espressobin.bootscript

@@ -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}