slitaz-forge rev 594

Update mirror/floppies
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Jul 31 18:40:18 2015 +0200 (2015-07-31)
parents bded7f6ff5ff
children 8c02c699a951
files mirror/floppies/1.0/description.html mirror/floppies/2.0/description.html mirror/floppies/3.0/description.html mirror/floppies/4.0/description.html mirror/floppies/builder/bootloader mirror/floppies/builder/index.php mirror/floppies/download.php mirror/floppies/floppies mirror/floppies/loram-1.0/description.html mirror/floppies/loram-2.0/description.html mirror/floppies/loram-3.0/description.html mirror/floppies/loram-4.0/description.html mirror/floppies/menu.css mirror/floppies/mini-1.0/description.html mirror/floppies/mini-2.0/description.html mirror/floppies/mini-3.0/description.html mirror/floppies/mini-4.0/description.html mirror/floppies/mkindex.sh
line diff
     1.1 --- a/mirror/floppies/1.0/description.html	Wed Jun 03 10:26:51 2015 +0300
     1.2 +++ b/mirror/floppies/1.0/description.html	Fri Jul 31 18:40:18 2015 +0200
     1.3 @@ -23,3 +23,8 @@
     1.4  The base flavor will then start and you will be prompted to insert extra floppies
     1.5  for the core flavor. You can bypass this by using Q and Enter.
     1.6  </p>
     1.7 +<p>
     1.8 +If you have an ext3 partition on your hard disk, the bootstrap can create the
     1.9 +installation script <u>slitaz/install.sh</u>. You will be able to install SliTaz
    1.10 +on your hard disk without extra media.
    1.11 +</p>
     2.1 --- a/mirror/floppies/2.0/description.html	Wed Jun 03 10:26:51 2015 +0300
     2.2 +++ b/mirror/floppies/2.0/description.html	Fri Jul 31 18:40:18 2015 +0200
     2.3 @@ -27,3 +27,8 @@
     2.4  The base flavor will then start and you will be prompted to insert extra floppies
     2.5  for justx and core flavors. You can bypass this by using Q and Enter.
     2.6  </p>
     2.7 +<p>
     2.8 +If you have an ext3 partition on your hard disk, the bootstrap can create the
     2.9 +installation script <u>slitaz/install.sh</u>. You will be able to install SliTaz
    2.10 +on your hard disk without extra media.
    2.11 +</p>
     3.1 --- a/mirror/floppies/3.0/description.html	Wed Jun 03 10:26:51 2015 +0300
     3.2 +++ b/mirror/floppies/3.0/description.html	Fri Jul 31 18:40:18 2015 +0200
     3.3 @@ -21,9 +21,9 @@
     3.4  </p>
     3.5  <p>
     3.6  The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
     3.7 -insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd005.img</i>.
     3.8 +insert the next floppy, <i>fd002.img</i>. And so on up to last floppy.
     3.9  </p>
    3.10  <p>
    3.11 -The base flavor will then start and you will be prompted to insert extra floppies
    3.12 -for justx and core flavors. You can bypass this by using Q and Enter.
    3.13 +You will be prompted to insert extra floppies for justx and core flavors.
    3.14 +You can bypass this by using B to boot without loading extra floppies.
    3.15  </p>
     4.1 --- a/mirror/floppies/4.0/description.html	Wed Jun 03 10:26:51 2015 +0300
     4.2 +++ b/mirror/floppies/4.0/description.html	Fri Jul 31 18:40:18 2015 +0200
     4.3 @@ -7,15 +7,15 @@
     4.4    base provides the minimum slitaz distribution subset in text mode. 
     4.5    </li>
     4.6    <li>
     4.7 -  <b>justx</b> needs 96M of RAM and 11 floppies: <i>fd001.img</i> to <i>fd104.img</i>.<br />
     4.8 +  <b>justx</b> needs 96M of RAM and 12 floppies: <i>fd001.img</i> to <i>fd105.img</i>.<br />
     4.9    justx provides the minimum slitaz distribution subset with X11 support. 
    4.10    </li>
    4.11    <li>
    4.12 -  <b>gtkonly</b> needs 128M of RAM and 16 floppies: <i>fd001.img</i> to <i>fd204.img</i>.<br />
    4.13 +  <b>gtkonly</b> needs 128M of RAM and 17 floppies: <i>fd001.img</i> to <i>fd204.img</i>.<br />
    4.14    gtkonly provides the minimum slitaz distribution subset with Gtk+ support. 
    4.15    </li>
    4.16    <li>
    4.17 -  <b>core</b> needs 192M of RAM and 25 floppies: <i>fd001.img</i> to <i>fd308.img</i>.<br />
    4.18 +  <b>core</b> needs 192M of RAM and 25 floppies: <i>fd001.img</i> to <i>fd307.img</i>.<br />
    4.19    core provides the default slitaz distribution. 
    4.20    </li>
    4.21  </ul>
    4.22 @@ -25,9 +25,9 @@
    4.23  </p>
    4.24  <p>
    4.25  The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
    4.26 -insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd006.img</i>.
    4.27 +insert the next floppy, <i>fd002.img</i>. And so on up to last floppy.
    4.28  </p>
    4.29  <p>
    4.30 -The base flavor will then start and you will be prompted to insert extra floppies
    4.31 -for justx and core flavors. You can bypass this by using Q and Enter.
    4.32 +You will be prompted to insert extra floppies for justx, gtkonly and core flavors.
    4.33 +You can bypass this by using B to boot without loading extra floppies.
    4.34  </p>
     5.1 --- a/mirror/floppies/builder/bootloader	Wed Jun 03 10:26:51 2015 +0300
     5.2 +++ b/mirror/floppies/builder/bootloader	Fri Jul 31 18:40:18 2015 +0200
     5.3 @@ -2,27 +2,144 @@
     5.4  #
     5.5  # This script creates a floppy image set from a linux bzImage and can merge
     5.6  # a cmdline and/or one or more initramfs.
     5.7 -# The total size can not exceed 15M because INT 15H function 87H limitations.
     5.8  #
     5.9 -# (C) 2009 Pascal Bellard - GNU General Public License v3.
    5.10 +# (C) 2009-2015 Pascal Bellard - GNU General Public License v3.
    5.11  
    5.12  usage()
    5.13  {
    5.14  cat <<EOT
    5.15 -Usage: $0 bzImage [--prefix image_prefix] [--info file ]
    5.16 -       [--format 1200|1440|1680|1920|2880|... ] [--mem mb]
    5.17 -       [--rdev device] [--video mode] [--flags rootflags] [--tracks cnt]
    5.18 -       [--cmdline 'args'] [--dont-edit-cmdline] [--no-syssize-fix]
    5.19 +Usage: $0 bzImage [--prefix image_prefix] [--info file] [--quiet]
    5.20 +       [--format 1200|1440|1680|1920|2880|...] [--mem mb] [--tracks cnt]
    5.21 +       [--rdev device] [--video mode] [--flags rootflags] [--no-syssize-fix]
    5.22 +       [--dont-edit-cmdline] [--cmdline 'args'] [--hide-version-string]
    5.23         [--address-initrd address] [--initrd initrdfile]...
    5.24  
    5.25  Default values: --format 1440 --tracks 80 --rdev /dev/fd0 --prefix floppy. --mem 16
    5.26  
    5.27  Example:
    5.28  $0 /boot/bzImage --rdev /dev/ram0 --video -3 --cmdline 'rw lang=fr_FR kmap=fr-latin1 laptop autologin' --initrd /boot/rootfs.gz --initrd ./myconfig.gz
    5.29 +
    5.30 +or: $0 --extract floppy*
    5.31 +
    5.32 +Create kernel and maybe cmdline, initrd and info files from a floppy images set 
    5.33  EOT
    5.34  exit 1
    5.35  }
    5.36  
    5.37 +# bzImage offsets
    5.38 +SetupSzOfs=497
    5.39 +FlagsOfs=498
    5.40 +OldRamfsLenOfs=504
    5.41 +VideoModeOfs=506
    5.42 +RootDevOfs=508
    5.43 +Magic=0x202
    5.44 +RamfsAdrOfs=0x218
    5.45 +RamfsLenOfs=0x21C
    5.46 +
    5.47 +ddq() { dd $@ 2> /dev/null; }
    5.48 +
    5.49 +get()
    5.50 +{
    5.51 +echo $( od -v -j $(($1)) -N ${4:-${3:-2}} -t u${3:-2} -w${3:-2} -An $2 2>/dev/null ||
    5.52 +	hexdump -v -s $(($1)) -n ${4:-${3:-2}} -e "\"\" 1/${3:-2} \" %d\n\"" $2 )
    5.53 +}
    5.54 +
    5.55 +trace()
    5.56 +{
    5.57 +	[ -n "$DEBUG" ] && printf "$@" 1>&2 && echo 1>&2
    5.58 +}
    5.59 +
    5.60 +# usage: store bits offset data file
    5.61 +store()
    5.62 +{
    5.63 +	n=$3; for i in $(seq 8 8 $1); do
    5.64 +		printf '\\\\x%02X' $(($n & 255))
    5.65 +		n=$(($n >> 8))
    5.66 +	done | xargs echo -en | ddq bs=1 conv=notrunc of=$4 seek=$(($2))
    5.67 +	s=$1; a=$2; d=$3; shift 4; c="$@"
    5.68 +	trace "store$s(%03X) = %0$(($s/4))X	$c" $a $d
    5.69 +}
    5.70 +
    5.71 +die()
    5.72 +{
    5.73 +	echo $@ 1>&2
    5.74 +	exit 1
    5.75 +}
    5.76 +extract()
    5.77 +{
    5.78 +	shift
    5.79 +	[ ! -s "$1" ] && die "No floppy ?"
    5.80 +	[ $(get 0x1FE "$1") -ne 43605 ] && die "Not bootable"
    5.81 +	[ $(get $Magic "$1" 4) != 1400005704 ] &&
    5.82 +	[ $(get 0x1F4 "$1") -gt 32768 -o $(get 0x1F6 "$1") -ne 0 ] &&
    5.83 +	die "Not linux."
    5.84 +	FORMAT="$(($(stat -c "%s" $1)/1024))"
    5.85 +	cat <<EOT
    5.86 +--format $FORMAT
    5.87 +--rdev $(printf "0x%04X" $(get $RootDevOfs $1))
    5.88 +--video $(get $VideoModeOfs $1)
    5.89 +--flags $(get $FlagsOfs $1)
    5.90 +EOT
    5.91 +	MYBB="$(ddq if=$1 bs=512 count=1 | strings | grep "Insert disk 00")"
    5.92 +	cmdline=0
    5.93 +	info=0
    5.94 +	if [ "$MYBB" ]; then
    5.95 +		cmdline=$(get 0x22 $1)
    5.96 +		info=$(get 0x1EF $1)
    5.97 +		[ $(get 0x75 $1) -eq $((0xDB0)) ] && echo "--dont-edit-cmdline"
    5.98 +		[ $(get 0x58 $1) -eq $((0x9090)) ] && echo "--hide-version-string"
    5.99 +	fi
   5.100 +	n=$(($(get $SetupSzOfs $1 1)+1))
   5.101 +	[ $n -eq 1 ] && n=5
   5.102 +	[ $info -ne 0 ] && infolen=$(($n-$info/512)) && n=$(($info/512))
   5.103 +	[ $cmdline -ne 0 ] && n=$(($cmdline/512))
   5.104 +	cat "$@" | {
   5.105 +		ddq bs=512 count=$n >kernel
   5.106 +		files="kernel"
   5.107 +		if [ "$MYBB" ]; then
   5.108 +			store 8 $SetupSzOfs $(($n-1)) kernel "setup size $n"
   5.109 +			store 16 0x22 0 kernel "clear cmdline"
   5.110 +			store 16 0x1EF 0 kernel "clear info"
   5.111 +		fi
   5.112 +		[ $cmdline -ne 0 ] && files="$files cmdline" &&
   5.113 +		ddq bs=512 count=1 | strings | sed q > cmdline
   5.114 +		[ $info -ne 0 ] && files="$files info" &&
   5.115 +		ddq bs=512 count=$infolen | sed \
   5.116 +		 's/'$(echo -en "\xff\xff$//;s/\xff/\f")'/g;s/\r/\n/g;q' > info
   5.117 +		syssz=$(get 0x1F4 kernel 4)
   5.118 +		ddq bs=16 count=$syssz >>kernel
   5.119 +		[ $(($syssz % 32)) -ne 0 ] &&
   5.120 +		ddq bs=16 of=/dev/null count=$((32 - ($syssz % 32)))
   5.121 +		if [ $(get $Magic kernel 4) == 1400005704 ]; then
   5.122 +	  		ddq bs=1 count=200 skip=$((512+$(get 0x20E kernel 2))) \
   5.123 +	  			if=kernel | strings | sed q
   5.124 +			len=$(get $RamfsLenOfs kernel 4)
   5.125 +			if [ $len -ne 0 ]; then
   5.126 +				adrs=$(get $RamfsAdrOfs kernel 4)
   5.127 +				printf "--address-initrd 0x%X \n" $adrs
   5.128 +				echo "--mem $(((($adrs+$len)/1024+512)/1024))"
   5.129 +				ddq bs=512 count=$((($len+511)/512)) > initrd
   5.130 +				ddq count=0 bs=1 seek=$len of=initrd
   5.131 +				files="$files initrd"
   5.132 +				store 64 $RamfsAdrOfs 0 kernel "reset initrd"
   5.133 +			fi
   5.134 +			if [ $(get 0x206 kernel) -ge 514 ]; then
   5.135 +				store 32 0x228 0 kernel "clean cmdline32"
   5.136 +			fi
   5.137 +		else
   5.138 +			len=$(get $OldRamfsLenOfs kernel)
   5.139 +			[ $len -ne 0 ] && files="$files initrd" &&
   5.140 +			if [ -s "$2" ]; then
   5.141 +				ddq if=$2 bs=1024 count=$len of=initrd
   5.142 +			else
   5.143 +				ddq if=$1 bs=1024 skip=256 count=$len of=initrd
   5.144 +			fi
   5.145 +		fi
   5.146 +		ls -l $files
   5.147 +	}
   5.148 +	exit
   5.149 +}
   5.150 +
   5.151  KERNEL=""
   5.152  INITRD=""
   5.153  ADRSRD=""
   5.154 @@ -34,7 +151,9 @@
   5.155  FLAGS=""
   5.156  TRACKS="80"
   5.157  MEM="16"
   5.158 +HIDE=""
   5.159  NOEDIT=""
   5.160 +QUIET=""
   5.161  NOSYSSIZEFIX=""
   5.162  INFOFILE=""
   5.163  DEBUG=""
   5.164 @@ -44,18 +163,19 @@
   5.165  	-inf*) INFOFILE="$2"; shift;;
   5.166  	-i*) INITRD="$INITRD $2"; shift;;
   5.167  	-a*) ADRSRD="$2"; shift;;
   5.168 -	-h*) HEAP="$2"; shift;;
   5.169 -	-l*) LOADERTYPE="$2"; shift;;
   5.170 +	-h*) HIDE="1";;
   5.171  	-p*) PREFIX="$2"; shift;;
   5.172  	-fl*)FLAGS="$2"; shift;;	# 1 read-only, 0 read-write
   5.173  	-f*) FORMAT="$2"; shift;;
   5.174  	-m*) MEM="$(echo $2 | sed 's/[^0-9]//g')"; shift;;
   5.175  	-r*) RDEV="$2"; shift;;
   5.176  	-v*) VIDEO="$2"; shift;;	# -3 .. n
   5.177 -	-t*) TRACKS="$2"; shift;; # likely 81 .. 84
   5.178 +	-t*) TRACKS="$2"; shift;;	# likely 81 .. 84
   5.179  	-n*) NOSYSSIZEFIX="1";;
   5.180  	-debug) DEBUG="1";;
   5.181  	-d*) NOEDIT="1";;
   5.182 +	-q*) QUIET="1";;
   5.183 +	-e*) extract "$@";;
   5.184  	*) KERNEL="$1";;
   5.185  	esac
   5.186  	shift
   5.187 @@ -66,91 +186,62 @@
   5.188  	echo "Invalid track count for format $FORMAT."
   5.189  	usage
   5.190  fi
   5.191 -[ 0$MEM -lt 4  ] && MEM=4
   5.192 -[ $MEM -gt 16 ] && MEM=16
   5.193 -
   5.194 -ddq() { dd $@ 2> /dev/null; }
   5.195 +[ 0$MEM -lt 2  ] && MEM=2
   5.196  
   5.197  patch()
   5.198  {
   5.199  	echo -en $(echo ":$2" | sed 's/:/\\x/g') | \
   5.200  		ddq bs=1 conv=notrunc of=$3 seek=$((0x$1))
   5.201 -	[ -n "$DEBUG" ] && echo "patch $1 $2		$4" 1>&2
   5.202 -}
   5.203 -
   5.204 -# usage: store bits offset data file
   5.205 -store()
   5.206 -{
   5.207 -	n=$3; for i in $(seq 8 8 $1); do
   5.208 -		printf '\\\\x%02X' $(($n & 255))
   5.209 -		n=$(($n >> 8))
   5.210 -	done | xargs echo -en | ddq bs=1 conv=notrunc of=$4 seek=$(($2))
   5.211 -	[ -n "$DEBUG" ] && printf "store%d(%03X) = %0$(($1/4))X	%s\n" $1 $2 $3 "$5" 1>&2
   5.212 -}
   5.213 -
   5.214 -# usage: getlong offset file
   5.215 -getlong()
   5.216 -{
   5.217 -	ddq if=$2 bs=1 skip=$(($1)) count=4 | hexdump -e '"" 1/4 "%d" "\n"'
   5.218 +	trace "patch $1 $2		$4"
   5.219  }
   5.220  
   5.221  error()
   5.222  {
   5.223 -	echo $@ 1>&2
   5.224  	rm -f $bs
   5.225 -	exit 1
   5.226 +	die $@
   5.227  }
   5.228  
   5.229  floppyset()
   5.230  {
   5.231 -	# bzImage offsets
   5.232 -	SetupSzOfs=497
   5.233 -	FlagsOfs=498
   5.234 -	VideoModeOfs=506
   5.235 -	RootDevOfs=508
   5.236 -	Magic=0x202
   5.237 -	RamfsAdrOfs=0x218
   5.238 -	RamfsLenOfs=0x21C
   5.239 -
   5.240  	# boot+setup address
   5.241  	SetupBase=0x90000
   5.242  
   5.243  	bs=/tmp/bs$$
   5.244  
   5.245  	# Get and patch boot sector
   5.246 -	# See http://hg.slitaz.org/wok/raw-file/66e38bd6a132/linux/stuff/linux-header.u
   5.247 -	[ -n "$DEBUG" ] && echo "Read bootsector..." 1>&2
   5.248 +	# See http://hg.slitaz.org/wok/raw-file/13835bce7189/syslinux/stuff/iso2exe/bootloader.S
   5.249 +	trace "Read bootsector..."
   5.250  	ddq if=$KERNEL bs=512 count=1 of=$bs
   5.251  
   5.252 -	[ $(( $(getlong 0x1FE $bs) & 0xFFFF )) -eq 43605 ] ||
   5.253 -		error "Not bootable"
   5.254 +	[ $(get 0x1FE $bs) -eq 43605 ] || error "Not bootable"
   5.255  	
   5.256  	uudecode <<EOT | ddq of=$bs conv=notrunc
   5.257  begin-base64 644 -
   5.258 -/L+4nWgAkBeJ/BYHMcC5HgDzq1sfD6Gg8X1AxXd4BlexBvOlFh9kZo9HeMZF
   5.259 -+D/6l1hB6DwBvgACgUwQIIDGRCWbA3QO6GoBWwseKAJ0LFNH6AYBXuhaAbAg
   5.260 -zRCwCM0QTuhZATwIdAOIBK05NigCdPDoMgE8CnXgiHz+W4nm/0gQxkAVk4Dz
   5.261 -CHX0u/QBoRUCsQVmix9mS2bT60NoAAgHv4AAiXwTiUQbAfjR7yn7nHMCAd9Q
   5.262 -V1ZTMdvongBbXlmGzbSHFgfNFVidd9ChGQK7HAKxCTlEG3K6l80T6gAAIJCw
   5.263 -RijIvtgB6MoAXesjgPkTcgQ4wXdrgP4CcgQ45ndsYIH9AAZ0KgZSUVOWtAJQ
   5.264 -sQa1BMHFBLAPIegEkCcUQCfohAD+zXXssCDNEOK06I4AmM0TYVJQKMh3ArAB
   5.265 -mDn4cgKJ+FC0As0TlV5YWnKglUGO6YDHAk90S0519IzplTjBdT+IyP7GsQE4
   5.266 -5nU1iPT+xYD9ULYAdSq1AGC+2wH+RAxT6C8AW+g2AHUWUpjNE7gBAs0TWtDU
   5.267 -OmT+depGCOR15WHrkbAxLAO0DrsHAM0QPA1088OwDejv/6wIwHX4w79sBLFb
   5.268 -ZAINuA0BZDoNdArNFnT0mM0WjudHw1g6AEluc2VydCBkaXNrIDEHDQA=
   5.269 +v8adaACQF4n8FgcxwLk7APOqWx+g8X1AD6H6xXd4XwZXvQAAsQbzpRYfZGaP
   5.270 +R3jGRfg/l1hB6CQBMfYLNu8BdAzoggF0B+hgATwbdfS+AAKBTBAggMZEJZvo
   5.271 +ZwEx9gt3G3Q6x0cZP6PoWwGwIOgtASwYc/lO6DEBmDwIdAOIBK05dxt08OgV
   5.272 +ATwKdd+IfP4WB78AgIn+h3cbtQLzpFuJ5v9IEMdAFAiTgPMIdfO79AGxBaEV
   5.273 +AmaLH2ZLZtPrZkOJRBtmv4AAAABmKfuccwIB31BTVjHbaACAB+hwAF5bjMG0
   5.274 +hxYHzRVYBQABEEwfnXfPuQkCuxwCOE/+che0iM0VPQCwcgaIbB+Ib/+hGQLT
   5.275 +b+J1o5fNE+oAACCQWjjBdzRgzRP56HMAYVJQKMh3ArABOfhyAon4ULQCzRNa
   5.276 +WHLclQHRjukA1wDXKddadE2M6ZU4wXXUiMixATDOdcz+xYD9UHXFtQBgvtEB
   5.277 +U7sPAIAg8Ev+AIA4OXf16EwAW4n16CkAdRVSmM0TuAECzRNa0NQ6Zv516kVI
   5.278 +debrjbAxHAO0DrsHAM0QPA1088O/bARkxgWmuA0BZDoldArNFnT0mM0WjudH
   5.279 +wwN0DrAN6NL/rDwAf/jDSW5zZXJ0IGRpc2sgMDAxIGFuZCBFbnRlci4HDQAA
   5.280 +AAA=
   5.281  ====
   5.282  EOT
   5.283  	# Get setup
   5.284 -	setupsz=$(( $(getlong $SetupSzOfs $bs) & 0xFF ))
   5.285 +	setupsz=$(get $SetupSzOfs $bs 1)
   5.286  	if [ $setupsz -eq 0 ]; then
   5.287  		setupsz=4
   5.288  		store 8 $SetupSzOfs $setupsz $bs "setup size $setupsz"
   5.289  	fi
   5.290 -	[ -n "$DEBUG" ] && echo "Read setup ($setupsz sectors) ..." 1>&2
   5.291 +	trace "Read setup ($setupsz sectors) ..."
   5.292  	ddq if=$KERNEL bs=512 skip=1 count=$setupsz >> $bs
   5.293  
   5.294 -	Version=$(( $(getlong 0x206 $bs) & 0xFFFF ))
   5.295 -	[ $(getlong $Magic $bs) -ne 1400005704 ] && Version=0
   5.296 +	Version=$(get 0x206 $bs)
   5.297 +	[ $(get $Magic $bs 4) != 1400005704 ] && Version=0
   5.298  	feature=""
   5.299  	while read prot kern info ; do
   5.300  		[ $Version -lt $((0x$prot)) ] && continue
   5.301 @@ -158,10 +249,11 @@
   5.302  	done <<EOT
   5.303  200	1.3.73	kernel_version, bzImage, initrd, loadflags/type_of_loader
   5.304  201	1.3.76	heap_end_ptr
   5.305 -202	2.4.0	new cmdline
   5.306 +202	2.4.0	new cmdline + relocatable setup
   5.307  204	2.6.14	long syssize
   5.308 +206	2.6.22	cmdline maxsize $(get 0x238 $bs 4)
   5.309  EOT
   5.310 -	[ -n "$DEBUG" ] && printf "Protocol %X $feature\n" $Version 1>&2
   5.311 +	trace "Protocol %X $feature" $Version
   5.312  	
   5.313  	# Old kernels need bootsector patches to disable rescent features
   5.314  	while read minversion maxversion offset bytes rem; do
   5.315 @@ -169,29 +261,17 @@
   5.316  		[ $Version -lt $(( 0x$minversion )) ] && continue
   5.317  		patch $offset $bytes $bs "$rem"
   5.318  	done <<EOT
   5.319 -000 1FF 08D	B8:00:01			force zImage (movw \$0x100, %ax)
   5.320 -000 1FF 0CB	EB:0B				skip initrd code 
   5.321 -000 201 01E	EB:1E:00:00:00:00		room for the cmdline magic
   5.322 -000 201 036	BE:00:00:E8:76:01:EB:0A:06:57:B1:06:F3:A5:EB:DE	code in cmdline magic moved
   5.323 -000 1FF 039	90:90:90			no kernel version
   5.324 -000 201 04B	22:00				old cmdline ptr 1
   5.325 -000 201 06D	22:00				old cmdline ptr 2
   5.326 +000 1FF 0B2	B8:00:01			force zImage (movw \$0x100, %ax)
   5.327 +000 1FF 0F9	EB				skip initrd code 
   5.328 +000 1FF 059	90:90:90			no kernel version
   5.329 +000 1FF 050	90:90:90:90:90			type_of_loader
   5.330 +000 200 055	90:90:90:90			heap_end_ptr
   5.331  000 203 1F6	00:00 				syssize32
   5.332 -200 FFF 210	FF				type_of_loader=FF
   5.333 -201 FFF 224	00:9B				heap_end_ptr
   5.334  EOT
   5.335 -	if [ $Version -lt 514 ]; then
   5.336 -		version_string=$((0x200 + ($(getlong 0x20E $bs) & 65535) ))
   5.337 -		store	16	0x0037	$version_string	$bs version_string
   5.338 -	fi
   5.339 -	if [ $Version -ge 512 -a $(getlong 0x214 $bs) -ge $((0x100000)) ]; then 
   5.340 -		patch	211	81	$bs	loadflags=can_use_heap+loadhigh
   5.341 -		patch	09D	10	$bs	LOADSEG=0x1000
   5.342 -		patch	0A0	00:01	$bs	LOADSZ=0x10000
   5.343 -	fi
   5.344 -	[ -n "$CMDLINE" ] || patch 04D EB $bs "No cmdline"
   5.345 -	[ -n "$NOEDIT" ] && patch 059 0D:46:EB:14 $bs 'mov CR,%al ; inc %si; jmp putal'
   5.346 -	[ 1$TRACKS -ne 180 ] &&	store	8	0x171		$TRACKS $bs TRACKS
   5.347 +	[ -n "$CMDLINE" ] || patch 061 EB $bs "No cmdline"
   5.348 +	[ -n "$HIDE" ] && patch 058 90 90 90 $bs "Hide version"
   5.349 +	[ -n "$NOEDIT" ] && patch 075 B0:0D:90 $bs 'mov CR,%al ; nop'
   5.350 +	[ 1$TRACKS -ne 180 ] &&	store	8	0x15F		$TRACKS $bs TRACKS
   5.351  	
   5.352  	[ -n "$FLAGS" ] &&	store	16	$FlagsOfs	$FLAGS $bs FLAGS
   5.353  	[ -n "$VIDEO" ] &&	store	16	$VideoModeOfs	$VIDEO $bs VIDEO
   5.354 @@ -205,78 +285,93 @@
   5.355  	[ -b "$RDEV" ] && RDEV=$(stat -c '0x%02t%02T' $RDEV 2> /dev/null)
   5.356  	store 16 $RootDevOfs $RDEV $bs RDEV
   5.357  
   5.358 -	[ $FORMAT -lt 1440 ] && store 8 0xEF  16	 $bs	1.2M
   5.359 -	[ $FORMAT -lt 1200 ] && store 8 0xEF  10	 $bs	720K
   5.360 -	[ $FORMAT -lt 720  ] && store 8 0x171 40	 $bs	360K
   5.361 -	[ $FORMAT -lt 360  ] && store 8 0xEF  9		 $bs	320K
   5.362 -	[ $FORMAT -lt 320  ] && store 8 0xF8  2		 $bs	160K
   5.363 +	[ $FORMAT -lt 720  ] && store 8 0x15F 40	 $bs	360K
   5.364 +	[ $FORMAT -lt 320  ] && store 8 0x158 237	 $bs	160K
   5.365  	
   5.366 +	extra=0
   5.367 +	# Store cmdline after setup for kernels >= 0.99
   5.368 +	if [ -n "$CMDLINE" ]; then
   5.369 +		CmdlineOfs=$(stat -c '%s' $bs)
   5.370 +		store 16 0x22 $CmdlineOfs $bs "Cmdline @$CmdlineOfs '$CMDLINE'"
   5.371 +		[ $Version -ge 514 ] &&
   5.372 +		store 32 0x228 $(( $SetupBase + 0x8000 )) $bs "Cmdline32"
   5.373 +		echo -n "$CMDLINE" | ddq bs=512 count=1 conv=sync >> $bs
   5.374 +		extra=$(($extra+1))
   5.375 +		store 8 0x1F1  $(($setupsz+$extra))	 $bs	setup size
   5.376 +		[ $Version -ge 512 ] && [ -n "$QUIET" ] &&
   5.377 +		store 8 0x211 $(($(get 0x211 $bs 1) | 32)) $bs suppress early messages
   5.378 +	fi
   5.379 +
   5.380  	# Info text after setup
   5.381  	if [ -s "$INFOFILE" ]; then
   5.382 -		patch	048	9a:00:00:00:90	$bs	lcall displayinfo
   5.383 -		uudecode >$bs.infotext <<EOT
   5.384 -begin-base64 644 -
   5.385 -MdsGYI7D6AAAXoHGSgCJ8MHoCUii8QGwDbQOuwcAzRCsPAx1I79sBLFbJgIN
   5.386 -uBsBJjoNdAnNFnT0mM0Wjsc8IHPjPBt0BuvPCMB1zWEHCx4oAss=
   5.387 -====
   5.388 -EOT
   5.389 -		cat "$INFOFILE" >>$bs.infotext
   5.390 -		if [ $Version -lt 514 ]; then
   5.391 -			store 16 0x050 0x0022 $bs.infotext 
   5.392 -		fi
   5.393 +		InfoOfs=$(stat -c '%s' $bs)
   5.394 +		sed -e ':a;N;$!ba;s/\r\n/\r/g;s/\n/\r/g' \
   5.395 +		    -e 's/'$(echo -e "\f/\xff/g;s/$/\xff\xff")'/' \
   5.396 +			< "$INFOFILE" > $bs.infotext
   5.397  		ddq if=/dev/zero bs=512 count=1 >>$bs.infotext
   5.398 -		n=$(($(stat -c %s $bs.infotext)/512))
   5.399 -		ddq if=$bs.infotext count=$n bs=512 >> $bs
   5.400 +		infolen=$(($(stat -c %s $bs.infotext)/512))
   5.401 +		ddq if=$bs.infotext count=$infolen bs=512 >> $bs
   5.402 +		extra=$(($extra+$infolen))
   5.403  		rm -f $bs.infotext
   5.404 -		store 8 0x1F1  $(($setupsz+$n))	 $bs	update setup size
   5.405 -		store 8 0x04A  $((2+2*$setupsz)) $bs	update displayinfo call
   5.406 +		store 8 0x1F1  $(($setupsz+$extra))	$bs	setup size
   5.407 +		store 16 0x1EF  $InfoOfs $bs	update infoptr
   5.408  	fi
   5.409  
   5.410 -	# Store cmdline after setup for kernels >= 0.99
   5.411 -	if [ -n "$CMDLINE" ]; then
   5.412 -		echo -n "$CMDLINE" | ddq bs=512 count=1 conv=sync >> $bs
   5.413 -		CmdlineOfs=0x9E00	# Should be in 0x8000 .. 0xA000
   5.414 -		ArgPtrOfs=0x228
   5.415 -		ArgPtrVal=$(( $SetupBase + $CmdlineOfs ))
   5.416 -		if [ $Version -lt 514 ]; then
   5.417 -			ArgPtrOfs=0x0020
   5.418 -			ArgPtrVal=$(( 0xA33F + ($CmdlineOfs << 16) ))
   5.419 -		fi
   5.420 -		store 32 $ArgPtrOfs $ArgPtrVal $bs "Cmdline '$CMDLINE'"
   5.421 +	syssz=$((($(stat -c %s $KERNEL)+15)/16-32*(1+$setupsz)))
   5.422 +	#syssz=$(get 0x1F4 $bs 4)
   5.423 +	sysszsect=$((($syssz+31)/32))
   5.424 +	store 16 $OldRamfsLenOfs 0 $bs clear oldramfs
   5.425 +	INITRD="${INITRD# }"
   5.426 +	INITRDPAD=4
   5.427 +	[ -n "$INITRD" ] &&
   5.428 +	if [ $Version -lt 512 ]; then
   5.429 +		# Compute initramfs location (protocol < 2.00)
   5.430 +		[ $syssz -gt 32768 ] && syssz=$(get 0x1F4 $bs 2)
   5.431 +		[ $syssz -eq 0 ] && syssz=$((0x7F00))
   5.432 +		sysszsect=$((($syssz+31)/32))
   5.433 +		INITRD="${INITRD%%,*}"
   5.434 +		initrdlen=$(stat -c %s "$INITRD")
   5.435 +		store 16 $OldRamfsLenOfs $(($initrdlen/1024)) $bs set oldramfs
   5.436 +		INITRDDISKALIGN=$((0x40000))
   5.437 +		[ $(($initrdlen+$INITRDDISKALIGN)) -gt $(($FORMAT*1024)) -o \
   5.438 +		  $(((512*$sysszsect) + $(stat -c %s $bs))) -gt $INITRDDISKALIGN -o \
   5.439 +		  -n "$ADRSRD" ] && INITRDDISKALIGN=$(($FORMAT*1024))
   5.440 +	else
   5.441 +INITRDRAMALIGN=0x1000
   5.442 +		# Compute initramfs size (protocol >= 2.00)
   5.443 +		initrdlen=0
   5.444 +		INITRDDISKALIGN=0
   5.445 +		for i in ${INITRD//,/ }; do
   5.446 +			[ -s "$i" ] || continue
   5.447 +			while [ -L "$i" ]; do i="$(readlink $i)"; done
   5.448 +			size=$(stat -c %s "$i")
   5.449 +			trace "initrd $i $size "
   5.450 +			initrdlen=$(((($initrdlen + $INITRDPAD - 1) & -$INITRDPAD) + $size))
   5.451 +			ADRSRD2=$(( (($MEM * 0x100000) - $initrdlen) & -$INITRDRAMALIGN ))
   5.452 +			store 32 $RamfsAdrOfs $(( ${ADRSRD:-$ADRSRD2} )) $bs initrd adrs
   5.453 +			store 32 $RamfsLenOfs $initrdlen $bs initrdlen
   5.454 +		done
   5.455  	fi
   5.456  
   5.457 -	# Compute initramfs size (protocol >= 2.00)
   5.458 -	[ $Version -lt 512 ] && INITRD=""
   5.459 -	initrdlen=0
   5.460 -INITRDPAD=4
   5.461 -INITRDALIGN=0x1000
   5.462 -	for i in $( echo $INITRD | sed 's/,/ /' ); do
   5.463 -		[ -s "$i" ] || continue
   5.464 -		while [ -L "$i" ]; do i="$(readlink $i)"; done
   5.465 -		size=$(( ($(stat -c %s "$i") + $INITRDPAD - 1) & -$INITRDPAD ))
   5.466 -		[ -n "$DEBUG" ] && echo "initrd $i $size " 1>&2
   5.467 -		initrdlen=$(( $initrdlen + $size ))
   5.468 -		ADRSRD=$(( (($MEM * 0x100000) - $initrdlen) & -$INITRDALIGN ))
   5.469 -		store 32 $RamfsAdrOfs $(( $ADRSRD )) $bs initrd adrs
   5.470 -		store 32 $RamfsLenOfs $initrdlen $bs initrdlen
   5.471 -	done
   5.472 +	[ -n "$NOSYSSIZEFIX" ] || store 32 0x1F4 $syssz $bs fix system size
   5.473  
   5.474 -	[ -n "$NOSYSSIZEFIX" ] || store 32 0x1F4 \
   5.475 -		$(( ($(stat -c %s $KERNEL)+15)/16 - ($setupsz+1)*32)) $bs fix system size
   5.476 -
   5.477 -	# Output boot sector + setup + cmdline
   5.478 +	# Output boot sector + setup + cmdline + info
   5.479  	ddq if=$bs
   5.480  
   5.481  	# Output kernel code
   5.482 -	syssz=$(( ($(getlong 0x1F4 $bs)+31)/32 ))
   5.483 -	cat $KERNEL /dev/zero | ddq bs=512 skip=$(( $setupsz+1 )) count=$syssz conv=sync
   5.484 +	[ $INITRDDISKALIGN -ne 0 ] &&
   5.485 +	INITRDDISKALIGN=$(($INITRDDISKALIGN/512-$sysszsect-$extra-$setupsz-1))
   5.486 +	cat $KERNEL /dev/zero | ddq bs=512 skip=$(( $setupsz+1 )) \
   5.487 +		count=$(($sysszsect+$INITRDDISKALIGN)) conv=sync
   5.488  
   5.489  	# Output initramfs
   5.490 -	for i in $( echo $INITRD | sed 's/,/ /' ); do
   5.491 +	padding=$INITRDPAD
   5.492 +	for i in ${INITRD//,/ }; do
   5.493  		[ -s "$i" ] || continue
   5.494 +		[ $padding -eq $INITRDPAD ] || ddq if=/dev/zero bs=1 count=$padding
   5.495  		ddq if=$i
   5.496 +		trace "initrd $i ($(stat -c %s $i) bytes) padding $INITRDPAD"
   5.497  		padding=$(( $INITRDPAD - ($(stat -c %s $i) % $INITRDPAD) ))
   5.498 -		[ $padding -eq $INITRDPAD ] || ddq if=/dev/zero bs=1 count=$padding
   5.499  	done
   5.500  
   5.501  	# Cleanup
     6.1 --- a/mirror/floppies/builder/index.php	Wed Jun 03 10:26:51 2015 +0300
     6.2 +++ b/mirror/floppies/builder/index.php	Fri Jul 31 18:40:18 2015 +0200
     6.3 @@ -12,6 +12,20 @@
     6.4  	<meta name="author" content="SliTaz Contributors" />
     6.5  	<meta http-equiv="Refresh" content="0;url=http://mirror1.slitaz.org/floppies/builder/index.php">
     6.6  </head>
     6.7 +<body>
     6.8 +	<script type="text/javascript">
     6.9 +	window.location.replace('http://mirror1.slitaz.org/floppies/builder/index.php')
    6.10 +	</script>
    6.11 +	<noscript>
    6.12 +	<frameset rows="100%">
    6.13 +		<frame src="http://mirror1.slitaz.org/floppies/builder/index.php">
    6.14 +		<noframes>
    6.15 +		<body>Please follow <a href="http://mirror1.slitaz.org/floppies/builder/index.php
    6.16 +		">this link</a>.</body>
    6.17 +		</noframes>
    6.18 +	</frameset>
    6.19 +	</noscript>
    6.20 +</body>
    6.21  </html>
    6.22  <?php
    6.23  }
    6.24 @@ -51,6 +65,10 @@
    6.25  	<link rel="stylesheet" type="text/css" href="../static/slitaz.css" />
    6.26  	<style type="text/css">
    6.27  	
    6.28 +// input[type=submit] {
    6.29 +//	cursor: pointer;
    6.30 +// }
    6.31 +
    6.32  input[type=text] {
    6.33  	width: inherit;
    6.34  }
    6.35 @@ -72,6 +90,9 @@
    6.36  	text-align: center;
    6.37  }
    6.38  
    6.39 +// #cmdline:hover, #cmdline:foqus, #cmdline:not([value=""]) { width: 200px; }
    6.40 +// #cmdline { width: 50px; }
    6.41 +
    6.42  	</style>
    6.43  </head>
    6.44  <body bgcolor="#ffffff">
    6.45 @@ -201,10 +222,6 @@
    6.46  		       ", ".$_FILES["initrd"]['name'].
    6.47  		       " and ".$_FILES["initrd2"]['name'];
    6.48  	}
    6.49 -	if ($size >= 15 * 1024 * 1024) {
    6.50 -		error($msg." exceeds 15 MB.");
    6.51 -		$size = 0;
    6.52 -	}
    6.53  	if ($size == 0) {
    6.54  		if (isset($tmp_dir))
    6.55  			system("rm -f $tmp_dir");
    6.56 @@ -281,9 +298,7 @@
    6.57  		$max = rtrim(ini_get('upload_max_filesize'),"M");
    6.58  		$max_post = rtrim(ini_get('post_max_size'),"M");
    6.59  		if ($max_post < $max) $max = $max_post;
    6.60 -		$msg = "the <acronym title=\"The linux kernel boot sector\">tiny boot loader</acronym> can't load more than 15 MB";
    6.61 -		if ($max < 16)
    6.62 -			$msg = "the web server can't upload more than $max MB";
    6.63 +		$msg = "the web server can't upload more than $max MB";
    6.64  ?>
    6.65  <form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
    6.66  <table>
    6.67 @@ -305,7 +320,7 @@
    6.68  	</tr>
    6.69  	<tr>
    6.70  	<td>Default cmdline:</td>
    6.71 -	<td><input type="text" name="cmdline" size="36" <?php 
    6.72 +	<td id="cmdline"><input type="text" name="cmdline" size="36" <?php
    6.73  		if (isset($_GET['cmdline'])) echo 'value="'.$_GET['cmdline'].'"';
    6.74  	?>/> <input type="checkbox" name="edit" checked="checked" />edit
    6.75  	<i>optional</i></td>
    6.76 @@ -582,26 +597,14 @@
    6.77  <a href="http://validator.w3.org/check?uri=referer"><img src="../static/xhtml10.png" alt="Valid XHTML 1.0" title="Code validé XHTML 1.0" style="width: 80px; height: 15px;" /></a>
    6.78  </p>
    6.79  <p>
    6.80 +	<img src="#" id="qrcodeimg" alt="#" width="60" height="60"
    6.81 +	     onmouseover= "this.title = location.href" 
    6.82 +	     onclick= "this.width = this.height = 300;" />
    6.83 +	<script type="text/javascript" src="../static/qrcode.js"></script>
    6.84  	<script type="text/javascript">
    6.85 -	function QRCodePNG(str, obj) {
    6.86 -		try {
    6.87 -			obj.height = obj.width += 300;
    6.88 -			return QRCode.generatePNG(str, {ecclevel: 'H'});
    6.89 -		}
    6.90 -		catch (any) {
    6.91 -			var element = document.createElement("script");
    6.92 -			element.src = "../static/qrcode.js";
    6.93 -			element.type ="text/javascript";
    6.94 -			element.onload = function() {
    6.95 -				obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
    6.96 -			};
    6.97 -			document.body.appendChild(element);
    6.98 -		}
    6.99 -	}	
   6.100 +		document.getElementById('qrcodeimg').src =
   6.101 +			QRCode.generatePNG(location.href, {ecclevel: 'H'});
   6.102  	</script>
   6.103 -	<img src="../static/qr.png" alt="#"
   6.104 -	     onmouseover= "this.title = location.href" 
   6.105 -	     onclick="this.src = QRCodePNG(location.href, this)" />
   6.106  </p>
   6.107  </div>
   6.108  
     7.1 --- a/mirror/floppies/download.php	Wed Jun 03 10:26:51 2015 +0300
     7.2 +++ b/mirror/floppies/download.php	Fri Jul 31 18:40:18 2015 +0200
     7.3 @@ -60,6 +60,9 @@
     7.4  	text-align: center;
     7.5  }
     7.6  
     7.7 +#block_nav {
     7.8 +	padding: 10px 10px 10px;
     7.9 +}
    7.10  	</style>
    7.11  </head>
    7.12  <body bgcolor="#ffffff">
    7.13 @@ -151,7 +154,7 @@
    7.14  <!-- Start of footer and copy notice -->
    7.15  <div id="copy">
    7.16  <p>
    7.17 -Copyright &copy; <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a> -
    7.18 +Copyright &copy; <?php echo date('Y'); ?> <a href="http://www.slitaz.org/">SliTaz</a> -
    7.19  <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
    7.20  </p>
    7.21  <!-- End of copy -->
    7.22 @@ -160,7 +163,17 @@
    7.23  <!-- Bottom and logo's -->
    7.24  <div id="bottom">
    7.25  <p>
    7.26 -<a href="http://validator.w3.org/check?uri=referer"><img src="../css/pics/website/xhtml10.png" alt="Valid XHTML 1.0" title="Code validé XHTML 1.0" style="width: 80px; height: 15px;" /></a>
    7.27 +<a href="http://validator.w3.org/check?uri=referer"><img src="static/xhtml10.png" alt="Valid XHTML 1.0" title="Code validé XHTML 1.0" style="width: 80px; height: 15px;" /></a>
    7.28 +</p>
    7.29 +<p>
    7.30 +	<script type="text/javascript" src="static/qrcode.js"></script>
    7.31 +	<img src="#" id="qrcodeimg" alt="#" width="60" height="60"
    7.32 +	     onmouseover="this.title = location.href" 
    7.33 +	     onclick="this.width = this.height += 100;" />
    7.34 +	<script type="text/javascript">
    7.35 +		document.getElementById('qrcodeimg').src =
    7.36 +			QRCode.generatePNG(location.href, {ecclevel: 'H'});
    7.37 +	</script>
    7.38  </p>
    7.39  </div>
    7.40  
     8.1 --- a/mirror/floppies/floppies	Wed Jun 03 10:26:51 2015 +0300
     8.2 +++ b/mirror/floppies/floppies	Fri Jul 31 18:40:18 2015 +0200
     8.3 @@ -2,26 +2,42 @@
     8.4  
     8.5  rd()
     8.6  {
     8.7 -	echo $(od -j $((0x$1)) -N ${2:-4} -t u${2:-4} -An kernel)
     8.8 +	echo $(od -j $(($1)) -N ${2:-4} -t u${2:-4} -An ${3:-kernel})
     8.9  }
    8.10  
    8.11  ds()
    8.12  {
    8.13 -	dd count=$1 bs=${2:-512} 2>/dev/null
    8.14 +	dd count=$((($1*${2:-512})/512)) bs=512 2>/dev/null
    8.15 +	dd count=$(((($1*${2:-512})%512)/${2:-512})) bs=${2:-512} 2>/dev/null
    8.16  }
    8.17  
    8.18  case "$1" in
    8.19  extract) (
    8.20  	ds 1
    8.21 -	ds $(rd 1F1 1)
    8.22 -	[ $(rd 228) -ne 0 ] && ds 1 | strings >cmdline
    8.23 -	ds $(( ($(rd 1F4) +31) /32)) ) >kernel
    8.24 -	ds $(( ($(rd 21C) +3) /4)) 4 >rootfs
    8.25 +	ds $(($(rd 0x1F1 1)-1))
    8.26 +	[ $(rd 0x228 2) -le $(($(rd 0x1F1 1)*512)) ] || ds 1
    8.27 +	[ $(rd 0x228) -ne 0 ] && ds 1 >cmdline$$
    8.28 +	ds $(( ($(rd 0x1F4) +31) /32)) ) >kernel
    8.29 +	if [ $(rd 0x21C) -ne 0 ]; then
    8.30 +		ds $(( ($(rd 0x21C) +3) /4)) 4 >rootfs
    8.31 +	elif [ $(rd 0x218) -ne 0 ]; then
    8.32 +		n=$(($(rd 0x1EE 2)%512))
    8.33 +		i=0
    8.34 +		while [ $(($n % 256)) -lt $(rd 0x1F0 1) ]; do
    8.35 +			ds $(( ($(rd $n 4 cmdline$$) +3) /4)) 4 >rootfs$i
    8.36 +			n=$(($n+4))
    8.37 +			i=$(($i+1))
    8.38 +		done
    8.39 +	fi
    8.40 +	if [ -s cmdline$$ ]; then
    8.41 +		strings <cmdline$$ | sed q >cmdline
    8.42 +		rm -f cmdline$$
    8.43 +	fi
    8.44  	;;
    8.45  *)	cat <<EOT
    8.46 -usage: 
    8.47 +usage: cat fd*.img | $0 extract  or
    8.48  # cat fd0*.img | $0 extract
    8.49 -	creates kernel, rootfs and cmdline files
    8.50 +	creates kernel, rootfs(es) and cmdline files
    8.51  EOT
    8.52  	for i in 1 2 3; do
    8.53  		j=" cat fd$i*.img |"
     9.1 --- a/mirror/floppies/loram-1.0/description.html	Wed Jun 03 10:26:51 2015 +0300
     9.2 +++ b/mirror/floppies/loram-1.0/description.html	Fri Jul 31 18:40:18 2015 +0200
     9.3 @@ -23,3 +23,8 @@
     9.4  The loram bootstrap will then start and you will be prompted to insert extra floppies
     9.5  for the core flavor. You can bypass this by using Q and Enter.
     9.6  </p>
     9.7 +<p>
     9.8 +If you have an ext3 partition on your hard disk, the bootstrap can create the
     9.9 +installation script <u>slitaz/install.sh</u>. You will be able to install SliTaz
    9.10 +on your hard disk without extra media.
    9.11 +</p>
    10.1 --- a/mirror/floppies/loram-2.0/description.html	Wed Jun 03 10:26:51 2015 +0300
    10.2 +++ b/mirror/floppies/loram-2.0/description.html	Fri Jul 31 18:40:18 2015 +0200
    10.3 @@ -27,3 +27,8 @@
    10.4  The loram bootstrap will then start and you will be prompted to insert extra floppies
    10.5  for base, justx and core flavors. You can bypass this by using Q and Enter.
    10.6  </p>
    10.7 +<p>
    10.8 +If you have an ext3 partition on your hard disk, the bootstrap can create the
    10.9 +installation script <u>slitaz/install.sh</u>. You will be able to install SliTaz
   10.10 +on your hard disk without extra media.
   10.11 +</p>
    11.1 --- a/mirror/floppies/loram-3.0/description.html	Wed Jun 03 10:26:51 2015 +0300
    11.2 +++ b/mirror/floppies/loram-3.0/description.html	Fri Jul 31 18:40:18 2015 +0200
    11.3 @@ -7,11 +7,11 @@
    11.4    base provides the minimum slitaz distribution subset in text mode. 
    11.5    </li>
    11.6    <li>
    11.7 -  <b>justx</b> needs 64M of RAM and 12 floppies: <i>fd001.img</i> to <i>fd205.img</i>.<br />
    11.8 +  <b>justx</b> needs 64M of RAM and 13 floppies: <i>fd001.img</i> to <i>fd106.img</i>.<br />
    11.9    justx provides the minimum slitaz distribution subset with X11 support. 
   11.10    </li>
   11.11    <li>
   11.12 -  <b>core</b> needs 96M of RAM and 24 floppies: <i>fd001.img</i> to <i>fd311.img</i>.<br />
   11.13 +  <b>core</b> needs 96M of RAM and 24 floppies: <i>fd001.img</i> to <i>fd210.img</i>.<br />
   11.14    core provides the default slitaz distribution. 
   11.15    </li>
   11.16  </ul>
   11.17 @@ -21,9 +21,9 @@
   11.18  </p>
   11.19  <p>
   11.20  The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
   11.21 -insert the next floppy, <i>fd002.img</i>.
   11.22 +insert the next floppy, <i>fd002.img</i>. And so on up to last floppy.
   11.23  </p>
   11.24  <p>
   11.25 -The loram bootstrap will then start and you will be prompted to insert extra floppies
   11.26 -for base, justx and core flavors. You can bypass this by using Q and Enter.
   11.27 +You will be prompted to insert extra floppies for justx, gtkonly and core flavors.
   11.28 +You can bypass this by using B to boot without loading extra floppies.
   11.29  </p>
    12.1 --- a/mirror/floppies/loram-4.0/description.html	Wed Jun 03 10:26:51 2015 +0300
    12.2 +++ b/mirror/floppies/loram-4.0/description.html	Fri Jul 31 18:40:18 2015 +0200
    12.3 @@ -7,15 +7,15 @@
    12.4    base provides the minimum slitaz distribution subset in text mode. 
    12.5    </li>
    12.6    <li>
    12.7 -  <b>justx</b> needs 64M of RAM and 13 floppies: <i>fd001.img</i> to <i>fd206.img</i>.<br />
    12.8 +  <b>justx</b> needs 64M of RAM and 13 floppies: <i>fd001.img</i> to <i>fd106.img</i>.<br />
    12.9    justx provides the minimum slitaz distribution subset with X11 support. 
   12.10    </li>
   12.11    <li>
   12.12 -  <b>gtkonly</b> needs 96M of RAM and 18 floppies: <i>fd001.img</i> to <i>fd304.img</i>.<br />
   12.13 +  <b>gtkonly</b> needs 96M of RAM and 18 floppies: <i>fd001.img</i> to <i>fd204.img</i>.<br />
   12.14    gtkonly provides the minimum slitaz distribution subset with Gtk+ support. 
   12.15    </li>
   12.16    <li>
   12.17 -  <b>core</b> needs 128M of RAM and 28 floppies: <i>fd001.img</i> to <i>fd409.img</i>.<br />
   12.18 +  <b>core</b> needs 128M of RAM and 28 floppies: <i>fd001.img</i> to <i>fd309.img</i>.<br />
   12.19    core provides the default slitaz distribution. 
   12.20    </li>
   12.21  </ul>
   12.22 @@ -25,9 +25,9 @@
   12.23  </p>
   12.24  <p>
   12.25  The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
   12.26 -insert the next floppy, <i>fd002.img</i>.
   12.27 +insert the next floppy, <i>fd002.img</i>. And so on up to last floppy.
   12.28  </p>
   12.29  <p>
   12.30 -The loram bootstrap will then start and you will be prompted to insert extra floppies
   12.31 -for base, justx and core flavors. You can bypass this by using Q and Enter.
   12.32 +You will be prompted to insert extra floppies for justx, gtkonly and core flavors.
   12.33 +You can bypass this by using B to boot without loading extra floppies.
   12.34  </p>
    13.1 --- a/mirror/floppies/menu.css	Wed Jun 03 10:26:51 2015 +0300
    13.2 +++ b/mirror/floppies/menu.css	Fri Jul 31 18:40:18 2015 +0200
    13.3 @@ -17,6 +17,7 @@
    13.4  }
    13.5  #menu li a:hover {
    13.6  	color: #ffffff;
    13.7 +	//background-color: #d66018;
    13.8  	background-color: #ccc;
    13.9  	border-top-right-radius: 3px;
   13.10  	border-top-left-radius: 3px;
   13.11 @@ -48,6 +49,7 @@
   13.12  	border: 1px solid #f1efeb; 
   13.13  }
   13.14  #menu li li a:hover {
   13.15 +	//background-color: #d66018;
   13.16  	background-color: #ccc;
   13.17  	color: #ffffff;
   13.18  	border-radius: 2px;
    14.1 --- a/mirror/floppies/mini-1.0/description.html	Wed Jun 03 10:26:51 2015 +0300
    14.2 +++ b/mirror/floppies/mini-1.0/description.html	Fri Jul 31 18:40:18 2015 +0200
    14.3 @@ -13,3 +13,8 @@
    14.4  The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
    14.5  insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd005.img</i>.
    14.6  </p>
    14.7 +<p>
    14.8 +If you have an ext3 partition on your hard disk, the bootstrap can create the
    14.9 +installation script <u>slitaz/install.sh</u>. You will be able to install SliTaz
   14.10 +on your hard disk without extra media.
   14.11 +</p>
    15.1 --- a/mirror/floppies/mini-2.0/description.html	Wed Jun 03 10:26:51 2015 +0300
    15.2 +++ b/mirror/floppies/mini-2.0/description.html	Fri Jul 31 18:40:18 2015 +0200
    15.3 @@ -13,3 +13,8 @@
    15.4  The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
    15.5  insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd006.img</i>.
    15.6  </p>
    15.7 +<p>
    15.8 +If you have an ext3 partition on your hard disk, the bootstrap can create the
    15.9 +installation script <u>slitaz/install.sh</u>. You will be able to install SliTaz
   15.10 +on your hard disk without extra media.
   15.11 +</p>
    16.1 --- a/mirror/floppies/mini-3.0/description.html	Wed Jun 03 10:26:51 2015 +0300
    16.2 +++ b/mirror/floppies/mini-3.0/description.html	Fri Jul 31 18:40:18 2015 +0200
    16.3 @@ -13,3 +13,8 @@
    16.4  The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
    16.5  insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd006.img</i>.
    16.6  </p>
    16.7 +<p>
    16.8 +If you have an ext3 partition on your hard disk, the bootstrap can create the
    16.9 +installation script <u>slitaz/install.sh</u>. You will be able to install SliTaz
   16.10 +on your hard disk without extra media.
   16.11 +</p>
    17.1 --- a/mirror/floppies/mini-4.0/description.html	Wed Jun 03 10:26:51 2015 +0300
    17.2 +++ b/mirror/floppies/mini-4.0/description.html	Fri Jul 31 18:40:18 2015 +0200
    17.3 @@ -13,3 +13,8 @@
    17.4  The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
    17.5  insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd006.img</i>.
    17.6  </p>
    17.7 +<p>
    17.8 +If you have an ext3 partition on your hard disk, the bootstrap can create the
    17.9 +installation script <u>slitaz/install.sh</u>. You will be able to install SliTaz
   17.10 +on your hard disk without extra media.
   17.11 +</p>
    18.1 --- a/mirror/floppies/mkindex.sh	Wed Jun 03 10:26:51 2015 +0300
    18.2 +++ b/mirror/floppies/mkindex.sh	Fri Jul 31 18:40:18 2015 +0200
    18.3 @@ -172,13 +172,6 @@
    18.4  Each floppy set detects disk swaps and can be used without a keyboard.
    18.5  </p>
    18.6  EOT
    18.7 -	[ -s $DIR/fd100.img ] && cat <<EOT
    18.8 -<p>
    18.9 -If you have an ext3 partition on your hard disk, the bootstrap can create the
   18.10 -installation script <u>slitaz/install.sh</u>. You will be able to install SliTaz
   18.11 -on your hard disk without extra media.
   18.12 -</p>
   18.13 -EOT
   18.14  	cat <<EOT
   18.15  <p>
   18.16  Good luck.
   18.17 @@ -218,13 +211,18 @@
   18.18  </pre>
   18.19  
   18.20  <h2>Images generation</h2>
   18.21 -<p>
   18.22 -All these floppy images are built with <b>bootfloppybox</b> from
   18.23 -a <i>core</i> or a <i>4in1</i> iso. The <i>loram</i> is preprocessed by
   18.24 -<b>tazlitobox</b> (Low RAM tab). These tools are available since 3.0.
   18.25 -You can extract the <u>kernel</u>, <u>cmdline</u> and <u>rootfs</u> files with 
   18.26 -<a href="floppies">this tool</a>
   18.27 -</p>
   18.28 +<ul>
   18.29 +	<li>All these floppy images are built from a <i>core</i>
   18.30 +	    or a <i>Nin1</i> iso.</li>
   18.31 +	<li>The <i>loram</i> is preprocessed by <b>tazlitobox</b> (Low RAM tab)
   18.32 +	    or <b>tazlito build-loram</b>.</li>
   18.33 +	<li>The versions 1.0 and 2.0 are built with <b>bootfloppybox</b>
   18.34 +	    available since 3.0.</li>
   18.35 +	<li>The newer versions are built with <b>taziso floppyset</b>
   18.36 +	    available since 5.0.</li>
   18.37 +	<li>You can extract the <u>kernel</u>, <u>cmdline</u> and
   18.38 +	    <u>rootfs*</u> files with  <a href="floppies">this tool</a></li>
   18.39 +</ul>
   18.40  
   18.41  <!-- End of content with round corner -->
   18.42  </div>