slitaz-forge rev 608

mkpkgiso: add hybrid shell boot
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Jan 12 15:39:02 2016 +0100 (2016-01-12)
parents 1d250e4f3640
children 35d8bce24a6c
files dvd/mkpkgiso
line diff
     1.1 --- a/dvd/mkpkgiso	Tue Jan 05 22:31:12 2016 +0100
     1.2 +++ b/dvd/mkpkgiso	Tue Jan 12 15:39:02 2016 +0100
     1.3 @@ -291,6 +291,27 @@
     1.4  return 0
     1.5  }
     1.6  
     1.7 +# Build hybdrid shell/mbr boot
     1.8 +shhybrid() 
     1.9 +{
    1.10 +blkuuid="$(blkid $1 | sed 's/.* UUID="\([^"]*\).*/\1/')"
    1.11 +echo -e "#\xE4\x73\x1C\nexec sed 1,/^#@/d/^\$/q \$0" | dd of=$1 conv=notrunc 2>/dev/null
    1.12 +dd bs=512 seek=1 conv=notrunc of=$1 2>/dev/null <<EOT
    1.13 +
    1.14 +#@
    1.15 +#!/bin/sh
    1.16 + 
    1.17 +dev=\$({ blkid $1; blkid; } | sed '/$blkuuid/!d;s/:.*//')
    1.18 + 
    1.19 +if [ -n "\$dev" ]; then
    1.20 +	mkdir -p /mnt/packages
    1.21 +	mount -t iso9660 -o loop,ro \$dev /mnt/packages
    1.22 +	/mnt/packages/install.sh
    1.23 +fi
    1.24 +
    1.25 +EOT
    1.26 +}
    1.27 +
    1.28  # Gen boot part
    1.29  BOOT_OPT=""
    1.30  iso=$ISO_DIR/slitaz-$PKG_VER.iso
    1.31 @@ -417,6 +438,10 @@
    1.32  which isohybrid > /dev/null && isohybrid $IMAGE 2> /dev/null
    1.33  status
    1.34  
    1.35 +echo -n "Creating hybrid shell/mbr"
    1.36 +shhybrid $IMAGE
    1.37 +status
    1.38 +
    1.39  echo -n "Calculating md5sum"
    1.40  md5sum $IMAGE > $(basename $IMAGE .iso).md5
    1.41  status