From 44dba55162a573131ec293c4902c758b3a5c6227 Mon Sep 17 00:00:00 2001 From: luigi Date: Mon, 22 Jun 2009 15:45:26 +0000 Subject: Add code to generate a bootable ISO image, so we are finally free from the 2.88MB that we had using El Torito emulation. The --iso option was already there, just didn't do anything before. Submitted by: Marta Carbone MFC after: 3 days --- release/picobsd/build/picobsd | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) (limited to 'release/picobsd/build') diff --git a/release/picobsd/build/picobsd b/release/picobsd/build/picobsd index e5f58cd..7d42f89 100755 --- a/release/picobsd/build/picobsd +++ b/release/picobsd/build/picobsd @@ -140,6 +140,7 @@ set_defaults() { # no arguments # mountpoint used to build memory filesystems c_fs=fs.PICOBSD # filename used for the memory filesystem c_img=picobsd.bin # filename used for the picobsd image + c_iso=picobsd.bin # filename used for the ISO image generate_iso="NO" # don't generate the iso image # select the right disklabel program @@ -276,15 +277,7 @@ set_msgs() { # OK \t3. Site-info: ${SITE}\n\t4. Full-path: ${MY_TREE}\n" } -# build the iso image -build_iso_image() { - log "build_iso_image()" - clear - set_msgs - printf "${MSG}---> Build the iso image not ready yet\n\n" -} - -# Main build procedure. +# Main build procedure. Builds both the disk image and the ISO build_image() { log "build_image() <${name}>" [ -n "${name}" ] || fail $? bad_type @@ -902,6 +895,16 @@ fill_floppy_image() { fi log "image used `du -s ${dst}` of ${blocks}k" + if [ "${generate_iso}" = "YES" ]; then + logverbose "generate_iso ${generate_iso}" + # build_iso_image # XXX not implemented yet + (cd ${BUILDDIR} + cp -p /boot/cdboot ${dst}/boot || fail $? no_space "copying cdboot" + mkisofs -b boot/cdboot -no-emul-boot -J -r -ldots -l -L \ + -o ${c_iso} ${dst} + ) + fi + (cd ${BUILDDIR} makefs -t ffs -o bsize=4096 -o fsize=512 \ -s ${blocks}k -f 50 ${c_img} ${dst} @@ -918,11 +921,6 @@ fill_floppy_image() { ) echo "BUILDDIR ${BUILDDIR}" - if [ "${generate_iso}" = "YES" ]; then - echo "generate_iso ${generate_iso}" - # build_iso_image # XXX not implemented yet - exit 1 - fi # dump the primary and secondary boot # XXX primary is 512 bytes -- cgit v1.1