wok diff memtest/stuff/pack @ rev 25504
Update some web_site / wget_url
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sun Feb 05 09:28:51 2023 +0000 (18 months ago) |
parents | 2ccf00d9c1cd |
children | 20c2ee666646 |
line diff
1.1 --- a/memtest/stuff/pack Fri Nov 18 09:54:27 2022 +0000 1.2 +++ b/memtest/stuff/pack Sun Feb 05 09:28:51 2023 +0000 1.3 @@ -11,6 +11,21 @@ 1.4 [ -n "$x" ] && sed -i "s/XXXSP/$((514+0x$x))/" $0 || sed -i "/XXXSP/d" $0 1.5 x=$(grep -s setup_seg$ ${2/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/') 1.6 [ -n "$x" ] && sed -i "s/XXXSS/$((513+0x$x))/" $0 || sed -i "/XXXSS/d" $0 1.7 + x=$(grep -s setup_keep$ ${2/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/') 1.8 + if [ -n "$x" ]; then 1.9 + sed -i "s/XXXK2 //" $0 1.10 + else 1.11 + x=$(grep -s setup_syssize$ ${2/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/') 1.12 + if [ -n "$x" ]; then 1.13 + sed -i "s/XXXK2/bs=500 skip=1/" $0 1.14 + else 1.15 + sed -i "s/XXXK2/bs=512 skip=1/" $0 1.16 + fi 1.17 + fi 1.18 + x=$(grep -s double_packed$ ${2/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/') 1.19 + [ -n "$x" ] && sed -i "s/| compress /&& 2 /" $0 1.20 + x=$(grep -s update_code32_start$ ${2/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/') 1.21 + [ -n "$x" ] && sed -i '/XXXU2/d; s| XXXU1||' $0 || sed -i '/XXXU1/d; s| XXXU2||' $0 1.22 grep -q BFF401 ${2/.bin/.lst} && sed -i 's/512 skip/500 skip/;s/1000 -/&32 - /' $0 1.23 grep -q 83C60D ${2/.bin/.lst} && sed -i 's/ | dd bs=1 skip=13//' $0 1.24 helpmsg=$(grep -s helpmsg$ ${1/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/') 1.25 @@ -40,15 +55,15 @@ 1.26 1.27 bits() 1.28 { 1.29 - sed "/define PROP_$1/!d;s|.*PROP_...||" unlzma.S 1.30 + sed "/^#define PROP_$1/!d;s|.*PROP_...||" unlzma.S 1.31 } 1.32 1.33 compress() 1.34 { 1.35 case "$PACKER" in 1.36 lz4) lz4 -l --best | tail -c +5 ;; 1.37 - lzsa1) cat > /tmp/in$$ ; lzsa -f1 /tmp/in$$ /tmp/out$$ ; tail -c +4 /tmp/out$$ ; rm -f /tmp/in$$ /tmp/out$$ ;; 1.38 - lzsa2) cat > /tmp/in$$ ; lzsa -f2 /tmp/in$$ /tmp/out$$ ; tail -c +4 /tmp/out$$ ; rm -f /tmp/in$$ /tmp/out$$ ;; 1.39 + lzsa1) cat > /tmp/in$$$1 ; lzsa -f1 /tmp/in$$$1 /tmp/out$$$1 ; tail -c +4 /tmp/out$$$1 ; rm -f /tmp/in$$$1 /tmp/out$$$1 ;; 1.40 + lzsa2) cat > /tmp/in$$$1 ; lzsa -f2 /tmp/in$$$1 /tmp/out$$$1 ; tail -c +4 /tmp/out$$$1 ; rm -f /tmp/in$$$1 /tmp/out$$$1 ;; 1.41 *) xz -z -e --format=raw --lzma1=lc=$(bits LC),lp=$(bits LP),pb=$(bits PB) --stdout 1.42 esac 1.43 } 1.44 @@ -59,18 +74,23 @@ 1.45 dd if=$1 bs=1 skip=497 seek=497 count=15 of=$2 conv=notrunc 1.46 setup="$(echo $(od -j 497 -N 1 -dAn $1))" 1.47 [ $setup -eq 0 ] && setup=4 1.48 + store $setup $2 497 1 1.49 + setup=$((setup+1)) 1.50 store $setup $2 XXXSB 1 1.51 store $setup $2 XXXSW 1 1.52 - store $((32 * $setup)) $2 XXXSP 1.53 - store $((0x1000 - 32*$setup)) $2 XXXSS 1.54 - dd if=$1 bs=512 skip=1 | compress >>$2 1.55 + store $((32*setup+0xF000)) $2 XXXSP 1.56 + store $((0x1000 - 32*setup)) $2 XXXSS 1.57 + cp $1 /tmp/un$$ XXXU1 1.58 + store 1 /tmp/un$$ 534 1 XXXU1 1.59 + dd if=/tmp/un$$ XXXK2 | compress >>$2 XXXU1 1.60 + rm -f /tmp/un$$ XXXU1 1.61 + dd if=$1 XXXK2 | compress >>$2 XXXU2 1.62 size=$(stat -c %s $2) 1.63 - syssize=$((($size-512*($setup+1)+15)/16)) 1.64 - store $(($syssize + 0x1000)) $2 XXXP 1.65 + syssize=$(((size-512*setup+15)/16)) 1.66 + store $((syssize + 0x1000 + 0x1000)) $2 XXXP 1.67 store $syssize $2 500 1.68 - store 4 $2 497 1 1.69 - store $((($size+511)/512)) $2 4 1.70 - store $((($size+15)/16)) $2 14 1.71 + store $(((size+511)/512)) $2 4 1.72 + store $(((size+15)/16)) $2 14 1.73 echo -e "$3" | dd conv=notrunc bs=1 seek=YYY of=$2 count=ZZZ 1.74 } 1.75