[Buildroot] [PATCH v2 3/4] board/altera: added genimage script to SoCkit

Lucas Bajolet lucas.bajolet at savoirfairelinux.com
Thu Jan 19 19:20:33 UTC 2017


Previously, the Altera SoCkit image has to be built manually by
the developer who wanted to use it.

This patch introduces a `genimage.cfg` file to build the image
automatically when done building the files from source.

Signed-off-by: Lucas Bajolet <lucas.bajolet at savoirfairelinux.com>
---
 board/altera/genimage.cfg       | 31 +++++++++++++++++++++++++++++++
 board/altera/post-image.sh      | 29 ++++++++++++++++++++++++++++-
 configs/altera_sockit_defconfig |  1 +
 3 files changed, 60 insertions(+), 1 deletion(-)
 create mode 100644 board/altera/genimage.cfg

diff --git a/board/altera/genimage.cfg b/board/altera/genimage.cfg
new file mode 100644
index 0000000..3107939
--- /dev/null
+++ b/board/altera/genimage.cfg
@@ -0,0 +1,31 @@
+image rootfs-img.vfat {
+	vfat {
+		file "socfpga.dtb" {image = "socfpga_cyclone5_sockit.dtb"}
+		file "zImage" {image = "zImage"}
+	}
+
+	size = 10M
+}
+
+image sockit_image.img {
+	hdimage {
+	}
+
+	partition uboot {
+		partition-type = 0xa2
+		image = "uboot-part.img"
+		offset = 0
+	}
+
+	partition rootfs {
+		partition-type = 0xb
+		image = "rootfs-img.vfat"
+		offset = 1M
+	}
+
+	partition linux {
+		partition-type = 0x83
+		image = "rootfs.ext2"
+		offset = 12M
+	}
+}
diff --git a/board/altera/post-image.sh b/board/altera/post-image.sh
index 03e7819..a9aefc9 100755
--- a/board/altera/post-image.sh
+++ b/board/altera/post-image.sh
@@ -5,4 +5,31 @@
 
 # create a DTB file copy with the name expected by the u-boot config
 # Name of the DTB is passed as the second argument to the script.
-cp -af $BINARIES_DIR/${2}.dtb  $BINARIES_DIR/socfpga.dtb
+set -e
+
+BOARD_DIR=$(dirname $0)
+
+# Create SPL + bootloader image
+fallocate -l 1M $BINARIES_DIR/uboot-part.img
+dd if=$BINARIES_DIR/u-boot-spl.bin of=$BINARIES_DIR/uboot-part.img bs=64k seek=0
+dd if=$BINARIES_DIR/u-boot-spl.bin.crc of=$BINARIES_DIR/uboot-part.img bs=64k seek=1
+dd if=$BINARIES_DIR/u-boot.img of=$BINARIES_DIR/uboot-part.img bs=64k seek=4
+
+#########################################
+# Final image generation (using genimage)
+#########################################
+# Prepare data for image
+T=`mktemp -d`
+echo $T
+mkdir -p $T/root
+mkdir -p $T/tmp
+
+echo "* Generating sd-card image..."
+genimage \
+        --config $BOARD_DIR/genimage.cfg \
+        --rootpath $T/root \
+        --tmppath $T/tmp \
+        --inputpath $BINARIES_DIR \
+        --outputpath $BINARIES_DIR \
+
+rm -rf $T
diff --git a/configs/altera_sockit_defconfig b/configs/altera_sockit_defconfig
index 1c9a499..ee1bd95 100644
--- a/configs/altera_sockit_defconfig
+++ b/configs/altera_sockit_defconfig
@@ -11,6 +11,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7=y
 
 BR2_ROOTFS_POST_IMAGE_SCRIPT="board/altera/post-image.sh"
 BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_LINUX_KERNEL_INTREE_DTS_NAME)"
+BR2_PACKAGE_HOST_GENIMAGE=y
 
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
-- 
2.7.4



More information about the buildroot mailing list