[openwrt/openwrt] mvebu: make sdcard bootloader option configurable

LEDE Commits lede-commits at lists.infradead.org
Fri Mar 2 12:52:57 PST 2018


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/e4fa22397f0844481ed260ed599ff3851d30b71f

commit e4fa22397f0844481ed260ed599ff3851d30b71f
Author: Tomasz Maciej Nowak <tomek_n at o2.pl>
AuthorDate: Wed Feb 14 17:28:09 2018 +0100

    mvebu: make sdcard bootloader option configurable
    
    Remove the necessity for boot loader from SD card image creation process
    and make it configurable.
    
    Signed-off-by: Tomasz Maciej Nowak <tomek_n at o2.pl>
---
 target/linux/mvebu/image/Makefile                |  5 ++++-
 target/linux/mvebu/image/gen_mvebu_sdcard_img.sh | 26 ++++++++++++++++--------
 2 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/target/linux/mvebu/image/Makefile b/target/linux/mvebu/image/Makefile
index a78269b..1f49090 100644
--- a/target/linux/mvebu/image/Makefile
+++ b/target/linux/mvebu/image/Makefile
@@ -44,10 +44,11 @@ define Build/boot-img
 endef
 
 define Build/sdcard-img
+	if [ -n "$(UBOOT)" ]; then UBOOT="$(STAGING_DIR_IMAGE)/$(UBOOT)"; fi; \
 	ROOTFS_SIZE=$$(( $(CONFIG_TARGET_ROOTFS_PARTSIZE) * 1024 * 2 )); \
 	SIGNATURE="$(SIGNATURE)" \
 	./gen_mvebu_sdcard_img.sh $@ \
-		"$(STAGING_DIR_IMAGE)/clearfog-u-boot-spl.kwb" \
+		$$UBOOT \
 		c 32768 $@.boot \
 		83 $$ROOTFS_SIZE $(IMAGE_ROOTFS)
 endef
@@ -206,6 +207,7 @@ define Device/armada-388-clearfog-pro
   IMAGE/sdcard.img.gz := boot-scr-cfpro | boot-img | sdcard-img | gzip | append-metadata
   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
 endef
 TARGET_DEVICES += armada-388-clearfog-pro
 
@@ -217,6 +219,7 @@ define Device/armada-388-clearfog-base
   IMAGES := sdcard.img.gz
   IMAGE/sdcard.img.gz := boot-scr-cfbase | boot-img | sdcard-img | gzip | append-metadata
   DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base
+  UBOOT := clearfog-u-boot-spl.kwb
 endef
 TARGET_DEVICES += armada-388-clearfog-base
 
diff --git a/target/linux/mvebu/image/gen_mvebu_sdcard_img.sh b/target/linux/mvebu/image/gen_mvebu_sdcard_img.sh
index 63acc79..67416ed 100755
--- a/target/linux/mvebu/image/gen_mvebu_sdcard_img.sh
+++ b/target/linux/mvebu/image/gen_mvebu_sdcard_img.sh
@@ -18,21 +18,27 @@
 #
 
 usage() {
-	echo "$0 <outfile> <bootloader> [<type_partitionN> <sectors_partitionN> <img_partitionN>]?"
+	echo "$0 <outfile> [<bootloader> <type_partitionN> <sectors_partitionN> <img_partitionN>]?"
 }
 
-# always require first 3 arguments
+# always require first 2 or 3 arguments
 # then in pairs up to 8 more for a total of up to 4 partitions
-if [ $# -lt 2 ] || [ $# -gt 15 ] || [ $((($# - 2) % 3)) -ne 0 ]; then
-	usage
-	exit 1
+if [ $# -lt 1 ] || [ $# -gt 14 ] || [ $((($# - 1) % 3)) -ne 0 ]; then
+	if [ $# -lt 2 ] || [ $# -gt 15 ] || [ $((($# - 2) % 3)) -ne 0 ]; then
+		usage
+		exit 1
+	else
+		BOOTLOADER="$2"
+	fi
 fi
 
 set -e
 
 # parameters
 OUTFILE="$1"; shift
-BOOTLOADER="$1"; shift
+if [ -n "$BOOTLOADER" ]; then
+	shift
+fi
 
 # generate image file
 printf "Creating $OUTFILE from /dev/zero: "
@@ -54,9 +60,11 @@ set `ptgen -o "$OUTFILE" -h $head -s $sect -l 1024 -S 0x$SIGNATURE $ptgen_args`
 printf "Done\n"
 
 # install bootloader
-printf "Writing bootloader: "
-dd of="$OUTFILE" if="$BOOTLOADER" bs=512 seek=1 conv=notrunc 2>/dev/null
-printf "Done\n"
+if [ -n "$BOOTLOADER" ]; then
+	printf "Writing bootloader: "
+	dd of="$OUTFILE" if="$BOOTLOADER" bs=512 seek=1 conv=notrunc 2>/dev/null
+	printf "Done\n"
+fi
 
 i=1
 while [ "$#" -ge 2 ]; do



More information about the lede-commits mailing list