From: Stephen Soltesz Date: Fri, 11 Jan 2008 00:00:56 +0000 (+0000) Subject: Add a build_usb_partition function to create a partitioned usb image that will X-Git-Tag: bootcd-3.4-3~7 X-Git-Url: http://git.onelab.eu/?p=bootcd.git;a=commitdiff_plain;h=39775f10f0153c02bbebc628990bf48da3b6394c Add a build_usb_partition function to create a partitioned usb image that will allow (at least) the dc7800 PCs to boot from a USB image. Uses the mtools configuration file to reach inside of an image file. --- diff --git a/build.sh b/build.sh index afa9580..1ee3864 100755 --- a/build.sh +++ b/build.sh @@ -294,6 +294,59 @@ EOF $MKISOFS_OPTS \ $isofs } +function build_usb_partition() +{ + echo -n "* Creating USB image with partitions..." + local usb="$1" + local serial=$2 + local custom=$3 + + local size=$(($(du -Lsk $isofs | awk '{ print $1; }') + $FREE_SPACE)) + size=$(( $size / 1024 )) + + local heads=64 + local sectors=32 + local cylinders=$(( ($size*1024*2)/($heads*$sectors) )) + local offset=$(( $sectors*512 )) + + /usr/lib/syslinux/mkdiskimage -M -4 "$usb" $size $heads $sectors + + cat >${BUILDTMP}/mtools.conf<$tmp </dev/null || : + mcopy -i "$usb" "$tmp" z:/syslinux.cfg + rm -f "$tmp" + rm -f "${BUILDTMP}/mtools.conf" + unset MTOOLSRC + + echo "making USB image bootable." + syslinux -o $offset "$usb" + +} # Create USB image function build_usb() @@ -520,6 +573,7 @@ function type_to_name() { echo $1 | sed ' s/usb$/.usb/; + s/usb_partition$/-partition.usb/; s/usb_serial$/-serial.usb/; s/iso$/.iso/; s/iso_serial$/-serial.iso/;