wok diff syslinux/stuff/iso2exe/iso2exe.sh @ rev 19857
syslinux/iso2exe: fix recursive_partition + hybrib_mbr
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Mar 18 09:21:47 2017 +0100 (2017-03-18) |
parents | 3378a0c35726 |
children | eeaaeada151a |
line diff
1.1 --- a/syslinux/stuff/iso2exe/iso2exe.sh Wed Mar 15 16:52:45 2017 +0100 1.2 +++ b/syslinux/stuff/iso2exe/iso2exe.sh Sat Mar 18 09:21:47 2017 +0100 1.3 @@ -116,7 +116,7 @@ 1.4 ddq if=/tmp/exe$$ bs=1 count=3 skip=$((0x7C00)) of=$1 seek=$i conv=notrunc 1.5 fi 1.6 rm -f /tmp/exe$$ /tmp/coff$$ 1.7 - if [ -z "$RECURSIVE_PARTITION" ]; then 1.8 + if [ -z "$RECURSIVE_PARTITION" -a $(get 470 $1 4) -eq 0 ]; then 1.9 store 464 $((1+$i/512)) $1 8 1.10 store 470 $(($i/512)) $1 8 1.11 store 474 $(($(get 474 $1 4) - $i/512)) $1 32 1.12 @@ -262,6 +262,15 @@ 1.13 ddq bs=1 conv=notrunc if="$1" of="$1" skip=$((0x1BE)) seek=0 count=3 1.14 ddq bs=1 skip=$((0x1BE)) count=66 if="$2" | \ 1.15 ddq bs=1 seek=$((0x1BE)) count=66 of="$1" conv=notrunc 1.16 + if [ -n "$RECURSIVE_PARTITION" ]; then 1.17 + for i in 0 1 2 3 ; do 1.18 + n=$(get $((0x1C6+16*i)) $1 4) 1.19 + [ $n -eq 0 -o $n -gt 64 ] && continue 1.20 + store $((0x1C0+16*i)) 1 $1 8 1.21 + store $((0x1C6+16*i)) 0 $1 32 1.22 + store $((0x1CA+16*i)) $(($(get $((0x1CA+16*i)) $1 4)+$n)) $1 32 1.23 + done 1.24 + fi 1.25 fi 1.26 } 1.27