---
 build/boot/README.concatenateable_images | 30 ++++++++++++++++++++++
 build/config/armhf/hd-media.cfg          | 44 +++++++++++++++++++++++++++++++-
 debian/changelog                         |  1 +
 3 files changed, 74 insertions(+), 1 deletion(-)
 create mode 100644 build/boot/README.concatenateable_images

diff --git a/build/boot/README.concatenateable_images 
b/build/boot/README.concatenateable_images
new file mode 100644
index 0000000..326054a
--- /dev/null
+++ b/build/boot/README.concatenateable_images
@@ -0,0 +1,30 @@
+This directory provides installer images in the form of a device-specific
+part (containing the partition table and the system firmware) and a
+device-independent part (containing the actual installer), which can be
+unpacked and concatenated together to build a complete installer image.
+
+The device-specific part is named firmware.<board_name>.img(.gz|.bz2|.xz)
+and the device-independent part is named partition.img(.gz|.bz2|.xz).
+
+To create a complete image from the two parts on Linux systems, you can
+use zcat (for .gz images), bzcat (for .bz2 images) or xzcat (for .xz
+images) as follows:
+
+  zcat firmware.<board_name>.img.gz partition.img.gz > complete_image.img
+
+respectively
+
+  bzcat firmware.<board_name>.img.bz2 partition.img.bz2 > complete_image.img
+
+respectively
+
+  xzcat firmware.<board_name>.img.xz partition.img.xz > complete_image.img
+
+
+On Windows systems, you have to first decompress the two parts separately,
+which can be done e.g. by using 7-Zip, and then concatenate the decompressed
+parts together by running the command
+
+  copy firmware.<board_name>.img + partition.img complete_image.img
+
+in a Windows CMD.exe window.
diff --git a/build/config/armhf/hd-media.cfg b/build/config/armhf/hd-media.cfg
index ec119df..5107f40 100644
--- a/build/config/armhf/hd-media.cfg
+++ b/build/config/armhf/hd-media.cfg
@@ -1,9 +1,13 @@
 FLAVOUR_SUPPORTED = ""
+FLOPPY_SIZE = 40000
 
 GZIPPED = .gz
 EXTRANAME = hd-media/
 
-TARGET = $(KERNEL) $(INITRD) hd-media_bootscript hd-media_tarball
+FULL_SUFFIX =
+CONCATENATEABLE_SUFFIX = concatenateable
+
+TARGET = $(KERNEL) $(INITRD) hd-media_bootscript hd-media_tarball 
hd-media_images_full
 
 MANIFEST-INITRD = "Initrd for use on USB memory sticks"
 MANIFEST-KERNEL = "Kernel for use on USB memory sticks"
@@ -24,3 +28,41 @@ hd-media_tarball: $(KERNEL) $(INITRD) $(TEMP_DTBS) 
hd-media_bootscript
        cp boot/README.device-tree $(TEMP)/hd-media/dtbs/README
        tar -C $(TEMP)/hd-media -zcf $(TEMP)/hd-media.tar.gz boot.scr initrd.gz 
vmlinuz dtbs/
        mv  $(TEMP)/hd-media.tar.gz $(SOME_DEST)/$(EXTRANAME)
+
+.PHONY: hd-media_images_full
+hd-media_images_full: $(KERNEL) $(INITRD) $(TEMP_DTBS) hd-media_bootscript
+       -rm -rf $(TEMP)/hd-media_images_full
+       mkdir $(TEMP)/hd-media_images_full
+       cp $(KERNEL) $(TEMP)/hd-media_images_full/vmlinuz
+       cp $(INITRD) $(TEMP)/hd-media_images_full/initrd.gz
+       cp $(SOME_DEST)/$(EXTRANAME)boot.scr 
$(TEMP)/hd-media_images_full/boot.scr
+       cp -r $(TEMP_DTBS) $(TEMP)/hd-media_images_full/dtbs/
+       cp boot/README.device-tree $(TEMP)/hd-media_images_full/dtbs/README
+       mkdir -p $(SOME_DEST)/$(EXTRANAME)/SD-card-images/$(FULL_SUFFIX)
+       while read LINE; \
+       do \
+         if [ -n "$${LINE}" ] && ! echo $${LINE}|grep -q -e "^#"; then \
+           set -- $${LINE} ;\
+           gen-hd-image -v -z -b complete -s "$(FLOPPY_SIZE)" -i 
"$(TEMP)/hd-media_images_full" -o 
"$(SOME_DEST)/$(EXTRANAME)/SD-card-images/$(FULL_SUFFIX)/$${1}.img" "$$2" "$$3" 
"$$4" "$$5" ;\
+         fi ;\
+       done < boot/arm/u-boot-image-config
+
+.PHONY: hd-media_images_concatenateable
+hd-media_images_concatenateable: $(KERNEL) $(INITRD) $(TEMP_DTBS) 
hd-media_bootscript
+       -rm -rf $(TEMP)/hd-media_images_concatenateable
+       mkdir $(TEMP)/hd-media_images_concatenateable
+       cp $(KERNEL) $(TEMP)/hd-media_images_concatenateable/vmlinuz
+       cp $(INITRD) $(TEMP)/hd-media_images_concatenateable/initrd.gz
+       cp $(SOME_DEST)/$(EXTRANAME)boot.scr 
$(TEMP)/hd-media_images_concatenateable/boot.scr
+       cp -r $(TEMP_DTBS) $(TEMP)/hd-media_images_concatenateable/dtbs/
+       cp boot/README.device-tree 
$(TEMP)/hd-media_images_concatenateable/dtbs/README
+       mkdir -p 
$(SOME_DEST)/$(EXTRANAME)/SD-card-images/$(CONCATENATEABLE_SUFFIX)
+       while read LINE; \
+       do \
+         if [ -n "$${LINE}" ] && ! echo $${LINE}|grep -q -e "^#"; then \
+           set -- $${LINE} ;\
+           gen-hd-image -v -z -b firmware -s "$(FLOPPY_SIZE)" -o 
"$(SOME_DEST)/$(EXTRANAME)/SD-card-images/$(CONCATENATEABLE_SUFFIX)/firmware.$${1}.img"
 "$$2" "$$3" "$$4" "$$5" ;\
+         fi ;\
+       done < boot/arm/u-boot-image-config
+       gen-hd-image -v -z -b partition -s "$(FLOPPY_SIZE)" -i 
"$(TEMP)/hd-media_images_concatenateable" -o 
"$(SOME_DEST)/$(EXTRANAME)/SD-card-images/$(CONCATENATEABLE_SUFFIX)/partition.img"
+       cp boot/README.concatenateable_images 
"$(SOME_DEST)/$(EXTRANAME)/SD-card-images/$(CONCATENATEABLE_SUFFIX)/"
diff --git a/debian/changelog b/debian/changelog
index 4fafb44..3243380 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,7 @@ debian-installer (201410XX) UNRELEASED; urgency=medium
   * Provide u-boot binaries for armhf systems without u-boot in flash.
   * Add utils/gen-hd-image (a script to create partitioned harddisk images
     from a directory and optionally install a bootloader into the image).
+  * Add SD-card image build support for hd-media builds on armhf.
 
   [ Aurelien Jarno ]
   * Add scsi-modules to the cdrom flavour on ppc64el to be able to access
-- 
2.1.4


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/1420124326-7070-5-git-send-email-mer...@debian.org

Reply via email to