wok diff syslinux/stuff/iso2exe/init @ 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 | 20fc9712d9c6 |
line diff
1.1 --- a/syslinux/stuff/iso2exe/init Mon Jan 05 12:38:18 2015 +0100 1.2 +++ b/syslinux/stuff/iso2exe/init Sat Feb 07 15:39:46 2015 +0100 1.3 @@ -70,8 +70,9 @@ 1.4 done >> /tmp/data 1.5 while ! grep -q "^$n " /tmp/data ; do 1.6 clear 1.7 - [ $(wc -l < /tmp/data) -gt 20 ] && 1.8 - less /tmp/data || cat /tmp/data 1.9 + [ $(wc -l < /tmp/data) -gt 22 ] && 1.10 + sed 's/..3.;4.m/===/g;$aPress q to continue' \ 1.11 + /tmp/data | less || cat /tmp/data 1.12 echo -en "\n <- Enter the selection number\r" 1.13 read n 1.14 done 2> /dev/null 1.15 @@ -637,22 +638,24 @@ 1.16 1.17 gotisomd5() 1.18 { 1.19 + [ "$(which md5sum 2> /dev/null)" ] && 1.20 [ $(get 18 /dev/loop0) -ne 0 ] && echo -en "\"$1\" \"$2\"" 1.21 } 1.22 1.23 isomd5() 1.24 { 1.25 dotwait "Checking iso image" 1.26 - [ "$(ddq if=/dev/loop0 bs=32k skip=1 | md5sum)" == \ 1.27 + [ "$(ddq if=/dev/loop0 bs=2k skip=16 \ 1.28 + count=$(echo $(get 32848 /dev/loop0)) | md5sum)" == \ 1.29 "$(ddq if=/dev/loop0 bs=16 count=1 skip=2047 | od -N 16 -t x1 -An | \ 1.30 sed 's/ //g') -" ] && echo "OK" || echo "ERROR" 1.31 - echo -n "Checking iso hybrid boot" 1.32 + echo -en "\rChecking iso hybrid boot" 1.33 n=$(($(get 2 /dev/loop0)-1+($(get 4 /dev/loop0)-1)*512)) 1.34 s=$(get 0 /dev/loop0 2 $n | awk '{ i+= $0 } END { print i }') 1.35 [ $(((1+$s+$(get $(($n+1)) /dev/loop0 1)) % 65536)) -eq 0 ] && 1.36 echo "OK" || echo "ERROR" 1.37 rm -f /tmp/wait 1.38 - echo "Press RETURN to continue." 1.39 + echo -e "\rPress RETURN to continue." 1.40 read n 1.41 } 1.42 1.43 @@ -746,11 +749,11 @@ 1.44 $ll $lh $(($n & 0xFFFF)) $(($n >> 16)) | \ 1.45 ddq bs=1 seek=446 of=$device 1.46 if [ "$(which mkdosfs 2> /dev/null)" ]; then 1.47 - losetup -o $((512*$ofs)) /dev/loop0 $device 1.48 - mkdosfs -n "SLITAZ BOOT" /dev/loop0 1.49 + losetup -o $((512*$ofs)) /dev/loop2 $device 1.50 + mkdosfs -n "SLITAZ BOOT" /dev/loop2 1.51 words2bin $(($ofs & 0xFFFF)) $(($ofs >> 16)) | \ 1.52 - ddq bs=1 seek=28 of=/dev/loop0 1.53 - losetup -d /dev/loop0 1.54 + ddq bs=1 seek=28 of=/dev/loop2 1.55 + losetup -d /dev/loop2 1.56 fi 1.57 fi ; } 1.58 } 1.59 @@ -831,7 +834,8 @@ 1.60 { 1.61 n=0 1.62 dotwait "Extract filesystem..." 1.63 - for i in $(ls_r /media/cdrom/boot/rootfs*); do 1.64 + for i in $(ls_r /media/cdrom/boot/rootfs*gz); do 1.65 + grep -q ' lm ' /proc/cpuinfo && [ -s ${i}64 ] && i=${i}64 1.66 [ $((n++)) -eq 0 ] || uncpio $i 1.67 done 1.68 rm -f /tmp/wait