wok-current diff syslinux/stuff/iso2exe/taziso @ rev 18670
taziso, iso2exe.sh: add custom config support ; awstat-hotspot, awesome, avant-window-navigator: update pre/post_install
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Dec 04 21:23:22 2015 +0100 (2015-12-04) |
parents | 8031c3523ad8 |
children | 28bf6d31c5b9 |
line diff
1.1 --- a/syslinux/stuff/iso2exe/taziso Fri Dec 04 13:21:56 2015 +0100 1.2 +++ b/syslinux/stuff/iso2exe/taziso Fri Dec 04 21:23:22 2015 +0100 1.3 @@ -11,8 +11,8 @@ 1.4 1.5 get() 1.6 { 1.7 - od -v -j $1 -N ${4:-${3:-2}} -t u${3:-2} -w${3:-2} -An $2 2>/dev/null || 1.8 - hexdump -v -s $1 -n ${4:-${3:-2}} -e "\"\" 1/${3:-2} \" %d\n\"" $2 1.9 + od -v -j $1 -N ${4:-${3:-2}} -t u${3:-2} -w${3:-2} -An "$2" 2>/dev/null || 1.10 + hexdump -v -s $1 -n ${4:-${3:-2}} -e "\"\" 1/${3:-2} \" %d\n\"" "$2" 1.11 } 1.12 1.13 bytes2bin() 1.14 @@ -32,14 +32,14 @@ 1.15 gettazboot() 1.16 { 1.17 echo "Creating $(basename $1) ..." 1.18 - O=$(($(get 64 $ISO) - 0xC0)) 1.19 - L=$(($(get 20 $ISO) - 0xC0 - $(get 24 $ISO) - $O)) 1.20 + O=$(($(get 64 "$ISO") - 0xC0)) 1.21 + L=$(($(get 20 "$ISO") - 0xC0 - $(get 24 "$ISO") - $O)) 1.22 S=$((32+$L)) 1.23 P=$((($S+511)/512)) 1.24 E=$((4096-(32*$P))) 1.25 words2bin 0x5A4D $(($S%512)) $P 0 2 $E -1 $((${2:-0}-16)) \ 1.26 -2 0 256 -16 28 0x6C53 0x5469 0x7A61 > $1 1.27 - ddq bs=1 count=$L skip=$(echo $O) if=$ISO >> $1 1.28 + ddq bs=1 count=$L skip=$(echo $O) if="$ISO" >> $1 1.29 } 1.30 1.31 uncpio() 1.32 @@ -461,10 +461,10 @@ 1.33 and http://xpt.sourceforge.net/techdocs/nix/disk/boot/boot07-GrubForDosInfo/ar01s03.html 1.34 EOT 1.35 ( cd $mnt ; echo 'See \slitaz\boot\install.txt to launch SliTaz.' | \ 1.36 - zip -zr9 $(basename $ISO .iso).zip slitaz ) 1.37 + zip -zr9 $(basename "$ISO" .iso).zip slitaz ) 1.38 [ "$(which advzip)" ] && advzip -z4 $mnt/*.zip 1.39 mv $mnt/*.zip . 1.40 - ls -l $PWD/$(basename $ISO .iso).zip 1.41 + ls -l $PWD/$(basename "$ISO" .iso).zip 1.42 umount $mnt 1.43 rm -rf $mnt 1.44 } 1.45 @@ -802,22 +802,22 @@ 1.46 1.47 ishybrid() 1.48 { 1.49 - [ $(get 510 $ISO) -eq 43605 ] || return 1.50 - C=$((2048*$(get $(((17*2048) + 71)) $ISO 4))) 1.51 - [ $(get $C $ISO 4) -eq 1 ] || return 1.52 - [ $(get $(($C+30)) $ISO 4) -eq $((0x88AA55)) ] || return 1.53 - C=$((2048*$(get $(($C+40)) $ISO 4))) 1.54 - [ $(get $(($C+64)) $ISO 4) -eq 1886961915 ] && menuitem "$@" 1.55 + [ $(get 510 "$ISO") -eq 43605 ] || return 1.56 + C=$((2048*$(get $(((17*2048) + 71)) "$ISO" 4))) 1.57 + [ $(get $C "$ISO" 4) -eq 1 ] || return 1.58 + [ $(get $(($C+30)) "$ISO" 4) -eq $((0x88AA55)) ] || return 1.59 + C=$((2048*$(get $(($C+40)) "$ISO" 4))) 1.60 + [ $(get $(($C+64)) "$ISO" 4) -eq 1886961915 ] && menuitem "$@" 1.61 } 1.62 1.63 isiso() 1.64 { 1.65 - [ $(get 32769 $ISO 4) -eq 808469571 ] && menuitem "$@" 1.66 + [ $(get 32769 "$ISO" 4) -eq 808469571 ] && menuitem "$@" 1.67 } 1.68 1.69 hastazboot() 1.70 { 1.71 - [ $(get 0 $ISO) -eq 23117 ] && menuitem "$@" 1.72 + [ $(get 0 "$ISO") -eq 23117 ] && menuitem "$@" 1.73 } 1.74 1.75 burnable() 1.76 @@ -844,24 +844,40 @@ 1.77 gotisomd5() 1.78 { 1.79 [ "$(which md5sum 2> /dev/null)" ] && 1.80 - [ $(get 0 $ISO) -eq 23117 ] && 1.81 - [ $(get 18 $ISO) -ne 0 ] && menuitem "$@" 1.82 + [ $(get 0 "$ISO") -eq 23117 ] && 1.83 + [ $(get 18 "$ISO") -ne 0 ] && menuitem "$@" 1.84 } 1.85 1.86 isomd5() 1.87 { 1.88 dotwait "Checking iso image" 1.89 - [ "$(ddq if=$ISO bs=2k skip=16 \ 1.90 - count=$(echo $(get 32848 $ISO 4)) | md5sum)" == \ 1.91 - "$(ddq if=$ISO bs=16 count=1 skip=2047 | od -N 16 -t x1 -An | \ 1.92 + [ "$(ddq if="$ISO" bs=2k skip=16 \ 1.93 + count=$(echo $(get 32848 "$ISO" 4)) | md5sum)" == \ 1.94 + "$(ddq if="$ISO" bs=16 count=1 skip=2047 | od -N 16 -t x1 -An | \ 1.95 sed 's/ //g') -" ] && echo "OK" || echo "ERROR" 1.96 echo -en "\rChecking iso hybrid boot..." 1.97 - n=$(($(get 2 $ISO)-1+($(get 4 $ISO)-1)*512)) 1.98 + n=$(($(get 2 "$IS"O)-1+($(get 4 "$ISO")-1)*512)) 1.99 if [ $n -lt 40000 -a $n -gt 32768 ]; then 1.100 - s=$(get 0 $ISO 2 $n | awk '{ i+= $0 } END { print i }') 1.101 - [ $(((1+$s+$(get $(($n+1)) $ISO 1)) % 65536)) -eq 0 ] && 1.102 + s=$(get 0 "$ISO" 2 $n | awk '{ i+= $0 } END { print i }') 1.103 + [ $(((1+$s+$(get $(($n+1)) "$ISO" 1)) % 65536)) -eq 0 ] && 1.104 echo "OK" || echo "ERROR" 1.105 fi 1.106 + n=$(($(get 32848 "$ISO" 4)+16)) 1.107 + if [ "$(ddq bs=2k skip=$n if="$ISO" | ddq bs=1 count=6)" == "#!boot" ]; then 1.108 + echo -en "\rChecking iso custum boot..." 1.109 + md5="$(ddq bs=2k skip=$n if="$ISO" | while read line; do 1.110 + case "$line" in 1.111 + \#!boot*) echo ${line#*boot } > /tmp/$0$$md5 ;; 1.112 + append=*) echo $line ;; 1.113 + initrd:*) echo $line 1.114 + ddq bs=1 count=${line#initrd:} 1.115 + break ;; 1.116 + *) break ;; 1.117 + esac 1.118 + done | md5sum | cut -c1-32)" 1.119 + [ "$md5" == "$(cat /tmp/$0$$md5)" ] && echo "OK" || echo "ERROR" 1.120 + rm -f /tmp/$0$$md5 1.121 + fi 1.122 rm -f /tmp/wait 1.123 [ "$1" ] && return 0 1.124 echo -e "\rPress RETURN to continue." 1.125 @@ -923,8 +939,8 @@ 1.126 usbdev || return 1.127 1.128 # perform dd in progress bar 1.129 - max=$(($(stat -c %s $ISO)/2048)) 1.130 - i=0; ddq if=$ISO bs=1024k | ( 1.131 + max=$(($(stat -c %s "$ISO")/2048)) 1.132 + i=0; ddq if="$ISO" bs=1024k | ( 1.133 while ddq bs=1024k count=1 ; do 1.134 i=$(($i + 1)) 1.135 [ $i -gt $max ] && break 1.136 @@ -994,7 +1010,7 @@ 1.137 exec 3>&- 1.138 [ $retval -eq 0 ] || return 1.139 [ "$format" != "none" ] && tazusb format $device "SliTaz" $format 1.140 - tazusb gen-iso2usb $ISO $device 1.141 + tazusb gen-iso2usb "$ISO" $device 1.142 } 1.143 1.144 dokexec() 1.145 @@ -1015,8 +1031,8 @@ 1.146 1.147 flavdata() 1.148 { 1.149 - [ $(get 1024 $ISO) -eq 35615 ] && n=2 || n=$((1+$(get 417 $ISO 1))) 1.150 - dd if=$ISO bs=512 skip=$n count=20 2>/dev/null | zcat 2>/dev/null 1.151 + [ $(get 1024 "$ISO") -eq 35615 ] && n=2 || n=$((1+$(get 417 "$ISO" 1))) 1.152 + dd if="$ISO" bs=512 skip=$n count=20 2>/dev/null | zcat 2>/dev/null 1.153 } 1.154 1.155 hasflavinfo() 1.156 @@ -1053,7 +1069,7 @@ 1.157 { 1.158 name="$(flavdata | cpio -t 2> /dev/null | sed 's/.[a-z]*$//;q')" 1.159 echo "Create ${name:=flavor}.flavor..." 1.160 - tazlito iso2flavor $ISO $name 1.161 + tazlito iso2flavor "$ISO" $name 1.162 ls -l $name.flavor 1.163 } 1.164 1.165 @@ -1222,15 +1238,15 @@ 1.166 1.167 isotitle() 1.168 { 1.169 - echo "$(basename $ISO) $(stat -c %y $media/.|sed 's/ .*//') $(blkid \ 1.170 - $ISO | sed 's/.*LABEL="\([^"]*\).*/\1/')" 1.171 + echo "$(basename "$ISO") $(stat -c %y $media/.|sed 's/ .*//') $(blkid \ 1.172 + "$ISO" | sed 's/.*LABEL="\([^"]*\).*/\1/')" 1.173 } 1.174 1.175 ISO="${1:-/dev/null}" 1.176 [ -z "$(isiso 2> /dev/null)" ] && echo "Usage : $0 file.iso" && exit 1 1.177 media=/tmp/media$$ 1.178 mkdir -p $media 1.179 -mount -o loop,ro $ISO $media 1.180 +mount -o loop,ro "$ISO" $media 1.181 1.182 if [ "$2" == "list" ]; then 1.183 sed '/^\$(.*") \\/!d;s/^\$(\(.*\)").*/\1"/' $0 | while read line; do