wok rev 18062
syslinux/iso2exe: tazlito data may be more than 512 bytes
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sun May 17 23:17:58 2015 +0200 (2015-05-17) |
parents | 05e8a6b1bd47 |
children | 41c93f510464 |
files | syslinux/stuff/iso2exe/iso2exe.sh |
line diff
1.1 --- a/syslinux/stuff/iso2exe/iso2exe.sh Sun May 17 00:09:41 2015 +0200 1.2 +++ b/syslinux/stuff/iso2exe/iso2exe.sh Sun May 17 23:17:58 2015 +0200 1.3 @@ -74,6 +74,20 @@ 1.4 store 64 $(($OFS+0xC0)) $1 1.5 } 1.6 1.7 +add_tazlito_info() 1.8 +{ 1.9 + HOLE=$OFS 1.10 + [ $(get 0 $2) -eq 35615 ] || return 1.11 + zcat $2 | gzip -9 > /tmp/rezipped$$.gz 1.12 + [ "$(which advdef 2> /dev/null)" ] && 1.13 + advdef -z4 /tmp/rezipped$$.gz > /dev/null 1.14 + n=$(stat -c %s /tmp/rezipped$$.gz) 1.15 + printf "Moving tazlito data record at %04X ($n bytes) ...\n" $OFS 1.16 + ddq if=/tmp/rezipped$$.gz bs=1 of=$1 seek=$OFS conv=notrunc 1.17 + HOLE=$(($HOLE+$n)) 1.18 + rm -f /tmp/rezipped$$.gz 1.19 +} 1.20 + 1.21 add_win32exe() 1.22 { 1.23 SIZE=$($0 --get win32.exe 2> /dev/null | tee /tmp/exe$$ | wc -c) 1.24 @@ -273,10 +287,8 @@ 1.25 ddq if=$1 bs=512 count=1 of=/tmp/hybrid$$ 1.26 ddq if=$1 bs=512 skip=2 count=20 of=/tmp/tazlito$$ 1.27 add_win32exe $1 /tmp/hybrid$$ 1.28 - printf "Moving tazlito data record at %04X (512 bytes) ...\n" $OFS 1.29 - ddq if=/tmp/tazlito$$ bs=1 count=512 of=$1 seek=$OFS conv=notrunc 1.30 + add_tazlito_info $1 /tmp/tazlito$$ 1.31 rm -f /tmp/tazlito$$ /tmp/hybrid$$ 1.32 - HOLE=$(($OFS+512)) 1.33 1.34 # keep the largest room for the tazlito info file 1.35 add_dosexe $1