slitaz-forge diff mirror/floppies/floppies @ rev 696

Fix floppies/download.php
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Jun 24 21:59:25 2018 +0200 (2018-06-24)
parents d65a5b0bb724
children
line diff
     1.1 --- a/mirror/floppies/floppies	Tue Feb 07 10:45:13 2017 +0100
     1.2 +++ b/mirror/floppies/floppies	Sun Jun 24 21:59:25 2018 +0200
     1.3 @@ -7,9 +7,9 @@
     1.4  
     1.5  ds()
     1.6  {
     1.7 -	set -- $1 ${2:-512} 512
     1.8 -	dd count=$((($1*$2)/$3)) bs=$3 2>/dev/null
     1.9 -	dd count=$(((($1*$2)%$3)/$2)) bs=$2 2>/dev/null
    1.10 +	set -- $1 ${2:-512}
    1.11 +	dd count=$((($1*$2)/512)) bs=512 2>/dev/null
    1.12 +	dd count=$(((($1*$2)%512)/$2)) bs=$2 2>/dev/null
    1.13  }
    1.14  
    1.15  case "$1" in
    1.16 @@ -17,23 +17,21 @@
    1.17  	ds 1
    1.18  	ds $(($(rd 0x1F1 1)-1))
    1.19  	[ $(rd 0x229 1) -le 128 ] || ds 1
    1.20 -	[ $(rd 0x228) -ne 0 ] && ds 1 >cmdline$$
    1.21 +	[ $(rd 0x228) -ne 0 ] && ds 1 >cmd$$
    1.22  	ds $(( ($(rd 0x1F4) +31) /32)) ) >kernel
    1.23 -	if [ $(rd 0x21C) -ne 0 ]; then
    1.24 -		ds $(( ($(rd 0x21C) +3) /4)) 4 >rootfs
    1.25 -	elif [ $(rd 0x218) -ne 0 ]; then
    1.26 +	[ $(rd 0x21C) -ne 0 ] && ds $(( ($(rd 0x21C) +3) /4)) 4 >rootfs ||
    1.27 +	if [ $(rd 0x218) -ne 0 ]; then
    1.28  		n=$(($(rd 0x1EE 2)%512))
    1.29  		i=0
    1.30 +		[ $(rd $n 4 cmd$$) -eq 0 ] && ds 5000 >rootfs ||
    1.31  		while [ $(($n % 256)) -lt $(rd 0x1F0 1) ]; do
    1.32 -			ds $(( ($(rd $n 4 cmdline$$) +3) /4)) 4 >rootfs$i
    1.33 +			ds $(( ($(rd $n 4 cmd$$) +3) /4)) 4 >rootfs$i
    1.34  			n=$(($n+4))
    1.35  			i=$(($i+1))
    1.36  		done
    1.37  	fi
    1.38 -	if [ -s cmdline$$ ]; then
    1.39 -		strings <cmdline$$ | sed q >cmdline
    1.40 -		rm -f cmdline$$
    1.41 -	fi
    1.42 +	[ -s cmd$$ ] && strings <cmd$$ | sed q >cmdline
    1.43 +	rm -f cmd$$
    1.44  	;;
    1.45  *)	cat <<EOT
    1.46  usage: cat fd*.img | $0 extract  or