wok diff syslinux/stuff/iso2exe/iso2exe.sh @ rev 17562
syslinux/iso2exe: use iso size to compute md5sum
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Feb 07 15:39:46 2015 +0100 (2015-02-07) |
parents | 26654c1a7ca7 |
children | 52c9cc2da3c6 |
line diff
1.1 --- a/syslinux/stuff/iso2exe/iso2exe.sh Mon Jan 05 12:38:18 2015 +0100 1.2 +++ b/syslinux/stuff/iso2exe/iso2exe.sh Sat Feb 07 15:39:46 2015 +0100 1.3 @@ -205,7 +205,8 @@ 1.4 *) cat > /dev/null 1.5 esac 1.6 1.7 - [ ! -s "$1" ] && echo "usage: $0 image.iso [--undo]" 1>&2 && exit 1 1.8 + [ ! -s "$1" ] && 1.9 + echo "usage: $0 image.iso [--undo|\"DOS help message\"]" 1>&2 && exit 1 1.10 case "${2/--/-}" in 1.11 -u*|-r*|-w*) 1.12 case "$(get 0 $1)" in 1.13 @@ -237,10 +238,13 @@ 1.14 add_fdbootstrap $1 1.15 printf "%d free bytes in %04X..%04X\n" $(($OFS-$HOLE)) $HOLE $OFS 1.16 store 26 ${RANDOM:-0} $1 1.17 - if [ $(stat -c %s $1) -gt 32768 ]; then 1.18 - echo "Adding ISO image md5 ..." 1.19 - echo -en "$(ddq if=$1 bs=32k skip=1 | md5sum | cut -c-32 | sed \ 1.20 - 's/\(..\)/\\x\1/g')" | ddq bs=16 seek=2047 conv=notrunc of=$1 1.21 + [ "$2" ] && echo "$2 " | \ 1.22 + ddq bs=1 seek=$((0x7FDE)) count=15 conv=notrunc of=$1 1.23 + if [ $(stat -c %s $1) -gt 34816 ]; then 1.24 + echo "Adding ISO image md5 at 7FF0 (16 bytes) ..." 1.25 + echo -en "$(ddq if=$1 bs=2k skip=16 count=$(get 32848 $1) | \ 1.26 + md5sum | cut -c-32 | sed 's/\(..\)/\\x\1/g')" | \ 1.27 + ddq bs=16 seek=2047 conv=notrunc of=$1 1.28 fi 1.29 echo -n "Adding boot checksum..." 1.30 store 64 $(od -v -j 66 -N 32702 -t u2 -w2 -An $1 | \