slitaz-dev-tools rev 302

Update floppies
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Sep 01 17:28:05 2017 +0200 (2017-09-01)
parents f63f28b5e6a1
children d84da61d3917
files mirror-tools/slitaz/mirror/floppies/1.0/description.html mirror-tools/slitaz/mirror/floppies/1.0/title mirror-tools/slitaz/mirror/floppies/2.0/description.html mirror-tools/slitaz/mirror/floppies/2.0/title mirror-tools/slitaz/mirror/floppies/3.0/description.html mirror-tools/slitaz/mirror/floppies/3.0/title mirror-tools/slitaz/mirror/floppies/4.0/description.html mirror-tools/slitaz/mirror/floppies/4.0/title mirror-tools/slitaz/mirror/floppies/builder/bootloader mirror-tools/slitaz/mirror/floppies/builder/clientbuilder.js mirror-tools/slitaz/mirror/floppies/builder/index.html mirror-tools/slitaz/mirror/floppies/builder/index.php mirror-tools/slitaz/mirror/floppies/download.php mirror-tools/slitaz/mirror/floppies/floppies mirror-tools/slitaz/mirror/floppies/include/bottom.js mirror-tools/slitaz/mirror/floppies/include/fdiso.js mirror-tools/slitaz/mirror/floppies/include/head.js mirror-tools/slitaz/mirror/floppies/include/html2js mirror-tools/slitaz/mirror/floppies/include/top.js mirror-tools/slitaz/mirror/floppies/loram-1.0/description.html mirror-tools/slitaz/mirror/floppies/loram-1.0/title mirror-tools/slitaz/mirror/floppies/loram-2.0/description.html mirror-tools/slitaz/mirror/floppies/loram-2.0/title mirror-tools/slitaz/mirror/floppies/loram-3.0/description.html mirror-tools/slitaz/mirror/floppies/loram-3.0/title mirror-tools/slitaz/mirror/floppies/loram-4.0/description.html mirror-tools/slitaz/mirror/floppies/loram-4.0/title mirror-tools/slitaz/mirror/floppies/loram-rolling/description.html mirror-tools/slitaz/mirror/floppies/loram-rolling/title mirror-tools/slitaz/mirror/floppies/menu.css mirror-tools/slitaz/mirror/floppies/mini-1.0/description.html mirror-tools/slitaz/mirror/floppies/mini-1.0/title mirror-tools/slitaz/mirror/floppies/mini-2.0/description.html mirror-tools/slitaz/mirror/floppies/mini-2.0/title mirror-tools/slitaz/mirror/floppies/mini-3.0/description.html mirror-tools/slitaz/mirror/floppies/mini-3.0/title mirror-tools/slitaz/mirror/floppies/mini-4.0/description.html mirror-tools/slitaz/mirror/floppies/mini-4.0/title mirror-tools/slitaz/mirror/floppies/mkfdrolling.sh mirror-tools/slitaz/mirror/floppies/mkindex.sh mirror-tools/slitaz/mirror/floppies/resizefdset.sh mirror-tools/slitaz/mirror/floppies/rolling/description.html mirror-tools/slitaz/mirror/floppies/rolling/title mirror-tools/slitaz/mirror/floppies/web-1.0/description.html mirror-tools/slitaz/mirror/floppies/web-1.0/title mirror-tools/slitaz/mirror/floppies/web-2.0/description.html mirror-tools/slitaz/mirror/floppies/web-2.0/title mirror-tools/slitaz/mirror/floppies/web-3.0/description.html mirror-tools/slitaz/mirror/floppies/web-3.0/title mirror-tools/slitaz/mirror/floppies/web-4.0/description.html mirror-tools/slitaz/mirror/floppies/web-4.0/title
line diff
     1.1 --- a/mirror-tools/slitaz/mirror/floppies/1.0/description.html	Fri Apr 28 14:08:02 2017 +0100
     1.2 +++ b/mirror-tools/slitaz/mirror/floppies/1.0/description.html	Fri Sep 01 17:28:05 2017 +0200
     1.3 @@ -1,12 +1,25 @@
     1.4 -<p>
     1.5 -Start your computer with <i>fd001.img</i>. It will show the kernel version string and
     1.6 -the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
     1.7 -</p>
     1.8 -<p>
     1.9 -The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
    1.10 -insert the next floppy, <i>fd002.img</i>.
    1.11 -</p>
    1.12 -<p>
    1.13 -The bootstrap will then start and you will be prompted to insert extra floppies
    1.14 -from <i>fd100.img</i> to <i>fd115.img</i>.
    1.15 -</p>
    1.16 +<p>You can start with one of the 2 following flavors:</p>
    1.17 +
    1.18 +<ul>
    1.19 +	<li><b>base</b> needs 28MB of RAM and 4 floppies: <tt>fd001.img</tt> to
    1.20 +		<tt>fd004.img</tt>.<br>
    1.21 +		base provides the minimum SliTaz distribution subset in text mode.</li>
    1.22 +	<li><b>core</b> needs 128MB of RAM and 18 floppies: <tt>fd001.img</tt> to
    1.23 +		<tt>fd113.img</tt>.<br>
    1.24 +		core provides the default SliTaz distribution.</li>
    1.25 +</ul>
    1.26 +
    1.27 +<p>Start your computer with <tt>fd001.img</tt>. It will show the Kernel version
    1.28 +string and the Kernel cmdline line. You can edit the cmdline. Most users can
    1.29 +just press Enter.</p>
    1.30 +
    1.31 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
    1.32 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to
    1.33 +<tt>fd004.img</tt>.</p>
    1.34 +
    1.35 +<p>The base flavor will then start and you will be prompted to insert extra
    1.36 +floppies for the core flavor. You can bypass this by using Q and Enter.</p>
    1.37 +
    1.38 +<p>If you have an ext3 partition on your hard disk, the bootstrap can create the
    1.39 +installation script <code>slitaz/install.sh</code>. You will be able to install
    1.40 +SliTaz on your hard disk without extra media.</p>
     2.1 --- a/mirror-tools/slitaz/mirror/floppies/1.0/title	Fri Apr 28 14:08:02 2017 +0100
     2.2 +++ b/mirror-tools/slitaz/mirror/floppies/1.0/title	Fri Sep 01 17:28:05 2017 +0200
     2.3 @@ -1,1 +1,1 @@
     2.4 -Released on 22 March 2008, needs 128Mb RAM
     2.5 +Released on 22 March 2008, needs up to 128Mb RAM
     3.1 --- a/mirror-tools/slitaz/mirror/floppies/2.0/description.html	Fri Apr 28 14:08:02 2017 +0100
     3.2 +++ b/mirror-tools/slitaz/mirror/floppies/2.0/description.html	Fri Sep 01 17:28:05 2017 +0200
     3.3 @@ -1,29 +1,30 @@
     3.4 -<p>
     3.5 -You can start with one of the 3 following flavors :
     3.6 -</p>
     3.7 +<p>You can start with one of the 3 following flavors:</p>
     3.8 +
     3.9  <ul>
    3.10 -  <li>
    3.11 -  <b>base</b> needs 32Mb of RAM and 5 floppies: <i>fd001.img</i> to <i>fd005.img</i>.<br />
    3.12 -  base provides the minimum slitaz distribution subset in text mode. 
    3.13 -  </li>
    3.14 -  <li>
    3.15 -  <b>justx</b> needs 96M of RAM and 11 floppies: <i>fd001.img</i> to <i>fd105.img</i>.<br />
    3.16 -  justx provides the minimum slitaz distribution subset with X11 support. 
    3.17 -  </li>
    3.18 -  <li>
    3.19 -  <b>core</b> needs 160M of RAM and 22 floppies: <i>fd001.img</i> to <i>fd210.img</i>.<br />
    3.20 -  core provides the default slitaz distribution. 
    3.21 -  </li>
    3.22 +	<li><b>base</b> needs 32MB of RAM and 5 floppies: <tt>fd001.img</tt> to
    3.23 +		<tt>fd005.img</tt>.<br>
    3.24 +		base provides the minimum SliTaz distribution subset in text mode.</li>
    3.25 +	<li><b>justx</b> needs 96MB of RAM and 11 floppies: <tt>fd001.img</tt> to
    3.26 +		<tt>fd105.img</tt>.<br>
    3.27 +		justx provides the minimum SliTaz distribution subset with X11
    3.28 +		support.</li>
    3.29 +	<li><b>core</b> needs 160MB of RAM and 21 floppies: <tt>fd001.img</tt> to
    3.30 +		<tt>fd209.img</tt>.<br>
    3.31 +		core provides the default SliTaz distribution.</li>
    3.32  </ul>
    3.33 -<p>
    3.34 -Start your computer with <i>fd001.img</i>. It will show the kernel version string and
    3.35 -the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
    3.36 -</p>
    3.37 -<p>
    3.38 -The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
    3.39 -insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd005.img</i>.
    3.40 -</p>
    3.41 -<p>
    3.42 -The base flavor will then start and you will be prompted to insert extra floppies
    3.43 -for justx and core flavors. You can bypass this by using Q and Enter.
    3.44 -</p>
    3.45 +
    3.46 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
    3.47 +string and the kernel cmdline line. You can edit the cmdline. Most users can
    3.48 +just press Enter.</p>
    3.49 +
    3.50 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
    3.51 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to
    3.52 +<tt>fd005.img</tt>.</p>
    3.53 +
    3.54 +<p>The base flavor will then start and you will be prompted to insert extra
    3.55 +floppies for justx and core flavors. You can bypass this by using Q and
    3.56 +Enter.</p>
    3.57 +
    3.58 +<p>If you have an ext3 partition on your hard disk, the bootstrap can create the
    3.59 +installation script <code>slitaz/install.sh</code>. You will be able to install
    3.60 +SliTaz on your hard disk without extra media.</p>
     4.1 --- a/mirror-tools/slitaz/mirror/floppies/2.0/title	Fri Apr 28 14:08:02 2017 +0100
     4.2 +++ b/mirror-tools/slitaz/mirror/floppies/2.0/title	Fri Sep 01 17:28:05 2017 +0200
     4.3 @@ -1,1 +1,1 @@
     4.4 -Released on 16 April 2009, needs 144Mb RAM
     4.5 +Released on 16 April 2009, needs up to 160Mb RAM
     5.1 --- a/mirror-tools/slitaz/mirror/floppies/3.0/description.html	Fri Apr 28 14:08:02 2017 +0100
     5.2 +++ b/mirror-tools/slitaz/mirror/floppies/3.0/description.html	Fri Sep 01 17:28:05 2017 +0200
     5.3 @@ -1,29 +1,25 @@
     5.4 -<p>
     5.5 -You can start with one of the 3 following flavors :
     5.6 -</p>
     5.7 +<p>You can start with one of the 3 following flavors:</p>
     5.8 +
     5.9  <ul>
    5.10 -  <li>
    5.11 -  <b>base</b> needs 32Mb of RAM and 5 floppies: <i>fd001.img</i> to <i>fd005.img</i>.<br />
    5.12 -  base provides the minimum slitaz distribution subset in text mode. 
    5.13 -  </li>
    5.14 -  <li>
    5.15 -  <b>justx</b> needs 96M of RAM and 11 floppies: <i>fd001.img</i> to <i>fd105.img</i>.<br />
    5.16 -  justx provides the minimum slitaz distribution subset with X11 support. 
    5.17 -  </li>
    5.18 -  <li>
    5.19 -  <b>core</b> needs 160M of RAM and 22 floppies: <i>fd001.img</i> to <i>fd210.img</i>.<br />
    5.20 -  core provides the default slitaz distribution. 
    5.21 -  </li>
    5.22 +	<li><b>base</b> needs 36MB of RAM and 5 floppies: <tt>fd001.img</tt> to
    5.23 +		<tt>fd005.img</tt>.<br>
    5.24 +		base provides the minimum SliTaz distribution subset in text mode.</li>
    5.25 +	<li><b>justx</b> needs 96MB of RAM and 11 floppies: <tt>fd001.img</tt> to
    5.26 +		<tt>fd105.img</tt>.<br>
    5.27 +		justx provides the minimum SliTaz distribution subset with X11
    5.28 +		support.</li>
    5.29 +	<li><b>core</b> needs 160MB of RAM and 21 floppies: <tt>fd001.img</tt> to
    5.30 +		<tt>fd209.img</tt>.<br>
    5.31 +		core provides the default SliTaz distribution.</li>
    5.32  </ul>
    5.33 -<p>
    5.34 -Start your computer with <i>fd001.img</i>. It will show the kernel version string and
    5.35 -the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
    5.36 -</p>
    5.37 -<p>
    5.38 -The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
    5.39 -insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd005.img</i>.
    5.40 -</p>
    5.41 -<p>
    5.42 -The base flavor will then start and you will be prompted to insert extra floppies
    5.43 -for justx and core flavors. You can bypass this by using Q and Enter.
    5.44 -</p>
    5.45 +
    5.46 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
    5.47 +string and the kernel cmdline line. You can edit the cmdline. Most users can
    5.48 +just press Enter.</p>
    5.49 +
    5.50 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
    5.51 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to last
    5.52 +floppy.</p>
    5.53 +
    5.54 +<p>You will be prompted to insert extra floppies for justx and core flavors. You
    5.55 +can bypass this by using B to boot without loading extra floppies.</p>
     6.1 --- a/mirror-tools/slitaz/mirror/floppies/3.0/title	Fri Apr 28 14:08:02 2017 +0100
     6.2 +++ b/mirror-tools/slitaz/mirror/floppies/3.0/title	Fri Sep 01 17:28:05 2017 +0200
     6.3 @@ -1,1 +1,1 @@
     6.4 -Released on 28 March 2010, needs 144Mb RAM
     6.5 +Released on 28 March 2010, needs up to 160Mb RAM
     7.1 --- a/mirror-tools/slitaz/mirror/floppies/4.0/description.html	Fri Apr 28 14:08:02 2017 +0100
     7.2 +++ b/mirror-tools/slitaz/mirror/floppies/4.0/description.html	Fri Sep 01 17:28:05 2017 +0200
     7.3 @@ -1,33 +1,30 @@
     7.4 -<p>
     7.5 -You can start with one of the 4 following flavors :
     7.6 -</p>
     7.7 +<p>You can start with one of the 4 following flavors:</p>
     7.8 +
     7.9  <ul>
    7.10 -  <li>
    7.11 -  <b>base</b> needs 48Mb of RAM and 6 floppies: <i>fd001.img</i> to <i>fd006.img</i>.<br />
    7.12 -  base provides the minimum slitaz distribution subset in text mode. 
    7.13 -  </li>
    7.14 -  <li>
    7.15 -  <b>justx</b> needs 100M of RAM and 12 floppies: <i>fd001.img</i> to <i>fd105.img</i>.<br />
    7.16 -  justx provides the minimum slitaz distribution subset with X11 support. 
    7.17 -  </li>
    7.18 -  <li>
    7.19 -  <b>gtkonly</b> needs 160M of RAM and 17 floppies: <i>fd001.img</i> to <i>fd204.img</i>.<br />
    7.20 -  gtkonly provides the minimum slitaz distribution subset with Gtk+ support. 
    7.21 -  </li>
    7.22 -  <li>
    7.23 -  <b>core</b> needs 192M of RAM and 26 floppies: <i>fd001.img</i> to <i>fd308.img</i>.<br />
    7.24 -  core provides the default slitaz distribution. 
    7.25 -  </li>
    7.26 +	<li><b>base</b> needs 48MB of RAM and 6 floppies: <tt>fd001.img</tt> to
    7.27 +		<tt>fd006.img</tt>.<br>
    7.28 +		base provides the minimum SliTaz distribution subset in text mode.</li>
    7.29 +	<li><b>justx</b> needs 96MB of RAM and 12 floppies: <tt>fd001.img</tt> to
    7.30 +		<tt>fd105.img</tt>.<br>
    7.31 +		justx provides the minimum SliTaz distribution subset with X11
    7.32 +		support.</li>
    7.33 +	<li><b>gtkonly</b> needs 128MB of RAM and 17 floppies: <tt>fd001.img</tt> to
    7.34 +		<tt>fd204.img</tt>.<br>
    7.35 +		gtkonly provides the minimum SliTaz distribution subset with GTK+
    7.36 +		support.</li>
    7.37 +	<li><b>core</b> needs 192MB of RAM and 25 floppies: <tt>fd001.img</tt> to
    7.38 +		<tt>fd307.img</tt>.<br>
    7.39 +		core provides the default SliTaz distribution.</li>
    7.40  </ul>
    7.41 -<p>
    7.42 -Start your computer with <i>fd001.img</i>. It will show the kernel version string and
    7.43 -the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
    7.44 -</p>
    7.45 -<p>
    7.46 -The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
    7.47 -insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd006.img</i>.
    7.48 -</p>
    7.49 -<p>
    7.50 -The base flavor will then start and you will be prompted to insert extra floppies
    7.51 -for justx and core flavors. You can bypass this by using Q and Enter.
    7.52 -</p>
    7.53 +
    7.54 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
    7.55 +string and the kernel cmdline line. You can edit the cmdline. Most users can
    7.56 +just press Enter.</p>
    7.57 +
    7.58 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
    7.59 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to last
    7.60 +floppy.</p>
    7.61 +
    7.62 +<p>You will be prompted to insert extra floppies for justx, gtkonly and core
    7.63 +flavors. You can bypass this by using B to boot without loading extra
    7.64 +floppies.</p>
     8.1 --- a/mirror-tools/slitaz/mirror/floppies/4.0/title	Fri Apr 28 14:08:02 2017 +0100
     8.2 +++ b/mirror-tools/slitaz/mirror/floppies/4.0/title	Fri Sep 01 17:28:05 2017 +0200
     8.3 @@ -1,1 +1,1 @@
     8.4 -Released on 10 April 2012, needs 192Mb RAM
     8.5 +Released on 10 April 2012, needs up to 192Mb RAM
     9.1 --- a/mirror-tools/slitaz/mirror/floppies/builder/bootloader	Fri Apr 28 14:08:02 2017 +0100
     9.2 +++ b/mirror-tools/slitaz/mirror/floppies/builder/bootloader	Fri Sep 01 17:28:05 2017 +0200
     9.3 @@ -2,27 +2,144 @@
     9.4  #
     9.5  # This script creates a floppy image set from a linux bzImage and can merge
     9.6  # a cmdline and/or one or more initramfs.
     9.7 -# The total size can not exceed 15M because INT 15H function 87H limitations.
     9.8  #
     9.9 -# (C) 2009 Pascal Bellard - GNU General Public License v3.
    9.10 +# (C) 2009-2015 Pascal Bellard - GNU General Public License v3.
    9.11  
    9.12  usage()
    9.13  {
    9.14  cat <<EOT
    9.15 -Usage: $0 bzImage [--prefix image_prefix] [--info file ]
    9.16 -       [--format 1200|1440|1680|1920|2880|... ] [--mem mb]
    9.17 -       [--rdev device] [--video mode] [--flags rootflags] [--tracks cnt]
    9.18 -       [--cmdline 'args'] [--dont-edit-cmdline] [--no-syssize-fix]
    9.19 +Usage: $0 bzImage [--prefix image_prefix] [--info file] [--quiet]
    9.20 +       [--format 1200|1440|1680|1920|2880|...] [--mem mb] [--tracks cnt]
    9.21 +       [--rdev device] [--video mode] [--flags rootflags] [--no-syssize-fix]
    9.22 +       [--dont-edit-cmdline] [--cmdline 'args'] [--hide-version-string]
    9.23         [--address-initrd address] [--initrd initrdfile]...
    9.24  
    9.25  Default values: --format 1440 --tracks 80 --rdev /dev/fd0 --prefix floppy. --mem 16
    9.26  
    9.27  Example:
    9.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
    9.29 +
    9.30 +or: $0 --extract floppy*
    9.31 +
    9.32 +Create kernel and maybe cmdline, initrd and info files from a floppy images set 
    9.33  EOT
    9.34  exit 1
    9.35  }
    9.36  
    9.37 +# bzImage offsets
    9.38 +SetupSzOfs=497
    9.39 +FlagsOfs=498
    9.40 +OldRamfsLenOfs=504
    9.41 +VideoModeOfs=506
    9.42 +RootDevOfs=508
    9.43 +Magic=0x202
    9.44 +RamfsAdrOfs=0x218
    9.45 +RamfsLenOfs=0x21C
    9.46 +
    9.47 +ddq() { dd $@ 2> /dev/null; }
    9.48 +
    9.49 +get()
    9.50 +{
    9.51 +echo $( od -v -j $(($1)) -N ${4:-${3:-2}} -t u${3:-2} -w${3:-2} -An $2 2>/dev/null ||
    9.52 +	hexdump -v -s $(($1)) -n ${4:-${3:-2}} -e "\"\" 1/${3:-2} \" %d\n\"" $2 )
    9.53 +}
    9.54 +
    9.55 +trace()
    9.56 +{
    9.57 +	[ -n "$DEBUG" ] && printf "$@" 1>&2 && echo 1>&2
    9.58 +}
    9.59 +
    9.60 +# usage: store bits offset data file
    9.61 +store()
    9.62 +{
    9.63 +	n=$3; for i in $(seq 8 8 $1); do
    9.64 +		printf '\\\\x%02X' $(($n & 255))
    9.65 +		n=$(($n >> 8))
    9.66 +	done | xargs echo -en | ddq bs=1 conv=notrunc of=$4 seek=$(($2))
    9.67 +	s=$1; a=$2; d=$3; shift 4; c="$@"
    9.68 +	trace "store$s(%03X) = %0$(($s/4))X	$c" $a $d
    9.69 +}
    9.70 +
    9.71 +die()
    9.72 +{
    9.73 +	echo $@ 1>&2
    9.74 +	exit 1
    9.75 +}
    9.76 +extract()
    9.77 +{
    9.78 +	shift
    9.79 +	[ ! -s "$1" ] && die "No floppy ?"
    9.80 +	[ $(get 0x1FE "$1") -ne 43605 ] && die "Not bootable"
    9.81 +	[ $(get $Magic "$1" 4) != 1400005704 ] &&
    9.82 +	[ $(get 0x1F4 "$1") -gt 32768 -o $(get 0x1F6 "$1") -ne 0 ] &&
    9.83 +	die "Not linux."
    9.84 +	FORMAT="$(($(stat -c "%s" $1)/1024))"
    9.85 +	cat <<EOT
    9.86 +--format $FORMAT
    9.87 +--rdev $(printf "0x%04X" $(get $RootDevOfs $1))
    9.88 +--video $(get $VideoModeOfs $1)
    9.89 +--flags $(get $FlagsOfs $1)
    9.90 +EOT
    9.91 +	MYBB="$(ddq if=$1 bs=512 count=1 | strings | grep "Insert disk 00")"
    9.92 +	cmdline=0
    9.93 +	info=0
    9.94 +	if [ "$MYBB" ]; then
    9.95 +		cmdline=$(get 0x22 $1)
    9.96 +		info=$(get 0x1EF $1)
    9.97 +		[ $(get 0x75 $1) -eq $((0xDB0)) ] && echo "--dont-edit-cmdline"
    9.98 +		[ $(get 0x58 $1) -eq $((0x9090)) ] && echo "--hide-version-string"
    9.99 +	fi
   9.100 +	n=$(($(get $SetupSzOfs $1 1)+1))
   9.101 +	[ $n -eq 1 ] && n=5
   9.102 +	[ $info -ne 0 ] && infolen=$(($n-$info/512)) && n=$(($info/512))
   9.103 +	[ $cmdline -ne 0 ] && n=$(($cmdline/512))
   9.104 +	cat "$@" | {
   9.105 +		ddq bs=512 count=$n >kernel
   9.106 +		files="kernel"
   9.107 +		if [ "$MYBB" ]; then
   9.108 +			store 8 $SetupSzOfs $(($n-1)) kernel "setup size $n"
   9.109 +			store 16 0x22 0 kernel "clear cmdline"
   9.110 +			store 16 0x1EF 0 kernel "clear info"
   9.111 +		fi
   9.112 +		[ $cmdline -ne 0 ] && files="$files cmdline" &&
   9.113 +		ddq bs=512 count=1 | strings | sed q > cmdline
   9.114 +		[ $info -ne 0 ] && files="$files info" &&
   9.115 +		ddq bs=512 count=$infolen | sed \
   9.116 +		 's/'$(echo -en "\xff\xff$//;s/\xff/\f")'/g;s/\r/\n/g;q' > info
   9.117 +		syssz=$(get 0x1F4 kernel 4)
   9.118 +		ddq bs=16 count=$syssz >>kernel
   9.119 +		[ $(($syssz % 32)) -ne 0 ] &&
   9.120 +		ddq bs=16 of=/dev/null count=$((32 - ($syssz % 32)))
   9.121 +		if [ $(get $Magic kernel 4) == 1400005704 ]; then
   9.122 +	  		ddq bs=1 count=200 skip=$((512+$(get 0x20E kernel 2))) \
   9.123 +	  			if=kernel | strings | sed q
   9.124 +			len=$(get $RamfsLenOfs kernel 4)
   9.125 +			if [ $len -ne 0 ]; then
   9.126 +				adrs=$(get $RamfsAdrOfs kernel 4)
   9.127 +				printf "--address-initrd 0x%X \n" $adrs
   9.128 +				echo "--mem $(((($adrs+$len)/1024+512)/1024))"
   9.129 +				ddq bs=512 count=$((($len+511)/512)) > initrd
   9.130 +				ddq count=0 bs=1 seek=$len of=initrd
   9.131 +				files="$files initrd"
   9.132 +				store 64 $RamfsAdrOfs 0 kernel "reset initrd"
   9.133 +			fi
   9.134 +			if [ $(get 0x206 kernel) -ge 514 ]; then
   9.135 +				store 32 0x228 0 kernel "clean cmdline32"
   9.136 +			fi
   9.137 +		else
   9.138 +			len=$(get $OldRamfsLenOfs kernel)
   9.139 +			[ $len -ne 0 ] && files="$files initrd" &&
   9.140 +			if [ -s "$2" ]; then
   9.141 +				ddq if=$2 bs=1024 count=$len of=initrd
   9.142 +			else
   9.143 +				ddq if=$1 bs=1024 skip=256 count=$len of=initrd
   9.144 +			fi
   9.145 +		fi
   9.146 +		ls -l $files
   9.147 +	}
   9.148 +	exit
   9.149 +}
   9.150 +
   9.151  KERNEL=""
   9.152  INITRD=""
   9.153  ADRSRD=""
   9.154 @@ -34,7 +151,9 @@
   9.155  FLAGS=""
   9.156  TRACKS="80"
   9.157  MEM="16"
   9.158 +HIDE=""
   9.159  NOEDIT=""
   9.160 +QUIET=""
   9.161  NOSYSSIZEFIX=""
   9.162  INFOFILE=""
   9.163  DEBUG=""
   9.164 @@ -44,18 +163,19 @@
   9.165  	-inf*) INFOFILE="$2"; shift;;
   9.166  	-i*) INITRD="$INITRD $2"; shift;;
   9.167  	-a*) ADRSRD="$2"; shift;;
   9.168 -	-h*) HEAP="$2"; shift;;
   9.169 -	-l*) LOADERTYPE="$2"; shift;;
   9.170 +	-h*) HIDE="1";;
   9.171  	-p*) PREFIX="$2"; shift;;
   9.172  	-fl*)FLAGS="$2"; shift;;	# 1 read-only, 0 read-write
   9.173  	-f*) FORMAT="$2"; shift;;
   9.174  	-m*) MEM="$(echo $2 | sed 's/[^0-9]//g')"; shift;;
   9.175  	-r*) RDEV="$2"; shift;;
   9.176  	-v*) VIDEO="$2"; shift;;	# -3 .. n
   9.177 -	-t*) TRACKS="$2"; shift;; # likely 81 .. 84
   9.178 +	-t*) TRACKS="$2"; shift;;	# likely 81 .. 84
   9.179  	-n*) NOSYSSIZEFIX="1";;
   9.180  	-debug) DEBUG="1";;
   9.181  	-d*) NOEDIT="1";;
   9.182 +	-q*) QUIET="1";;
   9.183 +	-e*) extract "$@";;
   9.184  	*) KERNEL="$1";;
   9.185  	esac
   9.186  	shift
   9.187 @@ -66,91 +186,62 @@
   9.188  	echo "Invalid track count for format $FORMAT."
   9.189  	usage
   9.190  fi
   9.191 -[ 0$MEM -lt 4  ] && MEM=4
   9.192 -[ $MEM -gt 16 ] && MEM=16
   9.193 -
   9.194 -ddq() { dd $@ 2> /dev/null; }
   9.195 +[ 0$MEM -lt 2  ] && MEM=2
   9.196  
   9.197  patch()
   9.198  {
   9.199  	echo -en $(echo ":$2" | sed 's/:/\\x/g') | \
   9.200  		ddq bs=1 conv=notrunc of=$3 seek=$((0x$1))
   9.201 -	[ -n "$DEBUG" ] && echo "patch $1 $2		$4" 1>&2
   9.202 -}
   9.203 -
   9.204 -# usage: store bits offset data file
   9.205 -store()
   9.206 -{
   9.207 -	n=$3; for i in $(seq 8 8 $1); do
   9.208 -		printf '\\\\x%02X' $(($n & 255))
   9.209 -		n=$(($n >> 8))
   9.210 -	done | xargs echo -en | ddq bs=1 conv=notrunc of=$4 seek=$(($2))
   9.211 -	[ -n "$DEBUG" ] && printf "store%d(%03X) = %0$(($1/4))X	%s\n" $1 $2 $3 "$5" 1>&2
   9.212 -}
   9.213 -
   9.214 -# usage: getlong offset file
   9.215 -getlong()
   9.216 -{
   9.217 -	ddq if=$2 bs=1 skip=$(($1)) count=4 | hexdump -e '"" 1/4 "%d" "\n"'
   9.218 +	trace "patch $1 $2		$4"
   9.219  }
   9.220  
   9.221  error()
   9.222  {
   9.223 -	echo $@ 1>&2
   9.224  	rm -f $bs
   9.225 -	exit 1
   9.226 +	die $@
   9.227  }
   9.228  
   9.229  floppyset()
   9.230  {
   9.231 -	# bzImage offsets
   9.232 -	SetupSzOfs=497
   9.233 -	FlagsOfs=498
   9.234 -	VideoModeOfs=506
   9.235 -	RootDevOfs=508
   9.236 -	Magic=0x202
   9.237 -	RamfsAdrOfs=0x218
   9.238 -	RamfsLenOfs=0x21C
   9.239 -
   9.240  	# boot+setup address
   9.241  	SetupBase=0x90000
   9.242  
   9.243  	bs=/tmp/bs$$
   9.244  
   9.245  	# Get and patch boot sector
   9.246 -	# See http://hg.slitaz.org/wok/raw-file/66e38bd6a132/linux/stuff/linux-header.u
   9.247 -	[ -n "$DEBUG" ] && echo "Read bootsector..." 1>&2
   9.248 +	# See http://hg.slitaz.org/wok/raw-file/13835bce7189/syslinux/stuff/iso2exe/bootloader.S
   9.249 +	trace "Read bootsector..."
   9.250  	ddq if=$KERNEL bs=512 count=1 of=$bs
   9.251  
   9.252 -	[ $(( $(getlong 0x1FE $bs) & 0xFFFF )) -eq 43605 ] ||
   9.253 -		error "Not bootable"
   9.254 +	[ $(get 0x1FE $bs) -eq 43605 ] || error "Not bootable"
   9.255  	
   9.256  	uudecode <<EOT | ddq of=$bs conv=notrunc
   9.257  begin-base64 644 -
   9.258 -/L+4nWgAkBeJ/BYHMcC5HgDzq1sfD6Gg8X1AxXd4BlexBvOlFh9kZo9HeMZF
   9.259 -+D/6l1hB6DwBvgACgUwQIIDGRCWbA3QO6GoBWwseKAJ0LFNH6AYBXuhaAbAg
   9.260 -zRCwCM0QTuhZATwIdAOIBK05NigCdPDoMgE8CnXgiHz+W4nm/0gQxkAVk4Dz
   9.261 -CHX0u/QBoRUCsQVmix9mS2bT60NoAAgHv4AAiXwTiUQbAfjR7yn7nHMCAd9Q
   9.262 -V1ZTMdvongBbXlmGzbSHFgfNFVidd9ChGQK7HAKxCTlEG3K6l80T6gAAIJCw
   9.263 -RijIvtgB6MoAXesjgPkTcgQ4wXdrgP4CcgQ45ndsYIH9AAZ0KgZSUVOWtAJQ
   9.264 -sQa1BMHFBLAPIegEkCcUQCfohAD+zXXssCDNEOK06I4AmM0TYVJQKMh3ArAB
   9.265 -mDn4cgKJ+FC0As0TlV5YWnKglUGO6YDHAk90S0519IzplTjBdT+IyP7GsQE4
   9.266 -5nU1iPT+xYD9ULYAdSq1AGC+2wH+RAxT6C8AW+g2AHUWUpjNE7gBAs0TWtDU
   9.267 -OmT+depGCOR15WHrkbAxLAO0DrsHAM0QPA1088OwDejv/6wIwHX4w79sBLFb
   9.268 -ZAINuA0BZDoNdArNFnT0mM0WjudHw1g6AEluc2VydCBkaXNrIDEHDQA=
   9.269 +v8adaACQF4n8FgcxwLk7APOqWx+g8X1AD6H6xXd4XwZXvQAAsQbzpRYfZGaP
   9.270 +R3jGRfg/l1hB6CQBMfYLNu8BdAzoggF0B+hgATwbdfS+AAKBTBAggMZEJZvo
   9.271 +ZwEx9gt3G3Q6x0cZP6PoWwGwIOgtASwYc/lO6DEBmDwIdAOIBK05dxt08OgV
   9.272 +ATwKdd+IfP4WB78AgIn+h3cbtQLzpFuJ5v9IEMdAFAiTgPMIdfO79AGxBaEV
   9.273 +AmaLH2ZLZtPrZkOJRBtmv4AAAABmKfuccwIB31BTVjHbaACAB+hwAF5bjMG0
   9.274 +hxYHzRVYBQABEEwfnXfPuQkCuxwCOE/+che0iM0VPQCwcgaIbB+Ib/+hGQLT
   9.275 +b+J1o5fNE+oAACCQWjjBdzRgzRP56HMAYVJQKMh3ArABOfhyAon4ULQCzRNa
   9.276 +WHLclQHRjukA1wDXKddadE2M6ZU4wXXUiMixATDOdcz+xYD9UHXFtQBgvtEB
   9.277 +U7sPAIAg8Ev+AIA4OXf16EwAW4n16CkAdRVSmM0TuAECzRNa0NQ6Zv516kVI
   9.278 +debrjbAxHAO0DrsHAM0QPA1088O/bARkxgWmuA0BZDoldArNFnT0mM0WjudH
   9.279 +wwN0DrAN6NL/rDwAf/jDSW5zZXJ0IGRpc2sgMDAxIGFuZCBFbnRlci4HDQAA
   9.280 +AAA=
   9.281  ====
   9.282  EOT
   9.283  	# Get setup
   9.284 -	setupsz=$(( $(getlong $SetupSzOfs $bs) & 0xFF ))
   9.285 +	setupsz=$(get $SetupSzOfs $bs 1)
   9.286  	if [ $setupsz -eq 0 ]; then
   9.287  		setupsz=4
   9.288  		store 8 $SetupSzOfs $setupsz $bs "setup size $setupsz"
   9.289  	fi
   9.290 -	[ -n "$DEBUG" ] && echo "Read setup ($setupsz sectors) ..." 1>&2
   9.291 +	trace "Read setup ($setupsz sectors) ..."
   9.292  	ddq if=$KERNEL bs=512 skip=1 count=$setupsz >> $bs
   9.293  
   9.294 -	Version=$(( $(getlong 0x206 $bs) & 0xFFFF ))
   9.295 -	[ $(getlong $Magic $bs) -ne 1400005704 ] && Version=0
   9.296 +	Version=$(get 0x206 $bs)
   9.297 +	[ $(get $Magic $bs 4) != 1400005704 ] && Version=0
   9.298  	feature=""
   9.299  	while read prot kern info ; do
   9.300  		[ $Version -lt $((0x$prot)) ] && continue
   9.301 @@ -158,10 +249,11 @@
   9.302  	done <<EOT
   9.303  200	1.3.73	kernel_version, bzImage, initrd, loadflags/type_of_loader
   9.304  201	1.3.76	heap_end_ptr
   9.305 -202	2.4.0	new cmdline
   9.306 +202	2.4.0	new cmdline + relocatable setup
   9.307  204	2.6.14	long syssize
   9.308 +206	2.6.22	cmdline maxsize $(get 0x238 $bs 4)
   9.309  EOT
   9.310 -	[ -n "$DEBUG" ] && printf "Protocol %X $feature\n" $Version 1>&2
   9.311 +	trace "Protocol %X $feature" $Version
   9.312  	
   9.313  	# Old kernels need bootsector patches to disable rescent features
   9.314  	while read minversion maxversion offset bytes rem; do
   9.315 @@ -169,29 +261,17 @@
   9.316  		[ $Version -lt $(( 0x$minversion )) ] && continue
   9.317  		patch $offset $bytes $bs "$rem"
   9.318  	done <<EOT
   9.319 -000 1FF 08D	B8:00:01			force zImage (movw \$0x100, %ax)
   9.320 -000 1FF 0CB	EB:0B				skip initrd code 
   9.321 -000 201 01E	EB:1E:00:00:00:00		room for the cmdline magic
   9.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
   9.323 -000 1FF 039	90:90:90			no kernel version
   9.324 -000 201 04B	22:00				old cmdline ptr 1
   9.325 -000 201 06D	22:00				old cmdline ptr 2
   9.326 +000 1FF 0B2	B8:00:01			force zImage (movw \$0x100, %ax)
   9.327 +000 1FF 0F9	EB				skip initrd code 
   9.328 +000 1FF 059	90:90:90			no kernel version
   9.329 +000 1FF 050	90:90:90:90:90			type_of_loader
   9.330 +000 200 055	90:90:90:90			heap_end_ptr
   9.331  000 203 1F6	00:00 				syssize32
   9.332 -200 FFF 210	FF				type_of_loader=FF
   9.333 -201 FFF 224	00:9B				heap_end_ptr
   9.334  EOT
   9.335 -	if [ $Version -lt 514 ]; then
   9.336 -		version_string=$((0x200 + ($(getlong 0x20E $bs) & 65535) ))
   9.337 -		store	16	0x0037	$version_string	$bs version_string
   9.338 -	fi
   9.339 -	if [ $Version -ge 512 -a $(getlong 0x214 $bs) -ge $((0x100000)) ]; then 
   9.340 -		patch	211	81	$bs	loadflags=can_use_heap+loadhigh
   9.341 -		patch	09D	10	$bs	LOADSEG=0x1000
   9.342 -		patch	0A0	00:01	$bs	LOADSZ=0x10000
   9.343 -	fi
   9.344 -	[ -n "$CMDLINE" ] || patch 04D EB $bs "No cmdline"
   9.345 -	[ -n "$NOEDIT" ] && patch 059 0D:46:EB:14 $bs 'mov CR,%al ; inc %si; jmp putal'
   9.346 -	[ 1$TRACKS -ne 180 ] &&	store	8	0x171		$TRACKS $bs TRACKS
   9.347 +	[ -n "$CMDLINE" ] || patch 061 EB $bs "No cmdline"
   9.348 +	[ -n "$HIDE" ] && patch 058 90 90 90 $bs "Hide version"
   9.349 +	[ -n "$NOEDIT" ] && patch 075 B0:0D:90 $bs 'mov CR,%al ; nop'
   9.350 +	[ 1$TRACKS -ne 180 ] &&	store	8	0x15F		$TRACKS $bs TRACKS
   9.351  	
   9.352  	[ -n "$FLAGS" ] &&	store	16	$FlagsOfs	$FLAGS $bs FLAGS
   9.353  	[ -n "$VIDEO" ] &&	store	16	$VideoModeOfs	$VIDEO $bs VIDEO
   9.354 @@ -203,80 +283,96 @@
   9.355  	esac
   9.356  	while [ -L "$RDEV" ]; do RDEV="$(readlink "$RDEV")"; done
   9.357  	[ -b "$RDEV" ] && RDEV=$(stat -c '0x%02t%02T' $RDEV 2> /dev/null)
   9.358 +	[ "$(echo $RDEV | tr '[0-9A-FXa-fx]' 0 | sed 's/0//g')" ] ||
   9.359  	store 16 $RootDevOfs $RDEV $bs RDEV
   9.360  
   9.361 -	[ $FORMAT -lt 1440 ] && store 8 0xEF  16	 $bs	1.2M
   9.362 -	[ $FORMAT -lt 1200 ] && store 8 0xEF  10	 $bs	720K
   9.363 -	[ $FORMAT -lt 720  ] && store 8 0x171 40	 $bs	360K
   9.364 -	[ $FORMAT -lt 360  ] && store 8 0xEF  9		 $bs	320K
   9.365 -	[ $FORMAT -lt 320  ] && store 8 0xF8  2		 $bs	160K
   9.366 +	[ $FORMAT -lt 720  ] && store 8 0x15F 40	 $bs	360K
   9.367 +	[ $FORMAT -lt 320  ] && store 8 0x158 237	 $bs	160K
   9.368  	
   9.369 +	extra=0
   9.370 +	# Store cmdline after setup for kernels >= 0.99
   9.371 +	if [ -n "$CMDLINE" ]; then
   9.372 +		CmdlineOfs=$(stat -c '%s' $bs)
   9.373 +		store 16 0x22 $CmdlineOfs $bs "Cmdline @$CmdlineOfs '$CMDLINE'"
   9.374 +		[ $Version -ge 514 ] &&
   9.375 +		store 32 0x228 $(( $SetupBase + 0x8000 )) $bs "Cmdline32"
   9.376 +		echo -n "$CMDLINE" | ddq bs=512 count=1 conv=sync >> $bs
   9.377 +		extra=$(($extra+1))
   9.378 +		store 8 0x1F1  $(($setupsz+$extra))	 $bs	setup size
   9.379 +		[ $Version -ge 512 ] && [ -n "$QUIET" ] &&
   9.380 +		store 8 0x211 $(($(get 0x211 $bs 1) | 32)) $bs suppress early messages
   9.381 +	fi
   9.382 +
   9.383  	# Info text after setup
   9.384  	if [ -s "$INFOFILE" ]; then
   9.385 -		patch	048	9a:00:00:00:90	$bs	lcall displayinfo
   9.386 -		uudecode >$bs.infotext <<EOT
   9.387 -begin-base64 644 -
   9.388 -MdsGYI7D6AAAXoHGSgCJ8MHoCUii8QGwDbQOuwcAzRCsPAx1I79sBLFbJgIN
   9.389 -uBsBJjoNdAnNFnT0mM0Wjsc8IHPjPBt0BuvPCMB1zWEHCx4oAss=
   9.390 -====
   9.391 -EOT
   9.392 -		cat "$INFOFILE" >>$bs.infotext
   9.393 -		if [ $Version -lt 514 ]; then
   9.394 -			store 16 0x050 0x0022 $bs.infotext 
   9.395 -		fi
   9.396 +		InfoOfs=$(stat -c '%s' $bs)
   9.397 +		sed -e ':a;N;$!ba;s/\r\n/\r/g;s/\n/\r/g' \
   9.398 +		    -e 's/'$(echo -e "\f/\xff/g;s/$/\xff\xff")'/' \
   9.399 +			< "$INFOFILE" > $bs.infotext
   9.400  		ddq if=/dev/zero bs=512 count=1 >>$bs.infotext
   9.401 -		n=$(($(stat -c %s $bs.infotext)/512))
   9.402 -		ddq if=$bs.infotext count=$n bs=512 >> $bs
   9.403 +		infolen=$(($(stat -c %s $bs.infotext)/512))
   9.404 +		ddq if=$bs.infotext count=$infolen bs=512 >> $bs
   9.405 +		extra=$(($extra+$infolen))
   9.406  		rm -f $bs.infotext
   9.407 -		store 8 0x1F1  $(($setupsz+$n))	 $bs	update setup size
   9.408 -		store 8 0x04A  $((2+2*$setupsz)) $bs	update displayinfo call
   9.409 +		store 8 0x1F1  $(($setupsz+$extra))	$bs	setup size
   9.410 +		store 16 0x1EF  $InfoOfs $bs	update infoptr
   9.411  	fi
   9.412  
   9.413 -	# Store cmdline after setup for kernels >= 0.99
   9.414 -	if [ -n "$CMDLINE" ]; then
   9.415 -		echo -n "$CMDLINE" | ddq bs=512 count=1 conv=sync >> $bs
   9.416 -		CmdlineOfs=0x9E00	# Should be in 0x8000 .. 0xA000
   9.417 -		ArgPtrOfs=0x228
   9.418 -		ArgPtrVal=$(( $SetupBase + $CmdlineOfs ))
   9.419 -		if [ $Version -lt 514 ]; then
   9.420 -			ArgPtrOfs=0x0020
   9.421 -			ArgPtrVal=$(( 0xA33F + ($CmdlineOfs << 16) ))
   9.422 -		fi
   9.423 -		store 32 $ArgPtrOfs $ArgPtrVal $bs "Cmdline '$CMDLINE'"
   9.424 +	syssz=$((($(stat -c %s $KERNEL)+15)/16-32*(1+$setupsz)))
   9.425 +	#syssz=$(get 0x1F4 $bs 4)
   9.426 +	sysszsect=$((($syssz+31)/32))
   9.427 +	store 16 $OldRamfsLenOfs 0 $bs clear oldramfs
   9.428 +	INITRD="${INITRD# }"
   9.429 +	INITRDPAD=4
   9.430 +	[ -n "$INITRD" ] &&
   9.431 +	if [ $Version -lt 512 ]; then
   9.432 +		# Compute initramfs location (protocol < 2.00)
   9.433 +		[ $syssz -gt 32768 ] && syssz=$(get 0x1F4 $bs 2)
   9.434 +		[ $syssz -eq 0 ] && syssz=$((0x7F00))
   9.435 +		sysszsect=$((($syssz+31)/32))
   9.436 +		INITRD="${INITRD%% *}"
   9.437 +		initrdlen=$(stat -c %s "$INITRD")
   9.438 +		store 16 $OldRamfsLenOfs $(($initrdlen/1024)) $bs set oldramfs
   9.439 +		INITRDDISKALIGN=$((0x40000))
   9.440 +		[ $(($initrdlen+$INITRDDISKALIGN)) -gt $(($FORMAT*1024)) -o \
   9.441 +		  $(((512*$sysszsect) + $(stat -c %s $bs))) -gt $INITRDDISKALIGN -o \
   9.442 +		  -n "$ADRSRD" ] && INITRDDISKALIGN=$(($FORMAT*1024))
   9.443 +	else
   9.444 +INITRDRAMALIGN=0x1000
   9.445 +		# Compute initramfs size (protocol >= 2.00)
   9.446 +		initrdlen=0
   9.447 +		INITRDDISKALIGN=0
   9.448 +		for i in ${INITRD//,/ }; do
   9.449 +			[ -s "$i" ] || continue
   9.450 +			while [ -L "$i" ]; do i="$(readlink $i)"; done
   9.451 +			size=$(stat -c %s "$i")
   9.452 +			trace "initrd $i $size "
   9.453 +			initrdlen=$(((($initrdlen + $INITRDPAD - 1) & -$INITRDPAD) + $size))
   9.454 +			ADRSRD2=$(( (($MEM * 0x100000) - $initrdlen) & -$INITRDRAMALIGN ))
   9.455 +			store 32 $RamfsAdrOfs $(( ${ADRSRD:-$ADRSRD2} )) $bs initrd adrs
   9.456 +			store 32 $RamfsLenOfs $initrdlen $bs initrdlen
   9.457 +		done
   9.458  	fi
   9.459  
   9.460 -	# Compute initramfs size (protocol >= 2.00)
   9.461 -	[ $Version -lt 512 ] && INITRD=""
   9.462 -	initrdlen=0
   9.463 -INITRDPAD=4
   9.464 -INITRDALIGN=0x1000
   9.465 -	for i in $( echo $INITRD | sed 's/,/ /' ); do
   9.466 -		[ -s "$i" ] || continue
   9.467 -		while [ -L "$i" ]; do i="$(readlink $i)"; done
   9.468 -		size=$(( ($(stat -c %s "$i") + $INITRDPAD - 1) & -$INITRDPAD ))
   9.469 -		[ -n "$DEBUG" ] && echo "initrd $i $size " 1>&2
   9.470 -		initrdlen=$(( $initrdlen + $size ))
   9.471 -		ADRSRD=$(( (($MEM * 0x100000) - $initrdlen) & -$INITRDALIGN ))
   9.472 -		store 32 $RamfsAdrOfs $(( $ADRSRD )) $bs initrd adrs
   9.473 -		store 32 $RamfsLenOfs $initrdlen $bs initrdlen
   9.474 -	done
   9.475 +	[ -n "$NOSYSSIZEFIX" ] || store 32 0x1F4 $syssz $bs fix system size
   9.476  
   9.477 -	[ -n "$NOSYSSIZEFIX" ] || store 32 0x1F4 \
   9.478 -		$(( ($(stat -c %s $KERNEL)+15)/16 - ($setupsz+1)*32)) $bs fix system size
   9.479 -
   9.480 -	# Output boot sector + setup + cmdline
   9.481 +	# Output boot sector + setup + cmdline + info
   9.482  	ddq if=$bs
   9.483  
   9.484  	# Output kernel code
   9.485 -	syssz=$(( ($(getlong 0x1F4 $bs)+31)/32 ))
   9.486 -	cat $KERNEL /dev/zero | ddq bs=512 skip=$(( $setupsz+1 )) count=$syssz conv=sync
   9.487 +	[ $INITRDDISKALIGN -ne 0 ] &&
   9.488 +	INITRDDISKALIGN=$(($INITRDDISKALIGN/512-$sysszsect-$extra-$setupsz-1))
   9.489 +	cat $KERNEL /dev/zero | ddq bs=512 skip=$(( $setupsz+1 )) \
   9.490 +		count=$(($sysszsect+$INITRDDISKALIGN)) conv=sync
   9.491  
   9.492  	# Output initramfs
   9.493 -	for i in $( echo $INITRD | sed 's/,/ /' ); do
   9.494 +	padding=$INITRDPAD
   9.495 +	for i in ${INITRD//,/ }; do
   9.496  		[ -s "$i" ] || continue
   9.497 +		[ $padding -eq $INITRDPAD ] || ddq if=/dev/zero bs=1 count=$padding
   9.498  		ddq if=$i
   9.499 +		trace "initrd $i ($(stat -c %s $i) bytes) padding $INITRDPAD"
   9.500  		padding=$(( $INITRDPAD - ($(stat -c %s $i) % $INITRDPAD) ))
   9.501 -		[ $padding -eq $INITRDPAD ] || ddq if=/dev/zero bs=1 count=$padding
   9.502  	done
   9.503  
   9.504  	# Cleanup
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/mirror-tools/slitaz/mirror/floppies/builder/clientbuilder.js	Fri Sep 01 17:28:05 2017 +0200
    10.3 @@ -0,0 +1,53 @@
    10.4 +function updateHtmlCode() {
    10.5 +if (location.hash != "#test") return false;
    10.6 +	var f = document.forms["io"]
    10.7 +	document.getElementById("note1").innerHTML = 
    10.8 +		"Note 1: client side tool. No size limits."
    10.9 +	f.elements["build"].onclick = buildFloppies
   10.10 +	f.enctype = "application/x-www-form-urlencoded"
   10.11 +	f.action = ""
   10.12 +}
   10.13 +
   10.14 +function buildFloppies() {
   10.15 +	var f = document.forms["io"]
   10.16 +	if (f.elements["kernel"].value == "") {
   10.17 +		alert("The kernel file is required.")
   10.18 +		return false
   10.19 +	}
   10.20 +alert("buildFloppies() ")
   10.21 +	var total = f.elements["kernel"].file.size
   10.22 +alert("buildFloppies() total="+total)
   10.23 +	var i
   10.24 +	for (i = 0; i < elements["initrd"].files.length; i++)
   10.25 +		total += elements["initrd"].files[i].size
   10.26 +	for (i = 0; i < elements["initrd2"].files.length; i++)
   10.27 +		total += elements["initrd2"].files[i].size
   10.28 +alert("buildFloppies() total="+total)
   10.29 +var s = ""
   10.30 +for (i = 0; i < f.elements.length; i++) {
   10.31 +	s += i+ ": " + f.elements[i].name+"="+f.elements[i].value+", "
   10.32 +}
   10.33 +alert(s);
   10.34 +	f.style.visibility = "hidden";
   10.35 +	dlfiles = document.createElement("div")
   10.36 +	f.appendChild = dlfiles
   10.37 +alert("end buildFloppies()")
   10.38 +	return false
   10.39 +}
   10.40 +
   10.41 +// document.getElementById(id)
   10.42 +// document.getElementsByTagName(name)   "p"
   10.43 +// document.getElementsByClassName(name)
   10.44 +// element.innerHTML =  new html 
   10.45 +// element.setAttribute(attribute, value)
   10.46 +// document.createElement(element)
   10.47 +// document.removeChild(element)
   10.48 +// document.appendChild(element)
   10.49 +// document.replaceChild(element)
   10.50 +// parentNode
   10.51 +// childNodes[nodenumber]
   10.52 +// firstChild
   10.53 +// lastChild
   10.54 +// nextSibling
   10.55 +// previousSibling
   10.56 +
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/mirror-tools/slitaz/mirror/floppies/builder/index.html	Fri Sep 01 17:28:05 2017 +0200
    11.3 @@ -0,0 +1,1 @@
    11.4 +index.php
    11.5 \ No newline at end of file
    12.1 --- a/mirror-tools/slitaz/mirror/floppies/builder/index.php	Fri Apr 28 14:08:02 2017 +0100
    12.2 +++ b/mirror-tools/slitaz/mirror/floppies/builder/index.php	Fri Sep 01 17:28:05 2017 +0200
    12.3 @@ -1,17 +1,32 @@
    12.4  <?php
    12.5  if (false) { // no php support on this mirror !
    12.6  ?>
    12.7 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    12.8 -	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    12.9 -<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
   12.10 +<!DOCTYPE html>
   12.11 +<html lang="en">
   12.12  <head>
   12.13 +	<meta charset="UTF-8">
   12.14  	<title>SliTaz Boot Floppies redirection</title>
   12.15 -	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   12.16 -	<meta name="description" content="slitaz boot floppies builder redirection" />
   12.17 -	<meta name="robots" content="index, nofollow" />
   12.18 -	<meta name="author" content="SliTaz Contributors" />
   12.19 -	<meta http-equiv="Refresh" content="0;url=http://mirror.slitaz.org/floppies/builder/index.php">
   12.20 +	<meta name="description" content="slitaz boot floppies builder redirection">
   12.21 +	<meta name="robots" content="index, nofollow">
   12.22 +	<meta name="viewport" content="width=device-width, initial-scale=1">
   12.23 +	<meta name="author" content="SliTaz Contributors">
   12.24 +	<meta http-equiv="Refresh" content="0;url=http://mirror1.slitaz.org/floppies/builder/index.php">
   12.25  </head>
   12.26 +<body>
   12.27 +	<script type="text/javascript">
   12.28 +	window.location.replace('http://mirror1.slitaz.org/floppies/builder/index.php')
   12.29 +	</script>
   12.30 +	<noscript>
   12.31 +	<frameset rows="100%">
   12.32 +		<frame src="http://mirror1.slitaz.org/floppies/builder/index.php">
   12.33 +		<noframes>
   12.34 +		<body>Please follow <a href="http://mirror1.slitaz.org/floppies/builder/index.php
   12.35 +		">this link</a>.</body>
   12.36 +		</noframes>
   12.37 +	</frameset>
   12.38 +	</noscript>
   12.39 +</body>
   12.40 +</html>
   12.41  <?php
   12.42  }
   12.43  ini_set('upload_max_filesize','16M');
   12.44 @@ -19,10 +34,10 @@
   12.45  if (isset($_GET['id']) && is_file("/tmp/".$_GET['id']."/fd")) {
   12.46  
   12.47  	// Download a floppy image
   12.48 -	
   12.49 -    	$size = $_GET['s'];
   12.50 -    	if ($size == 0)
   12.51 -    		$size = filesize("/tmp/".$_GET['id']."/fd");
   12.52 +
   12.53 +	$size = $_GET['s'];
   12.54 +	if ($size == 0)
   12.55 +		$size = filesize("/tmp/".$_GET['id']."/fd");
   12.56  	header("Content-Type: application/octet-stream");
   12.57  	header("Content-Length: ".$size);
   12.58  	header("Content-Disposition: attachment; filename=".
   12.59 @@ -37,63 +52,43 @@
   12.60  	exit;
   12.61  }
   12.62  ?>
   12.63 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   12.64 -	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   12.65 -<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
   12.66 +<!DOCTYPE html>
   12.67 +<html lang="en">
   12.68  <head>
   12.69 +	<meta charset="UTF-8">
   12.70  	<title>SliTaz Boot Floppies</title>
   12.71 -	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   12.72 -	<meta name="description" content="slitaz boot floppies builder" />
   12.73 -	<meta name="robots" content="index, nofollow" />
   12.74 -	<meta name="author" content="SliTaz Contributors" />
   12.75 -	<link rel="shortcut icon" href="../static/favicon.ico" />
   12.76 -	<link rel="stylesheet" type="text/css" href="../static/slitaz.css" />
   12.77 -	<style type="text/css">
   12.78 -	
   12.79 -input[type=text] {
   12.80 -	width: inherit;
   12.81 -}
   12.82 -
   12.83 -#content {
   12.84 -	margin: 6px 280px 0px 0px;
   12.85 -	padding: 0px 3% 20px 4%;
   12.86 -}
   12.87 -
   12.88 -#nav {
   12.89 -	right: 4%;
   12.90 -}
   12.91 -
   12.92 -#copy {
   12.93 -	text-align: center;
   12.94 -}
   12.95 -
   12.96 -#bottom {
   12.97 -	text-align: center;
   12.98 -}
   12.99 -
  12.100 +	<meta name="description" content="slitaz boot floppies builder">
  12.101 +	<meta name="robots" content="index, nofollow">
  12.102 +	<meta name="viewport" content="width=device-width, initial-scale=1">
  12.103 +	<meta name="author" content="SliTaz Contributors">
  12.104 +	<link rel="shortcut icon" href="../static/favicon.ico">
  12.105 +	<link rel="stylesheet" href="../static/slitaz.min.css">
  12.106 +	<style>
  12.107 +input[type=text] { width: inherit; }
  12.108  	</style>
  12.109  </head>
  12.110 -<body bgcolor="#ffffff">
  12.111 -<!-- Header -->
  12.112 -<div id="header">
  12.113 -    <a name="top"></a>
  12.114 -	<div id="logo"></div>
  12.115 -	<div id="network">
  12.116 -		<a href="http://www.slitaz.org/">
  12.117 -		<img src="../static/home.png" alt="[ home ]" /></a>
  12.118 -		<a href="bootloader" title="Build your floppy sets without Internet">Shell builder</a> |
  12.119 +<body>
  12.120 +
  12.121 +<script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script>
  12.122 +
  12.123 +<header>
  12.124 +	<h1 id="top"><a href="http://www.slitaz.org/">Boot floppies builder</a></h1>
  12.125 +	<div class="network">
  12.126 +		<a href="http://www.slitaz.org/" class="home"></a>
  12.127 +		<a href="bootloader" title="Build your floppy sets without Internet">Shell builder</a>
  12.128  		<a href="../floppy-grub4dos" title="Boot tools">Generic boot floppy</a>
  12.129  	</div>
  12.130 -	<h1><a href="http://www.slitaz.org/">Boot floppies builder</a></h1>
  12.131 -</div>
  12.132 +</header>
  12.133  
  12.134 -<!-- Navigation menu -->
  12.135 -<div id="nav">
  12.136 +<!-- Block -->
  12.137 +<div class="block"><div>
  12.138 +
  12.139 +	<!-- Navigation menu -->
  12.140  
  12.141  <?php
  12.142  
  12.143  	// Cleanup old sessions
  12.144 -	
  12.145 +
  12.146  	$dir = opendir("/tmp");
  12.147  	while (($name = readdir($dir)) !== false) {
  12.148  		if (preg_match('/^fdbuild/',$name) == 0) continue;
  12.149 @@ -118,21 +113,19 @@
  12.150  function error($string, $title="Error")
  12.151  {
  12.152  	echo <<<EOT
  12.153 -<div class="nav_box">
  12.154 -<h4>$title</h4>
  12.155 -<p>
  12.156 -$string
  12.157 -</p>
  12.158 -</div>
  12.159 +	<nav>
  12.160 +		<header>$title</header>
  12.161 +		<p>$string</p>
  12.162 +	</nav>
  12.163  EOT;
  12.164  }
  12.165  
  12.166  	$size = 0;
  12.167  	$initrd_size = 0;
  12.168  	$info_size = 0;
  12.169 -	
  12.170 +
  12.171  	// Upload kernel
  12.172 -	
  12.173 +
  12.174  	foreach($_FILES as $data) {
  12.175  		$msg="The file ".$data['name']." ";
  12.176  		switch ($data["error"]) {
  12.177 @@ -154,7 +147,7 @@
  12.178  		}
  12.179  	}
  12.180  	if (isset($_FILES["kernel"]['tmp_name']) &&
  12.181 -	    is_uploaded_file($_FILES["kernel"]['tmp_name'])) {
  12.182 +		is_uploaded_file($_FILES["kernel"]['tmp_name'])) {
  12.183  		$tmp_dir = tempnam('','fdbuild');
  12.184  		if (file_exists($tmp_dir)) unlink($tmp_dir);
  12.185  		mkdir($tmp_dir);
  12.186 @@ -173,36 +166,36 @@
  12.187  	}
  12.188  
  12.189  	if ($size && isset($_FILES["info"]['tmp_name']) &&
  12.190 -	    is_uploaded_file($_FILES["info"]['tmp_name'])) {
  12.191 +		is_uploaded_file($_FILES["info"]['tmp_name'])) {
  12.192  		move_uploaded_file($_FILES["info"]['tmp_name'],
  12.193  				   $tmp_dir."info");
  12.194  		$info_size = $_FILES["info"]['size'];
  12.195  	}
  12.196 -	
  12.197 +
  12.198  	// Upload initrd
  12.199 -	
  12.200 -	if ($size && isset($_FILES["initrd"]['tmp_name']) &&
  12.201 -	    is_uploaded_file($_FILES["initrd"]['tmp_name'])) {
  12.202 -		move_uploaded_file($_FILES["initrd"]['tmp_name'],
  12.203 -				   $tmp_dir."initrd");
  12.204 -		$initrd_size = $_FILES["initrd"]['size'];
  12.205 +
  12.206 +	if ($size) for ($i = 0; $i < count($_FILES["initrd"]['name']); $i++)
  12.207 +	if (isset($_FILES["initrd"]['tmp_name'][$i]) &&
  12.208 +		is_uploaded_file($_FILES["initrd"]['tmp_name'][$i])) {
  12.209 +		move_uploaded_file($_FILES["initrd"]['tmp_name'][$i],
  12.210 +				   $tmp_dir."initrd.".$i);
  12.211 +		$initrd_cmd .= " --initrd ".$tmp_dir."initrd.".$i;
  12.212 +		$initrd_size = $_FILES["initrd"]['size'][$i];
  12.213  		$size += $initrd_size;
  12.214 +		if ($i == 0)
  12.215  		$msg = "The total size of the files ".$_FILES["kernel"]['name'].
  12.216 -		       " and ".$_FILES["initrd"]['name'];
  12.217 +		       " and ".$_FILES["initrd"]['name'][$i];
  12.218 +		else $msg .= ", ".$FILE["initrd"]['name'][$i];
  12.219  	}
  12.220 -	if ($initrd_size && isset($_FILES["initrd2"]['tmp_name']) &&
  12.221 -	    is_uploaded_file($_FILES["initrd2"]['tmp_name'])) {
  12.222 -		move_uploaded_file($_FILES["initrd2"]['tmp_name'],
  12.223 -				   $tmp_dir."initrd2");
  12.224 -		$initrd2_size = $_FILES["initrd2"]['size'];
  12.225 +	if ($initrd_size) for ($i = 0; $i < count($_FILES["initrd2"]['name']); $i++)
  12.226 +	if (isset($_FILES["initrd2"]['tmp_name'][$i]) &&
  12.227 +		is_uploaded_file($_FILES["initrd2"]['tmp_name'][$i])) {
  12.228 +		move_uploaded_file($_FILES["initrd2"]['tmp_name'][$i],
  12.229 +				   $tmp_dir."initrd2.".$i);
  12.230 +		$initrd2_cmd .= " --initrd ".$tmp_dir."initrd2.".$i;
  12.231 +		$initrd2_size = $_FILES["initrd2"]['size'][$i];
  12.232  		$size += $initrd2_size;
  12.233 -		$msg = "The total size of the files ".$_FILES["kernel"]['name'].
  12.234 -		       ", ".$_FILES["initrd"]['name'].
  12.235 -		       " and ".$_FILES["initrd2"]['name'];
  12.236 -	}
  12.237 -	if ($size >= 15 * 1024 * 1024) {
  12.238 -		error($msg." exceeds 15 MB.");
  12.239 -		$size = 0;
  12.240 +		$msg .= ", ".$FILE["initrd2"]['name'][$i];
  12.241  	}
  12.242  	if ($size == 0) {
  12.243  		if (isset($tmp_dir))
  12.244 @@ -221,9 +214,9 @@
  12.245  		if (file_exists($_POST['rdev']))
  12.246  			$cmd .= " --rdev ".$_POST['rdev'];
  12.247  		if ($initrd_size)
  12.248 -			$cmd .= " --initrd ".$tmp_dir."initrd";
  12.249 +			$cmd .= $initrd_cmd;
  12.250  		if ($initrd2_size)
  12.251 -			$cmd .= " --initrd ".$tmp_dir."initrd2";
  12.252 +			$cmd .= $initrd2_cmd;
  12.253  		switch ($_POST['size']) {
  12.254  		case 1763328 : 
  12.255  		case 2015232 : 
  12.256 @@ -261,59 +254,69 @@
  12.257  }
  12.258  ?>
  12.259  
  12.260 -<!-- End navigation menu -->
  12.261 -</div>
  12.262 +	<!-- End navigation menu -->
  12.263 +</div></div>
  12.264  
  12.265 -<!-- Content top. -->
  12.266 -<div id="content_top">
  12.267 -<div class="top_left"></div>
  12.268 -<div class="top_right"></div>
  12.269 -</div>
  12.270  
  12.271  <!-- Content -->
  12.272 -<div id="content">
  12.273 +<main>
  12.274  
  12.275  <h2>Floppy image set builder</h2>
  12.276  
  12.277 +<script>
  12.278 +if (window.File && window.FileReader && window.FileList && window.Blob) {
  12.279 +	try {
  12.280 +		updateHtmlCode();
  12.281 +	}
  12.282 +	catch (any) {
  12.283 +		var element = document.createElement("script");
  12.284 +		element.src = "clientbuilder.js";
  12.285 +		element.type = "text/javascript";
  12.286 +		element.onload = function() {
  12.287 +			updateHtmlCode();
  12.288 +		};
  12.289 +		document.body.appendChild(element);
  12.290 +	}
  12.291 +}
  12.292 +</script>
  12.293  <?php
  12.294  	if (!isset($count)) {
  12.295  		$max = rtrim(ini_get('upload_max_filesize'),"M");
  12.296  		$max_post = rtrim(ini_get('post_max_size'),"M");
  12.297  		if ($max_post < $max) $max = $max_post;
  12.298 -		$msg = "the tiny boot loader can't load more than 15 MB";
  12.299 -		if ($max < 16)
  12.300 -			$msg = "the web server can't upload more than $max MB";
  12.301 +		$msg = "the web server can't upload more than $max MB";
  12.302  ?>
  12.303 -<form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
  12.304 -<table>
  12.305 +<form id="io" method="post" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
  12.306 +
  12.307 +<div class="large"><table>
  12.308  	<tr>
  12.309 -	<td>Linux kernel:</td>
  12.310 -	<td><input type="file" name="kernel" size="37" /> <i>required</i></td>
  12.311 +		<td>Linux kernel:</td>
  12.312 +		<td><input type="file" name="kernel" size="37" /> <i>required</i></td>
  12.313  	</tr>
  12.314  	<tr>
  12.315 -	<td>Initramfs / Initrd:</td>
  12.316 -	<td><input type="file" name="initrd" size="37" /> <i>optional</i></td>
  12.317 +		<td>Initramfs / Initrd:</td>
  12.318 +		<td><input type="file" name="initrd[]" size="37" multiple /> <i>optional</i></td>
  12.319  	</tr>
  12.320  	<tr>
  12.321 -	<td>Extra initramfs:</td>
  12.322 -	<td><input type="file" name="initrd2" size="37" /> <i>optional</i></td>
  12.323 +		<td>Extra initramfs:</td>
  12.324 +		<td><input type="file" name="initrd2[]" size="37" multiple /> <i>optional</i></td>
  12.325  	</tr>
  12.326  	<tr>
  12.327 -	<td>Boot message:</td>
  12.328 -	<td><input type="file" name="info" size="37" /> <i>optional</i></td>
  12.329 +		<td>Boot message:</td>
  12.330 +		<td><input type="file" name="info" size="37" /> <i>optional</i></td>
  12.331  	</tr>
  12.332  	<tr>
  12.333 -	<td>Default cmdline:</td>
  12.334 -	<td><input type="text" name="cmdline" size="36" <?php 
  12.335 +		<td>Default cmdline:</td>
  12.336 +		<td id="cmdline"><input type="text" name="cmdline" size="36" <?php
  12.337  		if (isset($_GET['cmdline'])) echo 'value="'.$_GET['cmdline'].'"';
  12.338  	?>/> <input type="checkbox" name="edit" checked="checked" />edit
  12.339  	<i>optional</i></td>
  12.340  	</tr>
  12.341  	<tr>
  12.342 -	<td>Root device:</td>
  12.343 -	<td><input type="text" name="rdev" size="8" value="<?php
  12.344 +		<td>Root device:</td>
  12.345 +		<td><input type="text" name="rdev" size="8" value="<?php
  12.346  		if (isset($_GET['rdev'])) echo $_GET['rdev'];
  12.347 -		else echo "/dev/fd0";
  12.348 +		else echo "/dev/ram0";
  12.349  	?>" />
  12.350  	&nbsp;&nbsp;Flags: <select name="flags">
  12.351  		<option value="1">R/O</option>
  12.352 @@ -375,25 +378,54 @@
  12.353  			$options[0x311] = "640x480x16";
  12.354  			$options[0x312] = "640x480x24";
  12.355  			$options[0x33A] = "640x480x32";// 321?
  12.356 +			$options[879]   = "800x500x8";
  12.357 +			$options[880]   = "800x500x15";
  12.358 +			$options[881]   = "800x500x16";
  12.359 +			$options[882]   = "800x500x24";
  12.360 +			$options[883]   = "800x500x32";
  12.361  			//$options[770] = "800x600x4";
  12.362  			$options[0x303] = "800x600x8";
  12.363  			$options[0x313] = "800x600x15";
  12.364  			$options[0x314] = "800x600x16";
  12.365  			$options[0x315] = "800x600x24";
  12.366  			$options[0x33B] = "800x600x32";//322?
  12.367 +			$options[815]   = "896x672x8";
  12.368 +			$options[816]   = "896x672x15";
  12.369 +			$options[817]   = "896x672x16";
  12.370 +			$options[818]   = "896x672x24";
  12.371 +			$options[819]   = "896x672x32";
  12.372 +			$options[874]   = "1024x640x8";
  12.373 +			$options[875]   = "1024x640x15";
  12.374 +			$options[876]   = "1024x640x16";
  12.375 +			$options[877]   = "1024x640x24";
  12.376 +			$options[878]   = "1024x640x32";
  12.377  			//$options[772] = "1024x768x4";
  12.378  			$options[0x305] = "1024x768x8";
  12.379  			$options[0x316] = "1024x768x15";
  12.380  			$options[0x317] = "1024x768x16";
  12.381  			$options[0x318] = "1024x768x24";
  12.382  			$options[0x33C] = "1024x768x32";//323?
  12.383 +			$options[869]   = "1152x720x8";
  12.384 +			$options[870]   = "1152x720x15";
  12.385 +			$options[871] =   "1152x720x16";
  12.386 +			$options[872] =   "1152x720x24";
  12.387 +			$options[873] =   "1152x720x32";
  12.388  			$options[0x307] = "1280x1024x8";
  12.389  			$options[0x319] = "1280x1024x15";
  12.390  			$options[0x31A] = "1280x1024x16";
  12.391  			$options[0x31B] = "1280x1024x24";
  12.392  			$options[0x33D] = "1280x1024x32";
  12.393 +			$options[835]   = "1400x1050x8";
  12.394 +			$options[837] =   "1400x1050x16";
  12.395 +			$options[838] =   "1400x1040x24";
  12.396 +			$options[864]   = "1440x900x8";
  12.397 +			$options[864]   = "1440x900x15";
  12.398 +			$options[866] =   "1440x900x16";
  12.399 +			$options[867] =   "1440x900x24";
  12.400 +			$options[868] =   "1440x900x32";
  12.401  			$options[0x330] = "1600x1200x8";
  12.402  			$options[0x331] = "1600x1200x16";
  12.403 +			$options[893]   = "1920x1200x8";
  12.404  			foreach ($options as $key => $value) {
  12.405  				echo '<option value="'.$key.'"';
  12.406  				if ($key == $selected || $value == $selected)
  12.407 @@ -401,14 +433,38 @@
  12.408  				echo '>'.$value."</option>\n";
  12.409  			}
  12.410  		?>
  12.411 -	</select>
  12.412 -	</td>
  12.413 +		</select>
  12.414 +		</td>
  12.415  	</tr>
  12.416  	<tr>
  12.417 -	<td>Floppy size:</td>
  12.418 -	<td><select name="size">
  12.419 +		<td>Floppy size:</td>
  12.420 +		<td><select name="size">
  12.421  <?php
  12.422  	foreach ($sizes as $key => $value) {
  12.423 +		switch ($key) {
  12.424 +		case "368640" :
  12.425 +			echo "		<optgroup label=\"5&frac14; SD\">\n";
  12.426 +			break;
  12.427 +		case "737280" :
  12.428 +			echo "		</optgroup>\n";
  12.429 +			echo "		<optgroup label=\"3&frac12; SD\">\n";
  12.430 +			break;
  12.431 +		case "1228800" :
  12.432 +			echo "		</optgroup>\n";
  12.433 +			echo "		<optgroup label=\"5&frac14; HD\">\n";
  12.434 +			break;
  12.435 +		case "1474560" :
  12.436 +			echo "		</optgroup>\n";
  12.437 +			echo "		<optgroup label=\"3&frac12; HD\">\n";
  12.438 +			break;
  12.439 +		case "2949120" :
  12.440 +			echo "		</optgroup>\n";
  12.441 +			echo "		<optgroup label=\"3&frac12; ED\">\n";
  12.442 +			break;
  12.443 +		case "0" :
  12.444 +			echo "		</optgroup>\n";
  12.445 +			break;
  12.446 +		}
  12.447  		echo "		<option value=\"$key\"";
  12.448  		if ($key == "1474560") echo " selected='selected'";
  12.449  		echo ">$value</option>\n";
  12.450 @@ -424,24 +480,22 @@
  12.451  		<input name="build" value="Build floppy set" type="submit" />
  12.452  	</td>
  12.453  	</tr>
  12.454 -</table>
  12.455 -</form>
  12.456 +</table></div>
  12.457  <?php
  12.458  		echo <<<EOT
  12.459 -<p>
  12.460 -Note 1: $msg of files (kernel and initramfs) in memory.
  12.461 -</p>
  12.462 -<p>
  12.463 -Note 2: the extra initramfs may be useful to add your own configuration files.
  12.464 -</p>
  12.465 -<p>
  12.466 -Note 3: the keyboard is read for ESC or ENTER on every form feed (ASCII 12) in the boot message.
  12.467 -</p>
  12.468 +<p id="note1">Note 1: $msg of files (kernel and initramfs) in memory.</p>
  12.469 +
  12.470 +<p>Note 2: the extra initramfs may be useful to add your own configuration files.</p>
  12.471 +
  12.472 +<p>Note 3: the keyboard is read for ESC or ENTER on every form feed (ASCII 12) in the boot message.</p>
  12.473 +</form>
  12.474  EOT;
  12.475  	}
  12.476  	else {
  12.477  ?>
  12.478 +
  12.479  <h4>Download image<?php if ($count >= 2) echo "s"; ?></h4>
  12.480 +
  12.481  <ul>
  12.482  <?php
  12.483  		for ($i = 1; $i <= $count; $i++) {
  12.484 @@ -453,81 +507,97 @@
  12.485  		echo "</ul>\n".floor($padding/1024)."KB padding.\n";
  12.486  ?>
  12.487  
  12.488 -<p>
  12.489 -You can write floppies with SliTaz <i>bootfloppybox</i>, 
  12.490 -<a href="http://en.wikipedia.org/wiki/RaWrite">Windows rawrite</a> or simply dd:
  12.491 -</p>
  12.492 -<pre># dd if=fd001.img of=/dev/fd0
  12.493 -</pre>
  12.494 +<p>You can write floppies with SliTaz <code>bootfloppybox</code>, <a
  12.495 +href="http://en.wikipedia.org/wiki/RaWrite">Windows rawrite</a> or simply
  12.496 +<code>dd</code>:</p>
  12.497  
  12.498 -<p>
  12.499 -Start your computer with <i>fd001.img</i>. It will show the kernel version string and
  12.500 -the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
  12.501 -</p>
  12.502 +<pre># dd if=fd001.img of=/dev/fd0</pre>
  12.503 +
  12.504 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
  12.505 +string and the kernel cmdline line. You can edit the cmdline. Most users can
  12.506 +just press Enter.</p>
  12.507  
  12.508  <?php
  12.509  		if ($count >= 2) {
  12.510  ?>
  12.511 -<p>
  12.512 -The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
  12.513 -insert the next floppy, <i>fd002.img</i>. And so on.
  12.514 -</p>
  12.515 +<p>The floppy is then loaded into memory (one dot each 64K) and you will be
  12.516 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on.</p>
  12.517  
  12.518 -<p>
  12.519 -The floppy set detects disk swaps and can be used without a keyboard.
  12.520 -</p>
  12.521 +<p>The floppy set detects disk swaps and can be used without a keyboard.</p>
  12.522  <?php
  12.523  		}
  12.524  ?>
  12.525 -<p>
  12.526 -Good luck.
  12.527 -</p>
  12.528 +<p>Good luck.</p>
  12.529 +
  12.530  <?php
  12.531  	}
  12.532  ?>
  12.533  
  12.534 -<div class="nav_box">
  12.535 -<h4>How does it work ?</h4>
  12.536 -<p>
  12.537 -This tool updates the boot sector of your kernel with
  12.538 -<a href="http://hg.slitaz.org/wok/raw-file/66e38bd6a132/linux/stuff/linux-header.u">this patch</a>.
  12.539 -You may add a default cmdline and an initramfs. The cmdline can be edited at boot
  12.540 -time but the keyboard is not mandatory.
  12.541 -A <a href="bootloader"> standalone version</a> is available.
  12.542 -</p>
  12.543 -<p>
  12.544 -Each part (boot, setup, boot message, cmdline, kernel, initramfs) is aligned to 512 bytes.
  12.545 -The result is split to fit the floppy size.
  12.546 -The last floppy image is padded with zeros.
  12.547 -</p>
  12.548 -<p>
  12.549 -You can extract the <u>kernel</u>, <u>cmdline</u> and <u>rootfs</u> files with 
  12.550 -<a href="../floppies">this tool</a> from the floppy images.
  12.551 -</p>
  12.552 -</div>
  12.553  
  12.554 -<!-- End of content with round corner -->
  12.555 -</div>
  12.556 -<div id="content_bottom">
  12.557 -<div class="bottom_left"></div>
  12.558 -<div class="bottom_right"></div>
  12.559 -</div>
  12.560 +<h3>How does it work?</h3>
  12.561  
  12.562 -<!-- Start of footer and copy notice -->
  12.563 -<div id="copy">
  12.564 -<p>
  12.565 -Copyright &copy; <?php echo date('Y'); ?> <a href="http://www.slitaz.org/">SliTaz</a> -
  12.566 -<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
  12.567 -</p>
  12.568 -<!-- End of copy -->
  12.569 -</div>
  12.570 +<p>This tool updates the boot sector of your kernel with <a
  12.571 +href="http://hg.slitaz.org/wok/raw-file/13835bce7189/syslinux/stuff/iso2exe/bootloader.S">this
  12.572 +code</a>. You may add a default cmdline and an initramfs. The cmdline can be
  12.573 +edited at boot time but the <acronym title="Check for disk swap every 5 seconds"
  12.574 +>keyboard is not mandatory</acronym>. A <a href="bootloader">standalone
  12.575 +version</a> is available to break the web server upload limit.</p>
  12.576  
  12.577 -<!-- Bottom and logo's -->
  12.578 -<div id="bottom">
  12.579 -<p>
  12.580 -<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>
  12.581 -</p>
  12.582 -</div>
  12.583 +<p>Each part (boot, setup, boot message, cmdline, kernel, initramfs) is aligned
  12.584 +to 512 bytes. The result is split to fit the floppy size. The last floppy image
  12.585 +is padded with zeros.</p>
  12.586 +
  12.587 +<p>You can extract the <u>kernel</u>, <u>cmdline</u> and <u>rootfs</u> files
  12.588 +with <a href="bootloader" title="./bootloader --extract floppy.*">this tool</a>
  12.589 +from the floppy images.</p>
  12.590 +
  12.591 +
  12.592 +<!-- End of content -->
  12.593 +</main>
  12.594 +
  12.595 +<script>
  12.596 +	function QRCodePNG(str, obj) {
  12.597 +		try {
  12.598 +			obj.height = obj.width += 300;
  12.599 +			return QRCode.generatePNG(str, {ecclevel: 'H'});
  12.600 +		}
  12.601 +		catch (any) {
  12.602 +			var element = document.createElement("script");
  12.603 +			element.src = "/static/qrcode.min.js";
  12.604 +			element.type = "text/javascript";
  12.605 +			element.onload = function() {
  12.606 +				obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
  12.607 +			};
  12.608 +			document.body.appendChild(element);
  12.609 +		}
  12.610 +	}
  12.611 +</script>
  12.612 +
  12.613 +<footer>
  12.614 +	<div>
  12.615 +		Copyright © <span class="year"></span>
  12.616 +		<a href="http://www.slitaz.org/">SliTaz</a>
  12.617 +	</div>
  12.618 +	<div>
  12.619 +		Network:
  12.620 +		<a href="http://scn.slitaz.org/">Community</a> ·
  12.621 +		<a href="http://doc.slitaz.org/">Doc</a> ·
  12.622 +		<a href="http://forum.slitaz.org/">Forum</a> ·
  12.623 +		<a href="http://pkgs.slitaz.org/">Packages</a> ·
  12.624 +		<a href="http://bugs.slitaz.org">Bugs</a> ·
  12.625 +		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
  12.626 +	</div>
  12.627 +	<div>
  12.628 +		SliTaz @
  12.629 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
  12.630 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
  12.631 +		<a href="http://distrowatch.com/slitaz">Distrowatch</a> ·
  12.632 +		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> ·
  12.633 +		<a href="http://flattr.com/profile/slitaz">Flattr</a>
  12.634 +	</div>
  12.635 +	<img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
  12.636 +	onclick="this.src = QRCodePNG(location.href, this)"/>
  12.637 +</footer>
  12.638  
  12.639  </body>
  12.640  </html>
    13.1 --- a/mirror-tools/slitaz/mirror/floppies/download.php	Fri Apr 28 14:08:02 2017 +0100
    13.2 +++ b/mirror-tools/slitaz/mirror/floppies/download.php	Fri Sep 01 17:28:05 2017 +0200
    13.3 @@ -36,99 +36,93 @@
    13.4  		download(sprintf("fdiso%02d.img",$_GET['file']), $fdsz, $cmd);
    13.5  	}
    13.6  }
    13.7 -?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    13.8 -	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    13.9 -<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
   13.10 +?><!DOCTYPE html>
   13.11 +<html lang="en">
   13.12  <head>
   13.13 +	<meta charset="UTF-8">
   13.14  	<title>SliTaz Boot Floppies</title>
   13.15 -	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   13.16 -	<meta name="description" content="slitaz boot floppies" />
   13.17 -	<meta name="robots" content="index, nofollow" />
   13.18 -	<meta name="author" content="SliTaz Contributors" />
   13.19 -	<link rel="shortcut icon" href="../css/favicon.ico" />
   13.20 -	<link rel="stylesheet" type="text/css" href="../css/slitaz.css" />
   13.21 +	<meta name="description" content="slitaz boot floppies">
   13.22 +	<meta name="robots" content="index, nofollow">
   13.23 +	<meta name="author" content="SliTaz Contributors">
   13.24 +	<link rel="shortcut icon" href="static/favicon.ico">
   13.25 +	<link rel="stylesheet" href="static/slitaz.min.css">
   13.26  	<style type="text/css">
   13.27 -#copy {
   13.28 -	text-align: center;
   13.29 -}
   13.30 -
   13.31 -#bottom {
   13.32 -	text-align: center;
   13.33 -}
   13.34 -
   13.35 +.block_info { width: 40%; }
   13.36 +nav table { margin: 6px 0 0 0; }
   13.37 +nav table a { color: #215090; }
   13.38 +nav header::before { content: url(pics/floppy.png); vertical-align: middle; padding: 0 6px 0 0; }
   13.39 +pre, tt, code { font-size: 0.9rem; }
   13.40  	</style>
   13.41  </head>
   13.42 -<body bgcolor="#ffffff">
   13.43 -<!-- Header -->
   13.44 -<div id="header">
   13.45 -    <a name="top"></a>
   13.46 -	<div id="logo"></div>
   13.47 -	<div id="network">
   13.48 -		<a href="http://www.slitaz.org/">
   13.49 -		<img src="/css/pics/network.png" alt="network.png" /></a>
   13.50 -		<a href="floppy-grub4dos" title="Boot tools">Generic boot floppy</a> |
   13.51 -		<a href="http://tiny.slitaz.org/" title="SliTaz in one floppy !">Tiny SliTaz</a> |
   13.52 -		<a href="index-loram.html" title="Floppy image sets for low ram systems">Loram floppies</a> |
   13.53 -		<a href="builder/index.php" title="Build floppies with your own kernel and initramfs">Floppy set web builder</a> |
   13.54 +<body>
   13.55 +
   13.56 +<script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script>
   13.57 +
   13.58 +<header>
   13.59 +	<h1 id="top"><a href="http://www.slitaz.org/">Boot floppies</a></h1>
   13.60 +
   13.61 +	<div class="network">
   13.62 +		<a href="http://www.slitaz.org/" class="home"></a>
   13.63 +		<a href="floppy-grub4dos" title="Boot tools">Generic boot floppy</a>
   13.64 +		<a href="http://tiny.slitaz.org/" title="SliTaz in one floppy !">Tiny SliTaz</a>
   13.65 +		<a href="builder/index.php" title="Build floppies with your own kernel and initramfs">Floppy set web builder</a>
   13.66  		<a href="builder/bootloader" title="Build your floppy sets without Internet">Shell builder</a>
   13.67  	</div>
   13.68 -	<h1><a href="http://www.slitaz.org/">Boot floppies</a></h1>
   13.69 -</div>   
   13.70 +</header>
   13.71  
   13.72  <!-- Block -->
   13.73 -<div id="block">
   13.74 +<div class="block"><div>
   13.75 +
   13.76 +	<!-- Information/image -->
   13.77 +	<div class="block_info">
   13.78 +		<header>Available boot floppies</header>
   13.79 +		<ul>
   13.80 +<?php
   13.81 +for ($i = 1; file_exists("index-$i.0.html") ; $i++);
   13.82 +while (--$i > 0) {
   13.83 +	echo "			<li><a href=\"index-$i.0.html\">SliTaz $i.0</a>";
   13.84 +	if (file_exists("index-loram-".$i.".0.html"))
   13.85 +		echo "				· <a href=\"index-loram-$i.0.html\">loram</a>";
   13.86 +	echo "			</li>\n";
   13.87 +}
   13.88 +?>
   13.89 +		</ul>
   13.90 +	</div>
   13.91 +
   13.92 +
   13.93  	<!-- Navigation -->
   13.94 -	<div id="block_nav">
   13.95 -		<h4><img src="pics/floppy.png" alt="@" />Download 1.44Mb images for <?php $dir = explode('/',$_POST["iso"]); echo $dir[1]; ?></h4>
   13.96 -<table width="100%">
   13.97 +	<nav>
   13.98 +		<header>Download 1.44MB images for <?php $dir = explode('/',$_POST["iso"]); echo $dir[1]; ?></header>
   13.99 +		<table>
  13.100  <?php
  13.101  $max = floor((my_filesize("../".$_POST["iso"]) + $fdsz - 1 + $cpiopad) / $fdsz);
  13.102  for ($i = 1; $i <= $max ; $i++) {
  13.103 -	if ($i % 4 == 1) echo "<tr>\n";
  13.104 -	echo "	<td><a href=\"download.php?file=$i&amp;iso=".
  13.105 +	if ($i % 6 == 1) echo "			<tr>\n";
  13.106 +	echo "				<td><a href=\"download.php?file=$i&amp;iso=".
  13.107  		urlencode($_POST["iso"])."\">fdiso".sprintf("%02d",$i);
  13.108 -	if ($max < 100) echo ".img";
  13.109  	echo "</a></td>\n";
  13.110 -	if ($i % 4 == 0) echo "</tr>\n";
  13.111 +	if ($i % 6 == 0) echo "			</tr>\n";
  13.112  }
  13.113 -if ($max % 4 != 0) {
  13.114 -	while ($max % 4 != 3) { echo "<td></td>"; $max++; }
  13.115 +if ($max % 6 != 0) {
  13.116 +	while ($max % 6 != 5) { echo "				<td> </td>"; $max++; }
  13.117  }
  13.118 -else echo "<tr>\n";
  13.119 -echo "	<td><a href=\"download.php?file=md5sum&amp;iso=".
  13.120 -	urlencode($_POST["iso"])."\">md5sum</a></td>\n</tr>";
  13.121 +else echo "			<tr>\n";
  13.122 +echo "				<td><a href=\"download.php?file=md5sum&amp;iso=".
  13.123 +	urlencode($_POST["iso"])."\">md5</a></td>\n			</tr>";
  13.124  ?>
  13.125 -</table>
  13.126 -	</div>
  13.127 -	<!-- Information/image -->
  13.128 -	<div id="block_info">
  13.129 -		<h4>Available boot floppies</h4>
  13.130 -		<ul>
  13.131 -	<li><a href="index-4.0.html">SliTaz 4.0</a></li>
  13.132 -	<li><a href="index-loram-4.0.html">SliTaz loram 4.0</a></li>
  13.133 -	<li><a href="index-3.0.html">SliTaz 3.0</a></li>
  13.134 -	<li><a href="index-loram-3.0.html">SliTaz loram 3.0</a></li>
  13.135 -	<li><a href="index-2.0.html">SliTaz 2.0</a></li>
  13.136 -	<li><a href="index-1.0.html">SliTaz 1.0</a></li>
  13.137 -		</ul>
  13.138 -	</div>
  13.139 -</div>
  13.140 +		</table>
  13.141 +	</nav>
  13.142 +</div></div>
  13.143  
  13.144 -<!-- Content top. -->
  13.145 -<div id="content_top">
  13.146 -<div class="top_left"></div>
  13.147 -<div class="top_right"></div>
  13.148 -</div>
  13.149  
  13.150  <!-- Content -->
  13.151 -<div id="content">
  13.152 +<main>
  13.153  
  13.154  <h2>ISO image floppy set</h2>
  13.155  
  13.156 -<p>
  13.157 -You can restore the <a href="../<?php echo $_POST['iso'].
  13.158 -'">'.basename($_POST['iso']); ?></a> ISO image on your hard disk using :
  13.159 -</p>
  13.160 +<p>You can restore the <a href="../<?php echo $_POST['iso'].
  13.161 +'">'.basename($_POST['iso']); ?></a> ISO image on your hard disk using:</p>
  13.162 +
  13.163  <pre>
  13.164  # dd if=/dev/fd0 of=fdiso01.img
  13.165  # dd if=/dev/fd0 of=fdiso02.img
  13.166 @@ -136,28 +130,54 @@
  13.167  # cat fdiso*.img | cpio -i
  13.168  </pre>
  13.169  
  13.170 -<!-- End of content with round corner -->
  13.171 -</div>
  13.172 -<div id="content_bottom">
  13.173 -<div class="bottom_left"></div>
  13.174 -<div class="bottom_right"></div>
  13.175 -</div>
  13.176  
  13.177 -<!-- Start of footer and copy notice -->
  13.178 -<div id="copy">
  13.179 -<p>
  13.180 -Copyright &copy; <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a> -
  13.181 -<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
  13.182 -</p>
  13.183 -<!-- End of copy -->
  13.184 -</div>
  13.185 +<!-- End of content -->
  13.186 +</main>
  13.187  
  13.188 -<!-- Bottom and logo's -->
  13.189 -<div id="bottom">
  13.190 -<p>
  13.191 -<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>
  13.192 -</p>
  13.193 -</div>
  13.194 +
  13.195 +<script>
  13.196 +	function QRCodePNG(str, obj) {
  13.197 +		try {
  13.198 +			obj.height = obj.width += 300;
  13.199 +			return QRCode.generatePNG(str, {ecclevel: 'H'});
  13.200 +		}
  13.201 +		catch (any) {
  13.202 +			var element = document.createElement("script");
  13.203 +			element.src = "/static/qrcode.min.js";
  13.204 +			element.type = "text/javascript";
  13.205 +			element.onload = function() {
  13.206 +				obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
  13.207 +			};
  13.208 +			document.body.appendChild(element);
  13.209 +		}
  13.210 +	}
  13.211 +</script>
  13.212 +
  13.213 +<footer>
  13.214 +	<div>
  13.215 +		Copyright © <span class="year"></span>
  13.216 +		<a href="http://www.slitaz.org/">SliTaz</a>
  13.217 +	</div>
  13.218 +	<div>
  13.219 +		Network:
  13.220 +		<a href="http://scn.slitaz.org/">Community</a> ·
  13.221 +		<a href="http://doc.slitaz.org/">Doc</a> ·
  13.222 +		<a href="http://forum.slitaz.org/">Forum</a> ·
  13.223 +		<a href="http://pkgs.slitaz.org/">Packages</a> ·
  13.224 +		<a href="http://bugs.slitaz.org">Bugs</a> ·
  13.225 +		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
  13.226 +	</div>
  13.227 +	<div>
  13.228 +		SliTaz @
  13.229 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
  13.230 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
  13.231 +		<a href="http://distrowatch.com/slitaz">Distrowatch</a> ·
  13.232 +		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> ·
  13.233 +		<a href="http://flattr.com/profile/slitaz">Flattr</a>
  13.234 +	</div>
  13.235 +	<img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
  13.236 +	onclick="this.src = QRCodePNG(location.href, this)"/>
  13.237 +</footer>
  13.238  
  13.239  </body>
  13.240  </html>
    14.1 --- a/mirror-tools/slitaz/mirror/floppies/floppies	Fri Apr 28 14:08:02 2017 +0100
    14.2 +++ b/mirror-tools/slitaz/mirror/floppies/floppies	Fri Sep 01 17:28:05 2017 +0200
    14.3 @@ -2,26 +2,41 @@
    14.4  
    14.5  rd()
    14.6  {
    14.7 -	echo $(od -j $((0x$1)) -N ${2:-4} -t u${2:-4} -An kernel)
    14.8 +	echo $(od -j $(($1)) -N ${2:-4} -t u${2:-4} -An ${3:-kernel})
    14.9  }
   14.10  
   14.11  ds()
   14.12  {
   14.13 -	dd count=$1 bs=${2:-512} 2>/dev/null
   14.14 +	set -- $1 ${2:-512}
   14.15 +	dd count=$((($1*$2)/512)) bs=512 2>/dev/null
   14.16 +	dd count=$(((($1*$2)%512)/$2)) bs=$2 2>/dev/null
   14.17  }
   14.18  
   14.19  case "$1" in
   14.20  extract) (
   14.21  	ds 1
   14.22 -	ds $(rd 1F1 1)
   14.23 -	[ $(rd 228) -ne 0 ] && ds 1 | strings >cmdline
   14.24 -	ds $(( ($(rd 1F4) +31) /32)) ) >kernel
   14.25 -	ds $(( ($(rd 21C) +3) /4)) 4 >rootfs
   14.26 +	ds $(($(rd 0x1F1 1)-1))
   14.27 +	[ $(rd 0x229 1) -le 128 ] || ds 1
   14.28 +	[ $(rd 0x228) -ne 0 ] && ds 1 >cmd$$
   14.29 +	ds $(( ($(rd 0x1F4) +31) /32)) ) >kernel
   14.30 +	[ $(rd 0x21C) -ne 0 ] && ds $(( ($(rd 0x21C) +3) /4)) 4 >rootfs ||
   14.31 +	if [ $(rd 0x218) -ne 0 ]; then
   14.32 +		n=$(($(rd 0x1EE 2)%512))
   14.33 +		i=0
   14.34 +		[ $(rd $n 4 cmd$$) -eq 0 ] && ds 5000 >rootfs ||
   14.35 +		while [ $(($n % 256)) -lt $(rd 0x1F0 1) ]; do
   14.36 +			ds $(( ($(rd $n 4 cmd$$) +3) /4)) 4 >rootfs$i
   14.37 +			n=$(($n+4))
   14.38 +			i=$(($i+1))
   14.39 +		done
   14.40 +	fi
   14.41 +	[ -s cmd$$ ] && strings <cmd$$ | sed q >cmdline
   14.42 +	rm -f cmd$$
   14.43  	;;
   14.44  *)	cat <<EOT
   14.45 -usage: 
   14.46 +usage: cat fd*.img | $0 extract  or
   14.47  # cat fd0*.img | $0 extract
   14.48 -	creates kernel, rootfs and cmdline files
   14.49 +	creates kernel, rootfs(es) and cmdline files
   14.50  EOT
   14.51  	for i in 1 2 3; do
   14.52  		j=" cat fd$i*.img |"
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/mirror-tools/slitaz/mirror/floppies/include/bottom.js	Fri Sep 01 17:28:05 2017 +0200
    15.3 @@ -0,0 +1,27 @@
    15.4 +document.write("<!-- End of content with round corner -->\n")
    15.5 +document.write("</div>\n")
    15.6 +document.write("<div id=\"content_bottom\">\n")
    15.7 +document.write("<div class=\"bottom_left\"></div>\n")
    15.8 +document.write("<div class=\"bottom_right\"></div>\n")
    15.9 +document.write("</div>\n")
   15.10 +document.write("\n")
   15.11 +document.write("<!-- Start of footer and copy notice -->\n")
   15.12 +document.write("<div id=\"copy\">\n")
   15.13 +document.write("<p>\n")
   15.14 +document.write("Copyright &copy; ");
   15.15 +var time=new Date();
   15.16 +var year=time.getYear();
   15.17 +if (year < 2000) year += 1900;
   15.18 +document.write(year);
   15.19 +document.write(" <a href=\"http://www.slitaz.org/\">SliTaz</a> -\n")
   15.20 +document.write("<a href=\"http://www.gnu.org/licenses/gpl.html\">GNU General Public License</a>\n")
   15.21 +document.write("</p>\n")
   15.22 +document.write("<!-- End of copy -->\n")
   15.23 +document.write("</div>\n")
   15.24 +document.write("\n")
   15.25 +document.write("<!-- Bottom and logo's -->\n")
   15.26 +document.write("<div id=\"bottom\">\n")
   15.27 +document.write("<p>\n")
   15.28 +document.write("<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>\n")
   15.29 +document.write("</p>\n")
   15.30 +document.write("</div>\n")
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/mirror-tools/slitaz/mirror/floppies/include/fdiso.js	Fri Sep 01 17:28:05 2017 +0200
    16.3 @@ -0,0 +1,32 @@
    16.4 +document.write("<a name=\"fdiso\"></a>\n")
    16.5 +document.write("<h2><font color=\"#df8f06\">ISO image floppy set</font></h2>\n")
    16.6 +document.write("\n")
    16.7 +document.write("<form method=\"post\" action=\"http://mirror.slitaz.org/floppies/download.php\">\n")
    16.8 +document.write("<p>\n")
    16.9 +document.write("You may need these images to\n")
   16.10 +document.write("<a href=\"http://doc.slitaz.org/en:guides:uncommoninst#floppy-install\">\n")
   16.11 +document.write("install SliTaz</a>\n")
   16.12 +document.write("<select name=\"iso\">\n")
   16.13 +document.write("	<option value=\"iso/cooking/slitaz-cooking.iso\">core cooking</option>\n")
   16.14 +document.write("	<option value=\"iso/cooking/flavors/slitaz-cooking-base.iso\">base cooking</option>\n")
   16.15 +document.write("	<option value=\"iso/cooking/flavors/slitaz-cooking-loram.iso\">loram cooking</option>\n")
   16.16 +document.write("	<option value=\"iso/3.0/slitaz-3.0.iso\" selected=\"selected\">core 3.0</option>\n")
   16.17 +document.write("	<option value=\"iso/3.0/flavors/slitaz-3.0-base.iso\">base 3.0</option>\n")
   16.18 +document.write("	<option value=\"iso/3.0/flavors/slitaz-3.0-loram.iso\">loram 3.0</option>\n")
   16.19 +document.write("	<option value=\"iso/2.0/slitaz-2.0.iso\">core 2.0</option>\n")
   16.20 +document.write("	<option value=\"iso/2.0/flavors/slitaz-2.0-base.iso\">base 2.0</option>\n")
   16.21 +document.write("	<option value=\"iso/2.0/flavors/slitaz-loram.iso\">loram 2.0</option>\n")
   16.22 +document.write("	<option value=\"iso/1.0/slitaz-1.0.iso\">core 1.0</option>\n")
   16.23 +document.write("</select>\n")
   16.24 +document.write("<input name=\"build\" value=\"Build floppy set\" type=\"submit\" />\n")
   16.25 +document.write("</p>\n")
   16.26 +document.write("</form>\n")
   16.27 +document.write("<p>\n")
   16.28 +document.write("You can restore the ISO image on your hard disk using :\n")
   16.29 +document.write("</p>\n")
   16.30 +document.write("<pre>\n")
   16.31 +document.write("# dd if=/dev/fd0 of=fdiso01.img\n")
   16.32 +document.write("# dd if=/dev/fd0 of=fdiso02.img\n")
   16.33 +document.write("# ...\n")
   16.34 +document.write("# cat fdiso*.img | cpio -i\n")
   16.35 +document.write("</pre>\n")
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/mirror-tools/slitaz/mirror/floppies/include/head.js	Fri Sep 01 17:28:05 2017 +0200
    17.3 @@ -0,0 +1,21 @@
    17.4 +document.write("<!-- Header -->\n")
    17.5 +document.write("<div id=\"header\">\n")
    17.6 +document.write("    <a name=\"top\"></a>\n")
    17.7 +document.write("<!-- Access -->\n")
    17.8 +document.write("<div id=\"access\">\n")
    17.9 +document.write("	<a href=\"floppy-grub4dos\" title=\"Boot tools\">Generic boot floppy</a> |\n")
   17.10 +document.write("	<a href=\"http://tiny.slitaz.org/\" title=\"SliTaz for (very) old PC\">Tiny SliTaz</a> |\n")
   17.11 +document.write("	<a href=\"index-loram.html\" title=\"Floppy image sets for low ram systems\">Loram floppies</a> |\n")
   17.12 +document.write("	<a href=\"builder/index.php\" title=\"Build floppies with your own kernel and initramfs\">Floppy set web builder</a> |\n")
   17.13 +document.write("	<a href=\"builder/bootloader\" title=\"Build your floppy sets without Internet\">Shell builder</a>\n")
   17.14 +document.write("</div>   \n")
   17.15 +document.write("	<a href=\"http://www.slitaz.org/\"><img id=\"logo\" \n")
   17.16 +document.write("	   src=\"../css/pics/website/logo.png\" title=\"www.slitaz.org\" \n")
   17.17 +document.write("	   alt=\"www.slitaz.org\" \n")
   17.18 +document.write("	   style=\"border: 0px solid ; width: 200px; height: 74px;\" /></a>\n")
   17.19 +document.write("	<p id=\"titre\">#!/boot/floppies</p>\n")
   17.20 +document.write("</div>\n")
   17.21 +document.write("\n")
   17.22 +document.write("<!-- Navigation menu -->\n")
   17.23 +document.write("<div id=\"nav\">\n")
   17.24 +document.write("\n")
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/mirror-tools/slitaz/mirror/floppies/include/html2js	Fri Sep 01 17:28:05 2017 +0200
    18.3 @@ -0,0 +1,6 @@
    18.4 +#!/bin/sh
    18.5 +
    18.6 +case "$0" in
    18.7 +*html2js) exec sed 's/"/\\"/g;s/.*/document.write("&\\n")/' ;;
    18.8 +*js2html) exec sed 's/^document.write("\(.*\).n")$/\1/;s/\\"/"/g' ;;
    18.9 +esac
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/mirror-tools/slitaz/mirror/floppies/include/top.js	Fri Sep 01 17:28:05 2017 +0200
    19.3 @@ -0,0 +1,48 @@
    19.4 +document.write("<div class=\"nav_box\">\n")
    19.5 +document.write("<h4>Available boot floppies</h4>\n")
    19.6 +document.write("<ul>\n")
    19.7 +document.write("	<li><a href=\"index-3.0.html\">SliTaz 3.0</a></li>\n")
    19.8 +document.write("	<li><a href=\"index-loram-3.0.html\">SliTaz loram 3.0</a></li>\n")
    19.9 +document.write("	<li><a href=\"index-2.0.html\">SliTaz 2.0</a></li>\n")
   19.10 +document.write("	<li><a href=\"index-1.0.html\">SliTaz 1.0</a></li>\n")
   19.11 +document.write("</ul>\n")
   19.12 +document.write("</div>\n")
   19.13 +document.write("\n")
   19.14 +document.write("<div class=\"nav_box\">\n")
   19.15 +document.write("<h4>Images generation</h4>\n")
   19.16 +document.write("<p>\n")
   19.17 +document.write("All these floppy images are built with <b>bootfloppybox</b> from\n")
   19.18 +document.write("a <i>core</i> or a <i>3in1</i> iso. The <i>loram</i> is preprocessed by\n")
   19.19 +document.write("<b>tazlitobox</b> (Low RAM tab). These tools are available since 3.0.\n")
   19.20 +document.write("</p>\n")
   19.21 +document.write("</div>\n")
   19.22 +document.write("\n")
   19.23 +document.write("<!-- End navigation menu -->\n")
   19.24 +document.write("</div>\n")
   19.25 +document.write("\n")
   19.26 +document.write("<!-- Content top. -->\n")
   19.27 +document.write("<div id=\"content_top\">\n")
   19.28 +document.write("<div class=\"top_left\"></div>\n")
   19.29 +document.write("<div class=\"top_right\"></div>\n")
   19.30 +document.write("</div>\n")
   19.31 +document.write("\n")
   19.32 +document.write("<!-- Content -->\n")
   19.33 +document.write("<div id=\"content\">\n")
   19.34 +document.write("\n")
   19.35 +document.write("<h1><font color=\"#3e1220\">Boot</font></h1>\n")
   19.36 +document.write("<h2><font color=\"#df8f06\">Floppy image set</font></h2>\n")
   19.37 +document.write("\n")
   19.38 +document.write("<p>\n")
   19.39 +document.write("This floppy set will boot a Slitaz stable version. You can write floppies\n")
   19.40 +document.write("with SliTaz <i>bootfloppybox</i>, \n")
   19.41 +document.write("<a href=\"http://en.wikipedia.org/wiki/RaWrite\">Windows rawrite</a> or simply dd:\n")
   19.42 +document.write("</p><pre># dd if=fd001.img of=/dev/fd0\n")
   19.43 +document.write("</pre>\n")
   19.44 +document.write("\n")
   19.45 +document.write("<p>\n")
   19.46 +document.write("If you have a CD-ROM, an USB port and an USB key or a network card, but you\n")
   19.47 +document.write("can't boot these devices directly, then try\n")
   19.48 +document.write("<a href=\"http://mirror.slitaz.org/boot/floppy-grub4dos\">floppy-grub4dos</a> \n")
   19.49 +document.write("first. This 1.44Mb floppy provides tiny programs to boot these devices without BIOS\n")
   19.50 +document.write("support and some other tools.\n")
   19.51 +document.write("</p>\n")
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/mirror-tools/slitaz/mirror/floppies/loram-1.0/description.html	Fri Sep 01 17:28:05 2017 +0200
    20.3 @@ -0,0 +1,24 @@
    20.4 +<p>You can start with one of the 2 following flavors:</p>
    20.5 +
    20.6 +<ul>
    20.7 +	<li><b>base</b> needs 20MB of RAM and 5 floppies: <tt>fd001.img</tt> to
    20.8 +		<tt>fd005.img</tt>.<br>
    20.9 +		base provides the minimum SliTaz distribution subset in text mode.</li>
   20.10 +	<li><b>core</b> needs 80MB of RAM and 24 floppies: <tt>fd001.img</tt> to
   20.11 +		<tt>fd118.img</tt>.<br>
   20.12 +		core provides the default SliTaz distribution.</li>
   20.13 +</ul>
   20.14 +
   20.15 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   20.16 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   20.17 +just press Enter.</p>
   20.18 +
   20.19 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   20.20 +prompted to insert the next floppy, <tt>fd002.img</tt>.</p>
   20.21 +
   20.22 +<p>The loram bootstrap will then start and you will be prompted to insert extra
   20.23 +floppies for the core flavor. You can bypass this by using Q and Enter.</p>
   20.24 +
   20.25 +<p>If you have an ext3 partition on your hard disk, the bootstrap can create the
   20.26 +installation script <code>slitaz/install.sh</code>. You will be able to install
   20.27 +SliTaz on your hard disk without extra media.</p>
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/mirror-tools/slitaz/mirror/floppies/loram-1.0/title	Fri Sep 01 17:28:05 2017 +0200
    21.3 @@ -0,0 +1,1 @@
    21.4 +Released on 22 March 2008, needs up to 80Mb RAM
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/mirror-tools/slitaz/mirror/floppies/loram-2.0/description.html	Fri Sep 01 17:28:05 2017 +0200
    22.3 @@ -0,0 +1,29 @@
    22.4 +<p>You can start with one of the 3 following flavors:</p>
    22.5 +
    22.6 +<ul>
    22.7 +	<li><b>base</b> needs 24MB of RAM and 6 floppies: <tt>fd001.img</tt> to
    22.8 +		<tt>fd006.img</tt>.<br>
    22.9 +		base provides the minimum SliTaz distribution subset in text mode.</li>
   22.10 +	<li><b>justx</b> needs 64MB of RAM and 13 floppies: <tt>fd001.img</tt> to
   22.11 +		<tt>fd206.img</tt>.<br>
   22.12 +		justx provides the minimum SliTaz distribution subset with X11
   22.13 +		support.</li>
   22.14 +	<li><b>core</b> needs 96MB of RAM and 24 floppies: <tt>fd001.img</tt> to
   22.15 +		<tt>fd310.img</tt>.<br>
   22.16 +		core provides the default SliTaz distribution.</li>
   22.17 +</ul>
   22.18 +
   22.19 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   22.20 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   22.21 +just press Enter.</p>
   22.22 +
   22.23 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   22.24 +prompted to insert the next floppy, <tt>fd002.img</tt>.</p>
   22.25 +
   22.26 +<p>The loram bootstrap will then start and you will be prompted to insert extra
   22.27 +floppies for base, justx and core flavors. You can bypass this by using Q and
   22.28 +Enter.</p>
   22.29 +
   22.30 +<p>If you have an ext3 partition on your hard disk, the bootstrap can create the
   22.31 +installation script <code>slitaz/install.sh</code>. You will be able to install
   22.32 +SliTaz on your hard disk without extra media.</p>
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/mirror-tools/slitaz/mirror/floppies/loram-2.0/title	Fri Sep 01 17:28:05 2017 +0200
    23.3 @@ -0,0 +1,1 @@
    23.4 +Released on 16 April 2009, needs up to 96Mb RAM
    24.1 --- a/mirror-tools/slitaz/mirror/floppies/loram-3.0/description.html	Fri Apr 28 14:08:02 2017 +0100
    24.2 +++ b/mirror-tools/slitaz/mirror/floppies/loram-3.0/description.html	Fri Sep 01 17:28:05 2017 +0200
    24.3 @@ -1,29 +1,26 @@
    24.4 -<p>
    24.5 -You can start with one of the 3 following flavors :
    24.6 -</p>
    24.7 +<p>You can start with one of the 3 following flavors:</p>
    24.8 +
    24.9  <ul>
   24.10 -  <li>
   24.11 -  <b>base</b> needs 22Mb of RAM and 6 floppies: <i>fd001.img</i> to <i>fd103.img</i>.<br />
   24.12 -  base provides the minimum slitaz distribution subset in text mode. 
   24.13 -  </li>
   24.14 -  <li>
   24.15 -  <b>justx</b> needs 64M of RAM and 13 floppies: <i>fd001.img</i> to <i>fd206.img</i>.<br />
   24.16 -  justx provides the minimum slitaz distribution subset with X11 support. 
   24.17 -  </li>
   24.18 -  <li>
   24.19 -  <b>core</b> needs 92M of RAM and 25 floppies: <i>fd001.img</i> to <i>fd311.img</i>.<br />
   24.20 -  core provides the default slitaz distribution. 
   24.21 -  </li>
   24.22 +	<li><b>base</b> needs 32MB of RAM and 6 floppies: <tt>fd001.img</tt> to
   24.23 +		<tt>fd006.img</tt>.<br>
   24.24 +		base provides the minimum SliTaz distribution subset in text mode.</li>
   24.25 +	<li><b>justx</b> needs 64MB of RAM and 13 floppies: <tt>fd001.img</tt> to
   24.26 +		<tt>fd106.img</tt>.<br>
   24.27 +		justx provides the minimum SliTaz distribution subset with X11
   24.28 +		support.</li>
   24.29 +	<li><b>core</b> needs 96MB of RAM and 24 floppies: <tt>fd001.img</tt> to
   24.30 +		<tt>fd210.img</tt>.<br>
   24.31 +		core provides the default SliTaz distribution.</li>
   24.32  </ul>
   24.33 -<p>
   24.34 -Start your computer with <i>fd001.img</i>. It will show the kernel version string and
   24.35 -the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
   24.36 -</p>
   24.37 -<p>
   24.38 -The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
   24.39 -insert the next floppy, <i>fd002.img</i>.
   24.40 -</p>
   24.41 -<p>
   24.42 -The loram bootstrap will then start and you will be prompted to insert extra floppies
   24.43 -for base, justx and core flavors. You can bypass this by using Q and Enter.
   24.44 -</p>
   24.45 +
   24.46 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   24.47 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   24.48 +just press Enter.</p>
   24.49 +
   24.50 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   24.51 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to last
   24.52 +floppy.</p>
   24.53 +
   24.54 +<p>You will be prompted to insert extra floppies for justx, gtkonly and core
   24.55 +flavors. You can bypass this by using B to boot without loading extra
   24.56 +floppies.</p>
    25.1 --- a/mirror-tools/slitaz/mirror/floppies/loram-3.0/title	Fri Apr 28 14:08:02 2017 +0100
    25.2 +++ b/mirror-tools/slitaz/mirror/floppies/loram-3.0/title	Fri Sep 01 17:28:05 2017 +0200
    25.3 @@ -1,1 +1,1 @@
    25.4 -Released on 28 March 2010, needs 80b RAM
    25.5 +Released on 28 March 2010, needs up to 96Mb RAM
    26.1 --- a/mirror-tools/slitaz/mirror/floppies/loram-4.0/description.html	Fri Apr 28 14:08:02 2017 +0100
    26.2 +++ b/mirror-tools/slitaz/mirror/floppies/loram-4.0/description.html	Fri Sep 01 17:28:05 2017 +0200
    26.3 @@ -1,33 +1,30 @@
    26.4 -<p>
    26.5 -You can start with one of the 4 following flavors :
    26.6 -</p>
    26.7 +<p>You can start with one of the 4 following flavors:</p>
    26.8 +
    26.9  <ul>
   26.10 -  <li>
   26.11 -  <b>base</b> needs 38Mb of RAM and 6 floppies: <i>fd001.img</i> to <i>fd103.img</i>.<br />
   26.12 -  base provides the minimum slitaz distribution subset in text mode. 
   26.13 -  </li>
   26.14 -  <li>
   26.15 -  <b>justx</b> needs 68M of RAM and 13 floppies: <i>fd001.img</i> to <i>fd206.img</i>.<br />
   26.16 -  justx provides the minimum slitaz distribution subset with X11 support. 
   26.17 -  </li>
   26.18 -  <li>
   26.19 -  <b>gtkonly</b> needs 111M of RAM and 18 floppies: <i>fd001.img</i> to <i>fd304.img</i>.<br />
   26.20 -  gtkonly provides the minimum slitaz distribution subset with Gtk+ support. 
   26.21 -  </li>
   26.22 -  <li>
   26.23 -  <b>core</b> needs 128M of RAM and 29 floppies: <i>fd001.img</i> to <i>fd410.img</i>.<br />
   26.24 -  core provides the default slitaz distribution. 
   26.25 -  </li>
   26.26 +	<li><b>base</b> needs 38MB of RAM and 6 floppies: <tt>fd001.img</tt> to
   26.27 +		<tt>fd006.img</tt>.<br>
   26.28 +		base provides the minimum SliTaz distribution subset in text mode.</li>
   26.29 +	<li><b>justx</b> needs 64MB of RAM and 13 floppies: <tt>fd001.img</tt> to
   26.30 +		<tt>fd106.img</tt>.<br>
   26.31 +		justx provides the minimum SliTaz distribution subset with X11
   26.32 +		support.</li>
   26.33 +	<li><b>gtkonly</b> needs 96MB of RAM and 18 floppies: <tt>fd001.img</tt> to
   26.34 +		<tt>fd204.img</tt>.<br>
   26.35 +		gtkonly provides the minimum SliTaz distribution subset with GTK+
   26.36 +		support.</li>
   26.37 +	<li><b>core</b> needs 128MB of RAM and 28 floppies: <tt>fd001.img</tt> to
   26.38 +		<tt>fd309.img</tt>.<br>
   26.39 +		core provides the default SliTaz distribution.</li>
   26.40  </ul>
   26.41 -<p>
   26.42 -Start your computer with <i>fd001.img</i>. It will show the kernel version string and
   26.43 -the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
   26.44 -</p>
   26.45 -<p>
   26.46 -The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
   26.47 -insert the next floppy, <i>fd002.img</i>.
   26.48 -</p>
   26.49 -<p>
   26.50 -The loram bootstrap will then start and you will be prompted to insert extra floppies
   26.51 -for base, justx and core flavors. You can bypass this by using Q and Enter.
   26.52 -</p>
   26.53 +
   26.54 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   26.55 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   26.56 +just press Enter.</p>
   26.57 +
   26.58 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   26.59 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to last
   26.60 +floppy.</p>
   26.61 +
   26.62 +<p>You will be prompted to insert extra floppies for justx, gtkonly and core
   26.63 +flavors. You can bypass this by using B to boot without loading extra
   26.64 +floppies.</p>
    27.1 --- a/mirror-tools/slitaz/mirror/floppies/loram-4.0/title	Fri Apr 28 14:08:02 2017 +0100
    27.2 +++ b/mirror-tools/slitaz/mirror/floppies/loram-4.0/title	Fri Sep 01 17:28:05 2017 +0200
    27.3 @@ -1,1 +1,1 @@
    27.4 -Released on 10 April 2012, needs 128Mb RAM
    27.5 +Released on 10 April 2012, needs up to 128Mb RAM
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/mirror-tools/slitaz/mirror/floppies/loram-rolling/description.html	Fri Sep 01 17:28:05 2017 +0200
    28.3 @@ -0,0 +1,27 @@
    28.4 +<p>You can start with one of the 4 following flavors:</p>
    28.5 +
    28.6 +<ul>
    28.7 +	<li><b>base</b> needs 34MB of RAM and 9 floppies:
    28.8 +		<tt>fd001.img</tt> to <tt>fd009.img</tt>.<br>
    28.9 +		base provides the minimum SliTaz distribution subset in text mode.</li>
   28.10 +	<li><b>justx</b> needs 83MB of RAM and 18 floppies:
   28.11 +		<tt>fd001.img</tt> to <tt>fd108.img</tt>.<br>
   28.12 +		justx provides the minimum SliTaz distribution subset with X11 support.</li>
   28.13 +	<li><b>gtkonly</b> needs 123MB of RAM and 26 floppies:
   28.14 +		<tt>fd001.img</tt> to <tt>fd207.img</tt>.<br>
   28.15 +		gtkonly provides the minimum SliTaz distribution subset with GTK+ support.</li>
   28.16 +	<li><b>core</b> needs 137MB of RAM and 36 floppies:
   28.17 +		<tt>fd001.img</tt> to <tt>fd309.img</tt>.<br>
   28.18 +		core provides the default SliTaz distribution.</li>
   28.19 +</ul>
   28.20 +
   28.21 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   28.22 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   28.23 +just press Enter.</p>
   28.24 +
   28.25 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   28.26 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to last
   28.27 +floppy.</p>
   28.28 +
   28.29 +<p>You will be prompted to insert extra floppies for the next flavors.
   28.30 +You can bypass this by using B to boot without loading extra floppies.</p>
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/mirror-tools/slitaz/mirror/floppies/loram-rolling/title	Fri Sep 01 17:28:05 2017 +0200
    29.3 @@ -0,0 +1,1 @@
    29.4 +Built on 2017-08-27, needs up to 137Mb of RAM
    30.1 --- a/mirror-tools/slitaz/mirror/floppies/menu.css	Fri Apr 28 14:08:02 2017 +0100
    30.2 +++ b/mirror-tools/slitaz/mirror/floppies/menu.css	Fri Sep 01 17:28:05 2017 +0200
    30.3 @@ -1,35 +1,42 @@
    30.4  
    30.5  #menu {
    30.6  	margin: 0;
    30.7 -	padding: 0;
    30.8 +	padding: 0 2ex 0 0;
    30.9 +	display: inline-block;
   30.10 +	vertical-align: middle;
   30.11  }
   30.12  #menu li {
   30.13  	list-style: none;
   30.14  	float: left;
   30.15  	padding: 0;
   30.16 +	white-space: nowrap;
   30.17 +	border: 1px solid transparent;
   30.18  }
   30.19  #menu li a {
   30.20  	display: block;
   30.21  	padding: 4px 6px;
   30.22  	background-color: inherit;
   30.23  	text-decoration: none;
   30.24 -	cursor: default;
   30.25  }
   30.26  #menu li a:hover {
   30.27 -	color: #ffffff;
   30.28 -	background-color: #d66018;
   30.29 +	color: #222;
   30.30 +	background-color: #CCC;
   30.31  	border-top-right-radius: 3px;
   30.32  	border-top-left-radius: 3px;
   30.33  }
   30.34  #menu li ul {
   30.35 -	display: none; 
   30.36 -	width: 180px;
   30.37 -	background-color: #f1efeb;
   30.38 -	border: 1px solid #c1baad;
   30.39 +	display: none;
   30.40 +	background-color: #F1EFEB;
   30.41 +	border: 1px solid #C1BAAD;
   30.42  }
   30.43  #menu li ul a {
   30.44  	padding: 4px 6px;
   30.45 +	display: inline-block;
   30.46  }
   30.47 +
   30.48 +#menu > li > ul > li:after { content: "‚Ä£"; display: inline-block; }
   30.49 +#menu li:only-child:after { content: " "; }
   30.50 +
   30.51  #menu li:hover ul {
   30.52  	display: block;
   30.53  	position: absolute;
   30.54 @@ -38,18 +45,29 @@
   30.55  }
   30.56  #menu li:hover li {
   30.57  	float: none;
   30.58 +	position: relative;
   30.59  }
   30.60  #menu li:hover li a {
   30.61 -	background-color: #f1efeb;
   30.62 -	color: #000;
   30.63 +	background-color: #F1EFEB;
   30.64 +	color: #222;
   30.65  }
   30.66  #menu li li a {
   30.67 -	border: 1px solid #f1efeb; 
   30.68 +	border: 1px solid #F1EFEB;
   30.69  }
   30.70  #menu li li a:hover {
   30.71 -	background-color: #d66018;
   30.72 -	color: #ffffff;
   30.73 +	background-color: #CCC;
   30.74 +	color: #222;
   30.75  	border-radius: 2px;
   30.76 -	/* border: 1px solid #c1baad; */
   30.77  }
   30.78  
   30.79 +#menu li:hover li ul {
   30.80 +	display: none;
   30.81 +	position: absolute;
   30.82 +	left: 100%;
   30.83 +	top: 0px;
   30.84 +	z-index:1;
   30.85 +}
   30.86 +
   30.87 +#menu li:hover li:hover ul {
   30.88 +	display: block;
   30.89 +}
    31.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.2 +++ b/mirror-tools/slitaz/mirror/floppies/mini-1.0/description.html	Fri Sep 01 17:28:05 2017 +0200
    31.3 @@ -0,0 +1,16 @@
    31.4 +<p>This floppy set uses the BIOS instead of the linux driver. You can boot
    31.5 +SliTaz using unsupported floppy drives such as some PCMCIA devices.</p>
    31.6 +
    31.7 +<p>The loram version of the base flavor is launched (text mode only).</p>
    31.8 +
    31.9 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   31.10 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   31.11 +just press Enter.</p>
   31.12 +
   31.13 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   31.14 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to
   31.15 +<tt>fd005.img</tt>.</p>
   31.16 +
   31.17 +<p>If you have an ext3 partition on your hard disk, the bootstrap can create
   31.18 +the installation script <code>slitaz/install.sh</code>. You will be able to
   31.19 +install SliTaz on your hard disk without extra media.</p>
    32.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.2 +++ b/mirror-tools/slitaz/mirror/floppies/mini-1.0/title	Fri Sep 01 17:28:05 2017 +0200
    32.3 @@ -0,0 +1,1 @@
    32.4 +Released on 22 March 2008, text mode, needs 20Mb RAM
    33.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.2 +++ b/mirror-tools/slitaz/mirror/floppies/mini-2.0/description.html	Fri Sep 01 17:28:05 2017 +0200
    33.3 @@ -0,0 +1,16 @@
    33.4 +<p>This floppy set uses the BIOS instead of the linux driver. You can boot
    33.5 +SliTaz using unsupported floppy drives such as some PCMCIA devices.</p>
    33.6 +
    33.7 +<p>The loram version of the base flavor is launched (text mode only).</p>
    33.8 +
    33.9 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   33.10 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   33.11 +just press Enter.</p>
   33.12 +
   33.13 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   33.14 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to
   33.15 +<tt>fd006.img</tt>.</p>
   33.16 +
   33.17 +<p>If you have an ext3 partition on your hard disk, the bootstrap can create the
   33.18 +installation script <code>slitaz/install.sh</code>. You will be able to install
   33.19 +SliTaz on your hard disk without extra media.</p>
    34.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    34.2 +++ b/mirror-tools/slitaz/mirror/floppies/mini-2.0/title	Fri Sep 01 17:28:05 2017 +0200
    34.3 @@ -0,0 +1,1 @@
    34.4 +Released on 16 April 2009, text mode, needs 24Mb RAM
    35.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    35.2 +++ b/mirror-tools/slitaz/mirror/floppies/mini-3.0/description.html	Fri Sep 01 17:28:05 2017 +0200
    35.3 @@ -0,0 +1,16 @@
    35.4 +<p>This floppy set uses the BIOS instead of the linux driver. You can boot
    35.5 +SliTaz using unsupported floppy drives such as some PCMCIA devices.</p>
    35.6 +
    35.7 +<p>The loram version of the base flavor is launched (text mode only).</p>
    35.8 +
    35.9 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   35.10 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   35.11 +just press Enter.</p>
   35.12 +
   35.13 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   35.14 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to
   35.15 +<tt>fd006.img</tt>.</p>
   35.16 +
   35.17 +<p>If you have an ext3 partition on your hard disk, the bootstrap can create the
   35.18 +installation script <code>slitaz/install.sh</code>. You will be able to install
   35.19 +SliTaz on your hard disk without extra media.</p>
    36.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.2 +++ b/mirror-tools/slitaz/mirror/floppies/mini-3.0/title	Fri Sep 01 17:28:05 2017 +0200
    36.3 @@ -0,0 +1,1 @@
    36.4 +Released on 28 March 2010, text mode, needs 28Mb RAM
    37.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    37.2 +++ b/mirror-tools/slitaz/mirror/floppies/mini-4.0/description.html	Fri Sep 01 17:28:05 2017 +0200
    37.3 @@ -0,0 +1,16 @@
    37.4 +<p>This floppy set uses the BIOS instead of the linux driver. You can boot
    37.5 +SliTaz using unsupported floppy drives such as some PCMCIA devices.</p>
    37.6 +
    37.7 +<p>The loram version of the base flavor is launched (text mode only).</p>
    37.8 +
    37.9 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   37.10 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   37.11 +just press Enter.</p>
   37.12 +
   37.13 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   37.14 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to
   37.15 +<tt>fd006.img</tt>.</p>
   37.16 +
   37.17 +<p>If you have an ext3 partition on your hard disk, the bootstrap can create the
   37.18 +installation script <code>slitaz/install.sh</code>. You will be able to install
   37.19 +SliTaz on your hard disk without extra media.</p>
    38.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    38.2 +++ b/mirror-tools/slitaz/mirror/floppies/mini-4.0/title	Fri Sep 01 17:28:05 2017 +0200
    38.3 @@ -0,0 +1,1 @@
    38.4 +Released on 10 April 2012, text mode, needs 38Mb RAM
    39.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    39.2 +++ b/mirror-tools/slitaz/mirror/floppies/mkfdrolling.sh	Fri Sep 01 17:28:05 2017 +0200
    39.3 @@ -0,0 +1,67 @@
    39.4 +#!/bin/sh
    39.5 +
    39.6 +WD=$(cd $(dirname $0); pwd)
    39.7 +while read name iso; do
    39.8 +    cd $WD/$name
    39.9 +    ISO=../../$iso
   39.10 +    if [ ! -s fd001.img ] || [ $ISO -nt fd001.img ]; then
   39.11 +	rm -f fd* 2> /dev/null
   39.12 +	taziso $ISO floppyset > /dev/null
   39.13 +	md5sum fd* > md5sum
   39.14 +	mnt=/mnt$$
   39.15 +	mkdir $mnt
   39.16 +	mount -o loop,ro $ISO $mnt
   39.17 +	mtime=$(stat -c %y $mnt/md5sum | cut -f1 -d ' ')
   39.18 +	#mtime=$(LC_ALL=C date '+%d %B %Y' -d $mtime)
   39.19 +	set -- $(sed '/ifmem/!d;s/.*ifmem //' $mnt/boot/isolinux/isolinux.cfg \
   39.20 +		| sed 's|^|echo |;s|\([0-9][0-9]*\) |$((\1/1024))M |g' | sh)
   39.21 +	umount $mnt
   39.22 +	rmdir $mnt
   39.23 +	echo "Built on $mtime, needs up to ${1}b of RAM" > title
   39.24 +	n=0; x=1; while [ -n "$x" ]; do n=$(($n+2)); eval x=\$$n; done
   39.25 +	n=$((($n - 2) / 2))
   39.26 +	cat > description.html <<EOT
   39.27 +<p>You can start with one of the $n following flavors:</p>
   39.28 +
   39.29 +<ul>
   39.30 +EOT
   39.31 +	i=0
   39.32 +	while [ $i -lt $n ]; do
   39.33 +		eval flavor=\$$((($n - $i)*2))
   39.34 +		eval ram=\$$((($n - $i)*2 -1))
   39.35 +		cat >> description.html <<EOT
   39.36 +	<li><b>$flavor</b> needs ${ram}B of RAM and $(ls fd* | \
   39.37 +		awk "/fd$(($i+1))/{q=1}{if(!q)n++}END{print n}") floppies:
   39.38 +		<tt>fd001.img</tt> to <tt>$(ls -r fd${i}* | sed q)</tt>.<br>
   39.39 +		$flavor provides $(while read f d; do 
   39.40 +			[ $f == $flavor ] && echo $d; done <<EOT
   39.41 +base the minimum SliTaz distribution subset in text mode
   39.42 +justx the minimum SliTaz distribution subset with X11 support
   39.43 +gtkonly the minimum SliTaz distribution subset with GTK+ support
   39.44 +core the default SliTaz distribution
   39.45 +EOT
   39.46 +		).</li>
   39.47 +EOT
   39.48 +		i=$(($i+1))
   39.49 +	done
   39.50 +	cat >> description.html <<EOT
   39.51 +</ul>
   39.52 +
   39.53 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   39.54 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   39.55 +just press Enter.</p>
   39.56 +
   39.57 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   39.58 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to last
   39.59 +floppy.</p>
   39.60 +
   39.61 +<p>You will be prompted to insert extra floppies for the next flavors.
   39.62 +You can bypass this by using B to boot without loading extra floppies.</p>
   39.63 +EOT
   39.64 +	cd ..
   39.65 +	./mkindex.sh $name > index-$name.html
   39.66 +    fi
   39.67 +done <<EOT
   39.68 +rolling		iso/rolling/slitaz-rolling.iso
   39.69 +loram-rolling	iso/rolling/slitaz-rolling-loram.iso
   39.70 +EOT
    40.1 --- a/mirror-tools/slitaz/mirror/floppies/mkindex.sh	Fri Apr 28 14:08:02 2017 +0100
    40.2 +++ b/mirror-tools/slitaz/mirror/floppies/mkindex.sh	Fri Sep 01 17:28:05 2017 +0200
    40.3 @@ -1,192 +1,215 @@
    40.4  #!/bin/sh
    40.5  
    40.6 -list_version()
    40.7 -{
    40.8 -	ls ?.0 -dr | while read dir ; do
    40.9 +list_version() {
   40.10 +	ls rolling ?.0 -dr | \
   40.11 +	while read dir; do
   40.12  		echo $dir
   40.13  		[ -d loram-$dir ] && echo loram-$dir
   40.14 +		[ -d  web-$dir ] && echo  web-$dir
   40.15 +		[ -d  mini-$dir ] && echo  mini-$dir
   40.16  	done
   40.17  }
   40.18  
   40.19 -build_page()
   40.20 -{
   40.21 +build_page() {
   40.22  	DIR=$1
   40.23 +	case "$DIR" in
   40.24 +	*.*)	stable=stable;;
   40.25 +	*)	stable=development;;
   40.26 +	esac
   40.27  	VERSION=${DIR#*-}
   40.28  	case "$DIR" in
   40.29 -	loram*)	LORAM="&nbsp;loram" ;;
   40.30 -	*)	LORAM="";
   40.31 +		web*)	TYPE="&nbsp;web" ;;
   40.32 +		mini*)	TYPE="&nbsp;mini" ;;
   40.33 +		loram*)	TYPE="&nbsp;loram" ;;
   40.34 +		*)	TYPE=""
   40.35  	esac
   40.36 +	TITLE="Floppy image set"
   40.37 +	[ -s $DIR/title ] && TITLE="$(cat $DIR/title)"
   40.38  	cat <<EOT
   40.39 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   40.40 -	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   40.41 -<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
   40.42 +<!DOCTYPE html>
   40.43 +<html lang="en">
   40.44  <head>
   40.45  	<title>SliTaz Boot Floppies</title>
   40.46 -	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   40.47 -	<meta name="description" content="slitaz$LORAM boot floppies $VERSION" />
   40.48 -	<meta name="robots" content="index, nofollow" />
   40.49 -	<meta name="author" content="SliTaz Contributors" />
   40.50 -	<link rel="shortcut icon" href="static/favicon.ico" />
   40.51 -	<link rel="stylesheet" type="text/css" href="static/slitaz.css" />
   40.52 -	<link rel="stylesheet" type="text/css" href="menu.css" />
   40.53 +	<meta charset="UTF-8">
   40.54 +	<meta name="description" content="slitaz$TYPE boot floppies $VERSION">
   40.55 +	<meta name="robots" content="index, nofollow">
   40.56 +	<meta name="author" content="SliTaz Contributors">
   40.57 +	<meta name="viewport" content="width=device-width, initial-scale=1.0">
   40.58 +	<link rel="shortcut icon" href="static/favicon.ico">
   40.59 +	<link rel="stylesheet" href="static/slitaz.min.css">
   40.60 +	<link rel="stylesheet" href="menu.css">
   40.61  	<style type="text/css">
   40.62 -table {
   40.63 -	background-color: inherit;
   40.64 -	margin: 10px 0px 0px 0px;
   40.65 -}
   40.66 -#copy {
   40.67 -	text-align: center;
   40.68 -}
   40.69 -
   40.70 -#bottom {
   40.71 -	text-align: center;
   40.72 -}
   40.73 -
   40.74 +.block_info { width: inherit; }
   40.75 +nav table { margin: 6px 0 0 0; }
   40.76 +nav table a { color: #215090; }
   40.77 +nav header::before { content: url(pics/floppy.png); vertical-align: middle; padding: 0 6px 0 0; }
   40.78 +pre, tt, code { font-size: 0.9rem; }
   40.79  	</style>
   40.80  </head>
   40.81 -<body bgcolor="#ffffff">
   40.82 -<!-- Header -->
   40.83 -<div id="header">
   40.84 -    <a name="top"></a>
   40.85 -	<div id="logo"></div>
   40.86 -	<div id="network">
   40.87 -	    <ul id="menu">
   40.88 -	      <li>
   40.89 -		<a href="http://www.slitaz.org/">
   40.90 -		<img src="static/home.png" alt="[ home ]" /></a>
   40.91 -	      </li>
   40.92 -	      <li>
   40.93 -		<a href="floppy-grub4dos" title="Boot tools">Generic boot floppy</a>
   40.94 -	      </li>
   40.95 -	      <li>
   40.96 -		<a href="http://tiny.slitaz.org/" title="SliTaz in one floppy and 8Mb RAM">Tiny SliTaz</a>
   40.97 -	        <ul>
   40.98 -$( list_version | while read dir; do
   40.99 -	echo "		  <li>"
  40.100 -	echo "		    <a href=\"index-$dir.html\" title=\"$(cat $dir/title)\">SliTaz ${dir/-/ }</a>"
  40.101 -	echo "		  </li>"
  40.102 +<body>
  40.103 +
  40.104 +<script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script>
  40.105 +
  40.106 +<header>
  40.107 +	<h1 id="top"><a href="http://www.slitaz.org/">Boot floppies $DIR</a></h1>
  40.108 +
  40.109 +	<div class="network">
  40.110 +		<a href="http://www.slitaz.org/" class="home"></a>
  40.111 +		<ul id="menu">
  40.112 +			<li>
  40.113 +				<a href="floppy-grub4dos"
  40.114 +				title="Boot tools"
  40.115 +				>Generic boot floppy</a>
  40.116 +			</li>
  40.117 +			<li>
  40.118 +				<a href="http://tiny.slitaz.org/"
  40.119 +				title="SliTaz in one floppy and 4Mb RAM"
  40.120 +				>Tiny SliTaz</a>
  40.121 +				<ul>
  40.122 +$(
  40.123 +list_version | \
  40.124 +while read dir; do
  40.125 +	case "$dir" in
  40.126 +	*-*)
  40.127 +		echo -n "					<li>"
  40.128 +		text="${dir/-/ }";;
  40.129 +	*)
  40.130 +		echo -n "					$ul<li>"
  40.131 +		text="SliTaz ${dir/-/ }";;
  40.132 +	esac
  40.133 +
  40.134 +	echo "						<a href=\"index-$dir.html\""
  40.135 +	echo "						title=\"$(cat $dir/title)\""
  40.136 +	echo "						>$text</a>"
  40.137 +
  40.138 +	case "$dir" in
  40.139 +	*-*)
  40.140 +		echo "					</li>";;
  40.141 +	*)
  40.142 +		echo "						<ul>"
  40.143 +		ul="						</ul>
  40.144 +					</li>";;
  40.145 +	esac
  40.146  done )
  40.147 +						</ul>
  40.148 +					</li>
  40.149 +				</ul>
  40.150 +			</li>
  40.151 +			<li>
  40.152 +				<a href="builder/index.php"
  40.153 +				title="Build floppies with your own kernel and initramfs"
  40.154 +				>Floppy set builder</a>
  40.155 +				<ul>
  40.156 +					<li>
  40.157 +						<a href="builder/bootloader"
  40.158 +						title="Build your floppy sets without Internet"
  40.159 +						>Standalone shell</a>
  40.160 +					</li>
  40.161 +				</ul>
  40.162 +			</li>
  40.163  		</ul>
  40.164 -	      </li>
  40.165 -	      <li>
  40.166 -		<a href="builder/index.php" title="Build floppies with your own kernel and initramfs">Floppy set builder</a>
  40.167 -	        <ul>
  40.168 -        	  <li>
  40.169 -		  <a href="builder/bootloader" title="Build your floppy sets without Internet">Standalone shell</a>
  40.170 -        	  </li>
  40.171 -	        </ul>
  40.172 -	      </li>
  40.173 -	    </ul>
  40.174  	</div>
  40.175 -	<h1><a href="http://www.slitaz.org/">Boot&nbsp;floppies$LORAM&nbsp;$VERSION</a></h1>
  40.176 -</div>   
  40.177 +</header>
  40.178  
  40.179  <!-- Block -->
  40.180 -<div id="block">
  40.181 -	<!-- Navigation -->
  40.182 -	<div id="block_nav" style="height: 146px;">
  40.183 -		<h4><img src="pics/floppy.png" alt="@" />1.44Mb SliTaz$LORAM $VERSION floppy images</h4>
  40.184 -<table width="100%">
  40.185 -$(
  40.186 -n=0
  40.187 -for f in $DIR/fd*img ; do
  40.188 -	[ $n -eq 0 ] && echo "<tr>"
  40.189 -	echo "	<td> <a href=\"$f\">$(basename $f)</a> </td>"
  40.190 -	n=$(( ($n+1)&3 ))
  40.191 -	[ $n -eq 0 ] && echo "</tr>"
  40.192 -done
  40.193 -[ $n -eq 0 ] && echo "<tr>"
  40.194 -while [ $n -ne 3 ]; do
  40.195 -	echo "	<td> </td>"
  40.196 -	n=$(($n+1))
  40.197 -done
  40.198 -)
  40.199 -	<td> <a href="$DIR/md5sum">md5sum</a> </td>
  40.200 -</tr>
  40.201 -</table>
  40.202 -	</div>
  40.203 +<div class="block"><div>
  40.204 +
  40.205  	<!-- Information/image -->
  40.206 -	<div id="block_info">
  40.207 -		<h4>Available boot floppies</h4>
  40.208 +	<div class="block_info">
  40.209 +		<header>Available boot floppies</header>
  40.210  		<ul>
  40.211  $(
  40.212  tail=""
  40.213 -list_version | while read dir; do
  40.214 +list_version | \
  40.215 +while read dir; do
  40.216  	case "$dir" in
  40.217 -	loram*)	echo -en "\n	<a href=\"index-$dir.html\">loram</a>" ;;
  40.218 -	*) 	echo -en "$tail	<li><a href=\"index-$dir.html\">SliTaz $dir</a>" ;;
  40.219 +	web*)	echo -en "\n				· <a href=\"index-$dir.html\">web</a>" ;;
  40.220 +	mini*)	echo -en "\n				· <a href=\"index-$dir.html\">mini</a>" ;;
  40.221 +	loram*)	echo -en "\n				· <a href=\"index-$dir.html\">loram</a>" ;;
  40.222 +	*)   	echo -en "$tail			<li><a href=\"index-$dir.html\">SliTaz $dir</a>" ;;
  40.223  	esac
  40.224  	tail="</li>\n"
  40.225  done
  40.226  )</li>
  40.227  		</ul>
  40.228  	</div>
  40.229 -</div>
  40.230 -		
  40.231 -<!-- Content top. -->
  40.232 -<div id="content_top">
  40.233 -<div class="top_left"></div>
  40.234 -<div class="top_right"></div>
  40.235 -</div>
  40.236 +
  40.237 +	<!-- Navigation -->
  40.238 +	<nav>
  40.239 +		<header>1.44MB SliTaz$TYPE $VERSION floppy images</header>
  40.240 +		<div class="large"><table>
  40.241 +$(
  40.242 +n=0
  40.243 +for f in $DIR/fd*img ; do
  40.244 +	[ $n -eq 0 ] && echo "			<tr>"
  40.245 +	echo "				<td><a href=\"$f\">$(basename $f .img)</a></td>"
  40.246 +	n=$(( ($n+1)%6 ))
  40.247 +	[ $n -eq 0 ] && echo "			</tr>"
  40.248 +done
  40.249 +[ $n -eq 0 ] && echo "			<tr>"
  40.250 +while [ $n -ne 5 ]; do
  40.251 +	echo "				<td> </td>"
  40.252 +	n=$(($n+1))
  40.253 +done
  40.254 +)
  40.255 +				<td><a href="$DIR/md5sum">md5</a></td>
  40.256 +			</tr>
  40.257 +		</table></div>
  40.258 +	</nav>
  40.259 +</div></div>
  40.260 +
  40.261  
  40.262  <!-- Content -->
  40.263 -<div id="content">
  40.264 +<main>
  40.265  
  40.266 -<h2>Floppy image set</h2>
  40.267 +<h2>$TITLE</h2>
  40.268  
  40.269 -<p>
  40.270 -This floppy set will boot a SliTaz stable$LORAM version. You can write floppies
  40.271 -with SliTaz <i>bootfloppybox</i>, 
  40.272 -<a href="http://en.wikipedia.org/wiki/RaWrite">Windows rawrite</a> or simply dd:
  40.273 -</p><pre># dd if=fd001.img of=/dev/fd0
  40.274 -</pre>
  40.275 +<p>This floppy set will boot a SliTaz $stable$TYPE version. You can write floppies
  40.276 +with SliTaz <code>bootfloppybox</code>, <a
  40.277 +href="http://en.wikipedia.org/wiki/RaWrite" target="_blank">Windows rawrite</a>
  40.278 +or simply <code>dd</code>:</p>
  40.279  
  40.280 -<p>
  40.281 -If you have a CD-ROM, an USB port and an USB key or a network card, but you
  40.282 -can't boot these devices directly, then try
  40.283 -<a href="http://mirror.slitaz.org/boot/floppy-grub4dos">floppy-grub4dos</a> 
  40.284 -first. This 1.44Mb floppy provides tiny programs to boot these devices without BIOS
  40.285 -support and some other tools.
  40.286 -</p>
  40.287 +<pre># dd if=fd001.img of=/dev/fd0</pre>
  40.288 +
  40.289 +<p>If you have a CD-ROM, an USB port and an USB key or a network card, but you
  40.290 +can't boot these devices directly, then try <a
  40.291 +href="http://mirror.slitaz.org/boot/floppy-grub4dos" target="_blank"
  40.292 +>floppy-grub4dos</a> first. This 1.44Mb floppy provides tiny programs to boot
  40.293 +these devices without BIOS support and some other tools.</p>
  40.294 +
  40.295  $(cat $DIR/description.html)
  40.296 -<p>
  40.297 -Each floppy set detects disk swaps and can be used without a keyboard.
  40.298 -</p>
  40.299 -<p>
  40.300 -If you have an ext3 partition on your hard disk, the bootstrap can create the
  40.301 -installation script <u>slitaz/install.sh</u>. You will be able to install SliTaz
  40.302 -on your hard disk without extra media.
  40.303 -</p>
  40.304 -<p>
  40.305 -Good luck.
  40.306 -</p>
  40.307  
  40.308 -<a name="fdiso"></a>
  40.309 -<h2>ISO image floppy set</h2>
  40.310 +<p>Each floppy set detects disk swaps and can be used without a keyboard.</p>
  40.311  
  40.312 -<form method="post" action="http://mirror.slitaz.org/floppies/download.php">
  40.313 -<p>
  40.314 -The floppy image set above includes an embedded installer and can install
  40.315 -SliTaz on your hard disk.
  40.316 -</p>
  40.317 -<p>
  40.318 -Anyway you may want these ISO images to
  40.319 -<a href="http://doc.slitaz.org/en:guides:uncommoninst#floppy-install">
  40.320 -install SliTaz</a>
  40.321 -<select name="iso">
  40.322 +<p>Good luck.</p>
  40.323 +
  40.324 +
  40.325 +<h2 id="fdiso">ISO image floppy set</h2>
  40.326 +
  40.327 +<form method="get" action="http://mirror1.slitaz.org/floppies/download.php">
  40.328 +
  40.329 +	<p>The floppy image set above includes an embedded installer and can install
  40.330 +	SliTaz on your hard disk.</p>
  40.331 +
  40.332 +	<p>Anyhow you may want these ISO images to <a
  40.333 +	href="http://doc.slitaz.org/en:guides:uncommoninst#floppy-install">install
  40.334 +	SliTaz</a>
  40.335 +
  40.336 +	<select name="iso">
  40.337  $(
  40.338  for file in $(ls ../iso/*/flavors/slitaz-*.iso ../iso/*/slitaz-*.iso | sort); do
  40.339  	set -- $(echo $(basename $file .iso) | sed 's/-/ /g')
  40.340 -	echo "	<option value=\"${file#../}\">${3:-core} $4 $2</option>"
  40.341 +	echo "		<option value=\"${file#../}\">${3:-core} $4 $2</option>"
  40.342  done
  40.343  )
  40.344 -</select>
  40.345 -<input name="build" value="Build floppy set" type="submit" />
  40.346 -</p>
  40.347 +	</select>
  40.348 +
  40.349 +	<input name="build" value="Build floppy set" type="submit"/>
  40.350 +	</p>
  40.351  </form>
  40.352 -<p>
  40.353 -You can restore the ISO image on your hard disk using :
  40.354 -</p>
  40.355 +
  40.356 +<p>You can restore the ISO image on your hard disk using:</p>
  40.357 +
  40.358  <pre>
  40.359  # dd if=/dev/fd0 of=fdiso01.img
  40.360  # dd if=/dev/fd0 of=fdiso02.img
  40.361 @@ -194,37 +217,71 @@
  40.362  # cat fdiso*.img | cpio -i
  40.363  </pre>
  40.364  
  40.365 +
  40.366  <h2>Images generation</h2>
  40.367 -<p>
  40.368 -All these floppy images are built with <b>bootfloppybox</b> from
  40.369 -a <i>core</i> or a <i>4in1</i> iso. The <i>loram</i> is preprocessed by
  40.370 -<b>tazlitobox</b> (Low RAM tab). These tools are available since 3.0.
  40.371 -You can extract the <u>kernel</u>, <u>cmdline</u> and <u>rootfs</u> files with 
  40.372 -<a href="floppies">this tool</a>
  40.373 -</p>
  40.374  
  40.375 -<!-- End of content with round corner -->
  40.376 -</div>
  40.377 -<div id="content_bottom">
  40.378 -<div class="bottom_left"></div>
  40.379 -<div class="bottom_right"></div>
  40.380 -</div>
  40.381 +<ul>
  40.382 +	<li>All these floppy images are built from a <i>core</i> or a <i>Nin1</i>
  40.383 +		ISO.</li>
  40.384 +	<li>The <i>loram</i> is preprocessed by <code>tazlitobox</code> (Low RAM
  40.385 +		tab) or <code>tazlito build-loram</code>.</li>
  40.386 +	<li>The versions 1.0 and 2.0 are built with <code>bootfloppybox</code>
  40.387 +		available since 3.0.</li>
  40.388 +	<li>The newer versions are built with <code>taziso floppyset</code>
  40.389 +		available since 5.0.</li>
  40.390 +	<li>You can extract the <u>kernel</u>, <u>cmdline</u> and <u>rootfs*</u>
  40.391 +		files with <a href="floppies">this tool</a>.</li>
  40.392 +	<li>You can change the floppy format (to 2.88M, 1.2M ...)
  40.393 +		with <a href="resizefdset.sh">this tool</a>.</li>
  40.394 +</ul>
  40.395  
  40.396 -<!-- Start of footer and copy notice -->
  40.397 -<div id="copy">
  40.398 -<p>
  40.399 -Copyright &copy; <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a> -
  40.400 -<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
  40.401 -</p>
  40.402 -<!-- End of copy -->
  40.403 -</div>
  40.404 +<!-- End of content -->
  40.405 +</main>
  40.406  
  40.407 -<!-- Bottom and logo's -->
  40.408 -<div id="bottom">
  40.409 -<p>
  40.410 -<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>
  40.411 -</p>
  40.412 -</div>
  40.413 +
  40.414 +<script>
  40.415 +	function QRCodePNG(str, obj) {
  40.416 +		try {
  40.417 +			obj.height = obj.width += 300;
  40.418 +			return QRCode.generatePNG(str, {ecclevel: 'H'});
  40.419 +		}
  40.420 +		catch (any) {
  40.421 +			var element = document.createElement("script");
  40.422 +			element.src = "/static/qrcode.min.js";
  40.423 +			element.type = "text/javascript";
  40.424 +			element.onload = function() {
  40.425 +				obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
  40.426 +			};
  40.427 +			document.body.appendChild(element);
  40.428 +		}
  40.429 +	}
  40.430 +</script>
  40.431 +
  40.432 +<footer>
  40.433 +	<div>
  40.434 +		Copyright © <span class="year"></span>
  40.435 +		<a href="http://www.slitaz.org/">SliTaz</a>
  40.436 +	</div>
  40.437 +	<div>
  40.438 +		Network:
  40.439 +		<a href="http://scn.slitaz.org/">Community</a> ·
  40.440 +		<a href="http://doc.slitaz.org/">Doc</a> ·
  40.441 +		<a href="http://forum.slitaz.org/">Forum</a> ·
  40.442 +		<a href="http://pkgs.slitaz.org/">Packages</a> ·
  40.443 +		<a href="http://bugs.slitaz.org">Bugs</a> ·
  40.444 +		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
  40.445 +	</div>
  40.446 +	<div>
  40.447 +		SliTaz @
  40.448 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
  40.449 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
  40.450 +		<a href="http://distrowatch.com/slitaz">Distrowatch</a> ·
  40.451 +		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> ·
  40.452 +		<a href="http://flattr.com/profile/slitaz">Flattr</a>
  40.453 +	</div>
  40.454 +	<img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
  40.455 +	onclick="this.src = QRCodePNG(location.href, this)"/>
  40.456 +</footer>
  40.457  
  40.458  </body>
  40.459  </html>
    41.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    41.2 +++ b/mirror-tools/slitaz/mirror/floppies/resizefdset.sh	Fri Sep 01 17:28:05 2017 +0200
    41.3 @@ -0,0 +1,38 @@
    41.4 +#!/bin/sh
    41.5 +
    41.6 +[ -z "$1" ] &&
    41.7 +echo "Usage: $0 [360|720|1200|2880]   resize a floppy disk set" && exit 2
    41.8 +i=0
    41.9 +while [ $(cat fd$i*.img 2> /dev/null | wc -c) -ne 0 ]; do
   41.10 +	cat fd$i*.img | split -b ${1}k - fdx$$ 
   41.11 +	n=0; [ $i -eq 0 ] && n=1
   41.12 +	for f in fdx$$* ; do
   41.13 +		[ -z "$(hexdump -C $f | sed 4!dq)" ] && rm $f && continue
   41.14 +		x=fd$i$(printf "%02d" $n).$1
   41.15 +		mv $f $x
   41.16 +		dd of=$x bs=1k seek=$1 count=0 2> /dev/null
   41.17 +		ls -l $x
   41.18 +		n=$(($n+1))
   41.19 +	done
   41.20 +	i=$(($i+1))
   41.21 +done
   41.22 +trk=80
   41.23 +[ $1 -lt 720 ] && trk=40
   41.24 +false && for i in $(seq 0 9) ; do
   41.25 +	[ $(($1%($trk+$i))) -eq 0 ] || continue
   41.26 +	for j in 362 369 ; do
   41.27 +		[ $(od -j $j -N 2 -t u2 -An fd001.$1) -eq 20733 ] &&
   41.28 +		printf '\\\\x%02X' $(($trk+$i)) | xargs echo -en | \
   41.29 +		dd bs=1 seek=$(($j+1)) of=fd001.$1 conv=notrunc
   41.30 +	done 2> /dev/null
   41.31 +	break
   41.32 +done
   41.33 +false && if [ $1 -lt 200 ]; then
   41.34 +	while read j d ; do
   41.35 +		[ $(od -j $j -N 2 -t u2 -An fd001.$1) -eq $d ] && echo -en \
   41.36 +		\\xF6 | dd bs=1 seek=$(($j+1)) of=fd001.$1 conv=notrunc
   41.37 +	done 2> /dev/null <<EOT
   41.38 +355	12494
   41.39 +359	4566
   41.40 +EOT
   41.41 +fi
    42.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    42.2 +++ b/mirror-tools/slitaz/mirror/floppies/rolling/description.html	Fri Sep 01 17:28:05 2017 +0200
    42.3 @@ -0,0 +1,27 @@
    42.4 +<p>You can start with one of the 4 following flavors:</p>
    42.5 +
    42.6 +<ul>
    42.7 +	<li><b>base</b> needs 48MB of RAM and 8 floppies:
    42.8 +		<tt>fd001.img</tt> to <tt>fd008.img</tt>.<br>
    42.9 +		base provides the minimum SliTaz distribution subset in text mode.</li>
   42.10 +	<li><b>justx</b> needs 128MB of RAM and 16 floppies:
   42.11 +		<tt>fd001.img</tt> to <tt>fd107.img</tt>.<br>
   42.12 +		justx provides the minimum SliTaz distribution subset with X11 support.</li>
   42.13 +	<li><b>gtkonly</b> needs 192MB of RAM and 24 floppies:
   42.14 +		<tt>fd001.img</tt> to <tt>fd207.img</tt>.<br>
   42.15 +		gtkonly provides the minimum SliTaz distribution subset with GTK+ support.</li>
   42.16 +	<li><b>core</b> needs 256MB of RAM and 32 floppies:
   42.17 +		<tt>fd001.img</tt> to <tt>fd307.img</tt>.<br>
   42.18 +		core provides the default SliTaz distribution.</li>
   42.19 +</ul>
   42.20 +
   42.21 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   42.22 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   42.23 +just press Enter.</p>
   42.24 +
   42.25 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   42.26 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to last
   42.27 +floppy.</p>
   42.28 +
   42.29 +<p>You will be prompted to insert extra floppies for the next flavors.
   42.30 +You can bypass this by using B to boot without loading extra floppies.</p>
    43.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    43.2 +++ b/mirror-tools/slitaz/mirror/floppies/rolling/title	Fri Sep 01 17:28:05 2017 +0200
    43.3 @@ -0,0 +1,1 @@
    43.4 +Built on 2017-08-27, needs up to 256Mb of RAM
    44.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    44.2 +++ b/mirror-tools/slitaz/mirror/floppies/web-1.0/description.html	Fri Sep 01 17:28:05 2017 +0200
    44.3 @@ -0,0 +1,12 @@
    44.4 +<p>This floppy set uses the BIOS instead of the linux driver. You can boot
    44.5 +SliTaz using unsupported floppy drives such as some PCMCIA devices.</p>
    44.6 +
    44.7 +<p>The web version of 1.0 is launched: the filesystem is mostly mounted
    44.8 +from the web.</p>
    44.9 +
   44.10 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   44.11 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   44.12 +just press Enter.</p>
   44.13 +
   44.14 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   44.15 +prompted to insert the next floppy, <tt>fd002.img</tt>.</p>
    45.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    45.2 +++ b/mirror-tools/slitaz/mirror/floppies/web-1.0/title	Fri Sep 01 17:28:05 2017 +0200
    45.3 @@ -0,0 +1,1 @@
    45.4 +Released on 22 March 2008, needs 48Mb RAM
    46.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    46.2 +++ b/mirror-tools/slitaz/mirror/floppies/web-2.0/description.html	Fri Sep 01 17:28:05 2017 +0200
    46.3 @@ -0,0 +1,13 @@
    46.4 +<p>This floppy set uses the BIOS instead of the linux driver. You can boot
    46.5 +SliTaz using unsupported floppy drives such as some PCMCIA devices.</p>
    46.6 +
    46.7 +<p>The web version of 2.0 is launched: the filesystem is mostly mounted
    46.8 +from the web.</p>
    46.9 +
   46.10 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   46.11 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   46.12 +just press Enter.</p>
   46.13 +
   46.14 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   46.15 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to
   46.16 +<tt>fd004.img</tt>.</p>
    47.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    47.2 +++ b/mirror-tools/slitaz/mirror/floppies/web-2.0/title	Fri Sep 01 17:28:05 2017 +0200
    47.3 @@ -0,0 +1,1 @@
    47.4 +Released on 16 April 2009, needs 48Mb RAM
    48.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    48.2 +++ b/mirror-tools/slitaz/mirror/floppies/web-3.0/description.html	Fri Sep 01 17:28:05 2017 +0200
    48.3 @@ -0,0 +1,13 @@
    48.4 +<p>This floppy set uses the BIOS instead of the linux driver. You can boot
    48.5 +SliTaz using unsupported floppy drives such as some PCMCIA devices.</p>
    48.6 +
    48.7 +<p>The web version of 3.0 is launched: the filesystem is mostly mounted
    48.8 +from the web.</p>
    48.9 +
   48.10 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   48.11 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   48.12 +just press Enter.</p>
   48.13 +
   48.14 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   48.15 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to
   48.16 +<tt>fd005.img</tt>.</p>
    49.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    49.2 +++ b/mirror-tools/slitaz/mirror/floppies/web-3.0/title	Fri Sep 01 17:28:05 2017 +0200
    49.3 @@ -0,0 +1,1 @@
    49.4 +Released on 28 March 2010, needs 48Mb RAM
    50.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    50.2 +++ b/mirror-tools/slitaz/mirror/floppies/web-4.0/description.html	Fri Sep 01 17:28:05 2017 +0200
    50.3 @@ -0,0 +1,13 @@
    50.4 +<p>This floppy set uses the BIOS instead of the linux driver. You can boot
    50.5 +SliTaz using unsupported floppy drives such as some PCMCIA devices.</p>
    50.6 +
    50.7 +<p>The web version of 4.0 is launched: the filesystem is mounted
    50.8 +from the web.</p>
    50.9 +
   50.10 +<p>Start your computer with <tt>fd001.img</tt>. It will show the kernel version
   50.11 +string and the kernel cmdline line. You can edit the cmdline. Most users can
   50.12 +just press Enter.</p>
   50.13 +
   50.14 +<p>The floppy is then loaded into memory (one dot each 64KB) and you will be
   50.15 +prompted to insert the next floppy, <tt>fd002.img</tt>. And so on up to
   50.16 +<tt>fd003.img</tt>.</p>
    51.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    51.2 +++ b/mirror-tools/slitaz/mirror/floppies/web-4.0/title	Fri Sep 01 17:28:05 2017 +0200
    51.3 @@ -0,0 +1,1 @@
    51.4 +Released on 10 April 2012, needs 24Mb RAM