tazlito rev 103
tazlito: better lzma default compression ratio
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Mon Aug 17 10:42:38 2009 +0200 (2009-08-17) |
parents | 329dcaa0bd9b |
children | 78b1b9a2e4fe |
files | tazlito |
line diff
1.1 --- a/tazlito Sun Aug 16 21:20:54 2009 +0200 1.2 +++ b/tazlito Mon Aug 17 10:42:38 2009 +0200 1.3 @@ -276,6 +276,19 @@ 1.4 genisohooks final 1.5 } 1.6 1.7 +lzma_history_bits() 1.8 +{ 1.9 + local n 1.10 + local sz 1.11 + n=20 # 1Mb 1.12 + sz=$(du -sk $1 | cut -f1) 1.13 + while [ $sz -gt 1024 -a $n -lt 28 ]; do 1.14 + n=$(( $n + 1 )) 1.15 + sz=$(( $sz / 2 )) 1.16 + done 1.17 + echo $n 1.18 +} 1.19 + 1.20 # Pack rootfs 1.21 pack_rootfs() 1.22 { 1.23 @@ -285,7 +298,7 @@ 1.24 cat > $2 1.25 elif [ -x /usr/bin/lzma -a "$COMPRESSION" != "gzip" ]; then 1.26 echo -n "Generating lzma'ed initramfs... " 1.27 - lzma e -si -so -d24 > $2 1.28 + lzma e -si -so -d$(lzma_history_bits $1) > $2 1.29 else 1.30 echo -n "Generating gziped initramfs... " 1.31 gzip -9 > $2 1.32 @@ -1257,13 +1270,8 @@ 1.33 echo -n "Repack $(basename $i)" 1.34 (zcat $i || unlzma -c $i || cat $i) \ 1.35 2>/dev/null > $TMP_DIR/rootfs 1.36 - n=20 # 1Mb 1.37 - sz=$(stat -c %s $TMP_DIR/rootfs) 1.38 - while [ $sz -gt 1048576 ]; do 1.39 - n=$(( $n + 1 )) 1.40 - sz=$(( $sz / 2 )) 1.41 - done 1.42 - lzma e $TMP_DIR/rootfs $i -d$n 1.43 + lzma e $TMP_DIR/rootfs $i \ 1.44 + -d$(lzma_history_bits $TMP_DIR/rootfs) 1.45 status 1.46 done 1.47