---
 build/boot/arm/bootscr.tftpboot | 21 +++++++++++++
 build/config/armhf/netboot.cfg  | 69 ++++++++++++++++++++++++++++++++++++++++-
 debian/changelog                |  2 ++
 3 files changed, 91 insertions(+), 1 deletion(-)
 create mode 100644 build/boot/arm/bootscr.tftpboot

diff --git a/build/boot/arm/bootscr.tftpboot b/build/boot/arm/bootscr.tftpboot
new file mode 100644
index 0000000..c5a26f4
--- /dev/null
+++ b/build/boot/arm/bootscr.tftpboot
@@ -0,0 +1,21 @@
+if test -z "${fdtfile}"; then
+  echo 'fdtfile environment variable not set. Aborting boot process.'
+  exit 0
+fi
+
+# Some i.MX6-based systems do not encode the baudrate in the console variable
+if test "${console}" = "ttymxc0" && test -n "${baudrate}" ; then
+  setenv console "${console},${baudrate}"
+fi
+
+if test -n "${console}"; then
+  setenv bootargs "${bootargs} console=${console}"
+fi
+
+setenv installer-path "/debian-installer/armhf/"
+
+tftpboot ${fdt_addr_r} ${installer-path}dtbs/${fdtfile} \
+&& tftpboot ${kernel_addr_r} ${installer-path}vmlinuz \
+&& tftpboot ${ramdisk_addr_r} ${installer-path}initrd.gz \
+&& echo "Booting the Debian installer..." \
+&& bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}
diff --git a/build/config/armhf/netboot.cfg b/build/config/armhf/netboot.cfg
index ce912c8..517a8ed 100644
--- a/build/config/armhf/netboot.cfg
+++ b/build/config/armhf/netboot.cfg
@@ -1,7 +1,74 @@
 MEDIA_TYPE = netboot image
 
-TARGET = $(INITRD) $(KERNEL)
+FULL_SUFFIX =
+CONCATENATEABLE_SUFFIX = concatenateable
+TFTP_INSTALLER_PATH = debian-installer/armhf/
+
+TARGET = $(KERNEL) $(INITRD) netboot_bootscript_sd netboot_bootscript_tftp 
netboot_tarball netboot_images_full
+
 EXTRANAME = $(MEDIUM)/
 
 MANIFEST-INITRD = "netboot initrd"
 MANIFEST-KERNEL = "kernel image to netboot"
+
+FLOPPY_SIZE = 40000
+
+GZIPPED = .gz
+
+.PHONY: netboot_bootscript_sd
+netboot_bootscript_sd:
+       mkimage -T script -A arm -d boot/arm/bootscr.mainline_common 
$(SOME_DEST)/$(EXTRANAME)boot.scr
+       update-manifest $(SOME_DEST)/$(EXTRANAME)boot.scr "Universal boot 
script for mainline u-boot (>= v2014.10)"
+
+.PHONY: netboot_bootscript_tftp
+netboot_bootscript_tftp:
+       mkimage -T script -A arm -d boot/arm/bootscr.tftpboot 
$(SOME_DEST)/$(EXTRANAME)tftpboot.scr
+       update-manifest $(SOME_DEST)/$(EXTRANAME)tftpboot.scr "TFTP boot script 
for mainline u-boot (>= v2014.10)"
+
+.PHONY: netboot_tarball
+netboot_tarball: $(KERNEL) $(INITRD) $(TEMP_DTBS) netboot_bootscript_tftp
+       rm -rf $(TEMP)/netboot_tarball
+       mkdir -p $(TEMP)/netboot_tarball/$(TFTP_INSTALLER_PATH)
+       cp $(KERNEL) $(TEMP)/netboot_tarball/$(TFTP_INSTALLER_PATH)vmlinuz
+       cp $(INITRD) $(TEMP)/netboot_tarball/$(TFTP_INSTALLER_PATH)initrd.gz
+       cp -r $(TEMP_DTBS) $(TEMP)/netboot_tarball/$(TFTP_INSTALLER_PATH)dtbs/
+       cp $(SOME_DEST)/$(EXTRANAME)tftpboot.scr 
$(TEMP)/netboot_tarball/$(TFTP_INSTALLER_PATH)
+       tar -C $(TEMP)/netboot_tarball/ -zcf 
$(SOME_DEST)/$(EXTRANAME)netboot.tar.gz $(TFTP_INSTALLER_PATH)tftpboot.scr 
$(TFTP_INSTALLER_PATH)initrd.gz $(TFTP_INSTALLER_PATH)vmlinuz 
$(TFTP_INSTALLER_PATH)dtbs/
+
+.PHONY: netboot_images_full
+netboot_images_full: $(KERNEL) $(INITRD) $(TEMP_DTBS) netboot_bootscript_sd
+       -rm -rf $(TEMP)/netboot_images_full
+       mkdir $(TEMP)/netboot_images_full
+       cp $(KERNEL) $(TEMP)/netboot_images_full/vmlinuz
+       cp $(INITRD) $(TEMP)/netboot_images_full/initrd.gz
+       cp $(SOME_DEST)/$(EXTRANAME)boot.scr 
$(TEMP)/netboot_images_full/boot.scr
+       cp -r $(TEMP_DTBS) $(TEMP)/netboot_images_full/dtbs/
+       cp boot/README.device-tree $(TEMP)/netboot_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)/netboot_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: netboot_images_concatenateable
+netboot_images_concatenateable: $(KERNEL) $(INITRD) $(TEMP_DTBS) 
netboot_bootscript_sd
+       -rm -rf $(TEMP)/netboot_images_concatenateable
+       mkdir $(TEMP)/netboot_images_concatenateable
+       cp $(KERNEL) $(TEMP)/netboot_images_concatenateable/vmlinuz
+       cp $(INITRD) $(TEMP)/netboot_images_concatenateable/initrd.gz
+       cp $(SOME_DEST)/$(EXTRANAME)boot.scr 
$(TEMP)/netboot_images_concatenateable/boot.scr
+       cp -r $(TEMP_DTBS) $(TEMP)/netboot_images_concatenateable/dtbs/
+       cp boot/README.device-tree 
$(TEMP)/netboot_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)/netboot_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 3243380..9020933 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,8 @@ debian-installer (201410XX) UNRELEASED; urgency=medium
   * 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.
+  * Add SD-card image and tftpboot tarball build support for netboot 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-6-git-send-email-mer...@debian.org

Reply via email to