wok-next diff syslinux/stuff/iso2exe/iso2exe.sh @ rev 17492

syslinux/iso2exe: check ISO md5
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Jan 03 21:41:48 2015 +0100 (2015-01-03)
parents 2c2a6dd5ba40
children 26654c1a7ca7
line diff
     1.1 --- a/syslinux/stuff/iso2exe/iso2exe.sh	Fri Jan 02 21:46:16 2015 +0100
     1.2 +++ b/syslinux/stuff/iso2exe/iso2exe.sh	Sat Jan 03 21:41:48 2015 +0100
     1.3 @@ -37,6 +37,11 @@
     1.4  	mkdir -p $TMP/bin $TMP/dev
     1.5  	cp -a /dev/?d?* /dev/tty /dev/tty0 $TMP/dev
     1.6  	$0 --get init > $TMP/init.exe
     1.7 +	if [ $(stat -c %s $1) -gt 32768 ]; then
     1.8 +		echo "Compute ISO image md5 ..."
     1.9 +		sed -i "s/^ISOMD5.*/ISOMD5=$(ddq if=$1 bs=32k skip=1 | \
    1.10 +			md5sum | cut -c-32)/" $TMP/init.exe
    1.11 +	fi
    1.12  #	mount -o loop,ro $1 $TMP
    1.13  #	oldslitaz="$(ls $TMP/boot/isolinux/splash.lss 2> /dev/null)"
    1.14  #	umount -d $TMP
    1.15 @@ -57,10 +62,12 @@
    1.16  
    1.17  add_dosexe()
    1.18  {
    1.19 -	OFS=$((0x7EE0))
    1.20 -	printf "Adding DOS/EXE at %04X (%d bytes) ...\n" $OFS $((0x8000 - $OFS))
    1.21 -	$0 --get bootiso.bin 2> /dev/null | \
    1.22 -	ddq bs=1 skip=$OFS of=$1 seek=$OFS conv=notrunc
    1.23 +	TMP=/tmp/bootiso$$
    1.24 +	$0 --get bootiso.bin > $TMP 2> /dev/null 
    1.25 +	OFS=$(($(get 20 $TMP) - 0xC0))
    1.26 +	printf "Adding DOS/EXE stub at %04X (%d bytes) ...\n" $OFS $((0x8000 - $OFS))
    1.27 +	ddq if=$TMP bs=1 skip=$OFS of=$1 seek=$OFS conv=notrunc
    1.28 +	rm -f $TMP
    1.29  }
    1.30  
    1.31  add_doscom()