wok diff memtest/stuff/pack @ rev 15188
Add memtest-serial
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sun Aug 25 18:09:21 2013 +0000 (2013-08-25) |
parents | 8d9ce0de31e0 |
children | 20fd4e3d8970 |
line diff
1.1 --- a/memtest/stuff/pack Sat Jul 13 14:32:56 2013 +0200 1.2 +++ b/memtest/stuff/pack Sun Aug 25 18:09:21 2013 +0000 1.3 @@ -1,12 +1,15 @@ 1.4 #!/bin/sh 1.5 if [ "$1" == "--build" ]; then 1.6 - bin=${2:-unpack.bin} 1.7 + set -- ${2:-bootloader.bin} ${3:-unpack.bin} 1.8 cat >> $0 <<EOM 1.9 -$(gzip -9 < $bin | uuencode -m -) 1.10 +$(dd if=$1 bs=512 count=1 conv=sync | cat - $2 | gzip -9 | uuencode -m -) 1.11 EOT 1.12 EOM 1.13 - getip=$(grep -s getip ${bin/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/') 1.14 + getip=$(grep -s getip ${2/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/') 1.15 sed -i "s/XXX/$((515+0x${getip:-5}))/" $0 1.16 + helpmsg=$(sed '/helpmsg:/!d{n;s/ [0-9]* \([^ ]*\).*/\1/}' ${1/.bin/.lst} | sed '$!d') 1.17 + sed -i "s/YYY/$((0x$helpmsg))/" $0 1.18 + sed -i "s/ZZZ/$((496-0x$helpmsg))/" $0 1.19 sed -i '/--build/,/^fi/d' $0 1.20 exit 1.21 fi 1.22 @@ -14,7 +17,7 @@ 1.23 store() 1.24 { 1.25 n=$1 1.26 - for i in $(seq 1 $4); do 1.27 + for i in $(seq 1 ${4:-2}); do 1.28 printf '\\\\x%02X' $(($n & 255)) 1.29 n=$(($n >> 8)) 1.30 done | xargs echo -en | dd conv=notrunc bs=1 of=$2 seek=$3 1.31 @@ -27,16 +30,25 @@ 1.32 1.33 main() 1.34 { 1.35 - dd if=$1 bs=512 count=1 >$2 1.36 - uudecode | gunzip >>$2 1.37 + uudecode | gunzip >$2 1.38 + dd if=$1 bs=1 skip=497 seek=497 count=15 of=$2 conv=notrunc 1.39 setup="$(echo $(od -j 497 -N 1 -dAn $1))" 1.40 syssize="$(echo $(od -j 500 -N 2 -dAn $1))" 1.41 dd if=$1 bs=512 count=$setup skip=1 | compress >>$2 1.42 dd if=$1 bs=16 count=$syssize skip=$((32*(1+$setup))) | compress >>$2 1.43 size=$(stat -c %s $2) 1.44 - store $((($size-512)/16)) $2 XXX 2 1.45 - store $((($size-2560)/16)) $2 500 2 1.46 + store $((($size-512)/16)) $2 XXX 1.47 + store $((($size-2560)/16)) $2 500 1.48 store 4 $2 497 1 1.49 + store $((($size+511)/512)) $2 4 1.50 + store $((($size+15)/16)) $2 14 1.51 + echo -en "$3" | dd conv=notrunc bs=1 seek=YYY of=$2 count=ZZZ 1.52 } 1.53 1.54 -main $1 $2 2>/dev/null <<EOT 1.55 +HELP="$(unix2dos <<EOT 1.56 +Memtest86+ is an endless advanced memory diagnostic tool released under the 1.57 +terms of the Gnu Public License (GPL). 1.58 + 1.59 +EOT 1.60 +)" 1.61 +main $1 ${2:-$1.packed} "${3:-$HELP}" 2>/dev/null <<EOT