slitaz-forge rev 265

add mirror/floppies
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Apr 12 13:38:03 2012 +0200 (2012-04-12)
parents 42dfbae16be4
children afb56b166f97
files mirror/floppies/1.0/description.html mirror/floppies/1.0/title mirror/floppies/2.0/description.html mirror/floppies/2.0/title mirror/floppies/3.0/description.html mirror/floppies/3.0/title mirror/floppies/4.0/description.html mirror/floppies/4.0/title mirror/floppies/builder/bootloader mirror/floppies/builder/index.php mirror/floppies/css mirror/floppies/download.php mirror/floppies/floppies mirror/floppies/floppy-grub4dos mirror/floppies/loram-3.0/description.html mirror/floppies/loram-3.0/title mirror/floppies/loram-4.0/description.html mirror/floppies/loram-4.0/title mirror/floppies/menu.css mirror/floppies/mkindex.sh mirror/floppies/pics/floppy.png mirror/floppies/static
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/mirror/floppies/1.0/description.html	Thu Apr 12 13:38:03 2012 +0200
     1.3 @@ -0,0 +1,12 @@
     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>
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/mirror/floppies/1.0/title	Thu Apr 12 13:38:03 2012 +0200
     2.3 @@ -0,0 +1,1 @@
     2.4 +Released on 22 March 2008, needs 128Mb RAM
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/mirror/floppies/2.0/description.html	Thu Apr 12 13:38:03 2012 +0200
     3.3 @@ -0,0 +1,29 @@
     3.4 +<p>
     3.5 +You can start with one of the 3 following flavors :
     3.6 +</p>
     3.7 +<ul>
     3.8 +  <li>
     3.9 +  <b>base</b> needs 32Mb of RAM and 5 floppies: <i>fd001.img</i> to <i>fd005.img</i>.<br />
    3.10 +  base provides the minimum slitaz distribution subset in text mode. 
    3.11 +  </li>
    3.12 +  <li>
    3.13 +  <b>justx</b> needs 96M of RAM and 11 floppies: <i>fd001.img</i> to <i>fd105.img</i>.<br />
    3.14 +  justx provides the minimum slitaz distribution subset with X11 support. 
    3.15 +  </li>
    3.16 +  <li>
    3.17 +  <b>core</b> needs 160M of RAM and 22 floppies: <i>fd001.img</i> to <i>fd210.img</i>.<br />
    3.18 +  core provides the default slitaz distribution. 
    3.19 +  </li>
    3.20 +</ul>
    3.21 +<p>
    3.22 +Start your computer with <i>fd001.img</i>. It will show the kernel version string and
    3.23 +the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
    3.24 +</p>
    3.25 +<p>
    3.26 +The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
    3.27 +insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd005.img</i>.
    3.28 +</p>
    3.29 +<p>
    3.30 +The base flavor will then start and you will be prompted to insert extra floppies
    3.31 +for justx and core flavors. You can bypass this by using Q and Enter.
    3.32 +</p>
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/mirror/floppies/2.0/title	Thu Apr 12 13:38:03 2012 +0200
     4.3 @@ -0,0 +1,1 @@
     4.4 +Released on 16 April 2009, needs 144Mb RAM
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/mirror/floppies/3.0/description.html	Thu Apr 12 13:38:03 2012 +0200
     5.3 @@ -0,0 +1,29 @@
     5.4 +<p>
     5.5 +You can start with one of the 3 following flavors :
     5.6 +</p>
     5.7 +<ul>
     5.8 +  <li>
     5.9 +  <b>base</b> needs 32Mb of RAM and 5 floppies: <i>fd001.img</i> to <i>fd005.img</i>.<br />
    5.10 +  base provides the minimum slitaz distribution subset in text mode. 
    5.11 +  </li>
    5.12 +  <li>
    5.13 +  <b>justx</b> needs 96M of RAM and 11 floppies: <i>fd001.img</i> to <i>fd105.img</i>.<br />
    5.14 +  justx provides the minimum slitaz distribution subset with X11 support. 
    5.15 +  </li>
    5.16 +  <li>
    5.17 +  <b>core</b> needs 160M of RAM and 22 floppies: <i>fd001.img</i> to <i>fd210.img</i>.<br />
    5.18 +  core provides the default slitaz distribution. 
    5.19 +  </li>
    5.20 +</ul>
    5.21 +<p>
    5.22 +Start your computer with <i>fd001.img</i>. It will show the kernel version string and
    5.23 +the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
    5.24 +</p>
    5.25 +<p>
    5.26 +The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
    5.27 +insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd005.img</i>.
    5.28 +</p>
    5.29 +<p>
    5.30 +The base flavor will then start and you will be prompted to insert extra floppies
    5.31 +for justx and core flavors. You can bypass this by using Q and Enter.
    5.32 +</p>
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/mirror/floppies/3.0/title	Thu Apr 12 13:38:03 2012 +0200
     6.3 @@ -0,0 +1,1 @@
     6.4 +Released on 28 March 2010, needs 144Mb RAM
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/mirror/floppies/4.0/description.html	Thu Apr 12 13:38:03 2012 +0200
     7.3 @@ -0,0 +1,33 @@
     7.4 +<p>
     7.5 +You can start with one of the 4 following flavors :
     7.6 +</p>
     7.7 +<ul>
     7.8 +  <li>
     7.9 +  <b>base</b> needs 48Mb of RAM and 7 floppies: <i>fd001.img</i> to <i>fd006.img</i>.<br />
    7.10 +  base provides the minimum slitaz distribution subset in text mode. 
    7.11 +  </li>
    7.12 +  <li>
    7.13 +  <b>justx</b> needs 100M of RAM and 12 floppies: <i>fd001.img</i> to <i>fd105.img</i>.<br />
    7.14 +  justx provides the minimum slitaz distribution subset with X11 support. 
    7.15 +  </li>
    7.16 +  <li>
    7.17 +  <b>gtkonly</b> needs 160M of RAM and 17 floppies: <i>fd001.img</i> to <i>fd204.img</i>.<br />
    7.18 +  gtkonly provides the minimum slitaz distribution subset with Gtk+ support. 
    7.19 +  </li>
    7.20 +  <li>
    7.21 +  <b>core</b> needs 192M of RAM and 26 floppies: <i>fd001.img</i> to <i>fd308.img</i>.<br />
    7.22 +  core provides the default slitaz distribution. 
    7.23 +  </li>
    7.24 +</ul>
    7.25 +<p>
    7.26 +Start your computer with <i>fd001.img</i>. It will show the kernel version string and
    7.27 +the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
    7.28 +</p>
    7.29 +<p>
    7.30 +The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
    7.31 +insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd006.img</i>.
    7.32 +</p>
    7.33 +<p>
    7.34 +The base flavor will then start and you will be prompted to insert extra floppies
    7.35 +for justx and core flavors. You can bypass this by using Q and Enter.
    7.36 +</p>
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/mirror/floppies/4.0/title	Thu Apr 12 13:38:03 2012 +0200
     8.3 @@ -0,0 +1,1 @@
     8.4 +Released on 10 April 2012, needs 192Mb RAM
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/mirror/floppies/builder/bootloader	Thu Apr 12 13:38:03 2012 +0200
     9.3 @@ -0,0 +1,213 @@
     9.4 +#!/bin/sh
     9.5 +#
     9.6 +# This script creates a floppy image set from a linux bzImage and can merge
     9.7 +# a cmdline and/or one or more initramfs.
     9.8 +# The total size can not exceed 15M because INT 15H function 87H limitations.
     9.9 +#
    9.10 +# (C) 2009 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] [--cmdline 'args']
    9.16 +       [--rdev device] [--video mode] [--flags rootflags] [--tracks cnt]
    9.17 +       [--format 1440|1680|1920|2880 ] [--initrd initrdfile]...
    9.18 +
    9.19 +Default values: --format 1440 --tracks 80 --prefix floppy.
    9.20 +
    9.21 +Example:
    9.22 +$0 /boot/vmlinuz-2.6.30.6 --rdev /dev/ram0 --video -3 --cmdline 'rw lang=fr_FR kmap=fr-latin1 laptop autologin' --initrd /boot/rootfs.gz --initrd ./myconfig.gz
    9.23 +EOT
    9.24 +exit 1
    9.25 +}
    9.26 +
    9.27 +KERNEL=""
    9.28 +INITRD=""
    9.29 +CMDLINE=""
    9.30 +PREFIX="floppy."
    9.31 +FORMAT="1440"
    9.32 +RDEV=""
    9.33 +VIDEO=""
    9.34 +FLAGS=""
    9.35 +TRACKS=""
    9.36 +DEBUG=""
    9.37 +while [ -n "$1" ]; do
    9.38 +	case "$1" in
    9.39 +	--c*|-c*)  CMDLINE="$2"; shift;;
    9.40 +	--i*|-i*)  INITRD="$INITRD $2"; shift;;
    9.41 +	--p*|-p*)  PREFIX="$2"; shift;;
    9.42 +	--fo*|-f*) FORMAT="$2"; shift;;
    9.43 +	--fl*)     FLAGS="$2"; shift;;	# 1 read-only, 0 read-write
    9.44 +	--r*|-r*)  RDEV="$2"; shift;;	# /dev/???
    9.45 +	--v*|-v*)  VIDEO="$2"; shift;;	# -3 .. n
    9.46 +	--t*|-t*)  TRACKS="$2"; shift;; # likely 81 .. 84
    9.47 +	--debug)   DEBUG="1";;
    9.48 +	*) KERNEL="$1";;
    9.49 +	esac
    9.50 +	shift
    9.51 +done
    9.52 +[ -n "$KERNEL" -a -f "$KERNEL" ] || usage
    9.53 +if [ -n "$TRACKS" ]; then
    9.54 +	if [ $(( $FORMAT % $TRACKS )) -ne 0 ]; then
    9.55 +		echo "Invalid track count for format $FORMAT."
    9.56 +		usage
    9.57 +	fi
    9.58 +fi
    9.59 +
    9.60 +# write a 16 bits data
    9.61 +# usage: store16 offset data16 file
    9.62 +store16()
    9.63 +{
    9.64 +	echo $(( $2 + 0x10000 )) | \
    9.65 +		awk '{ printf "\\\\x%02X\\\\x%02X",$1%256,($1/256)%256 }' | \
    9.66 +		xargs echo -en | \
    9.67 +	dd bs=2 conv=notrunc of=$3 seek=$(( $1 / 2 )) 2> /dev/null
    9.68 +	[ -n "$DEBUG" ] && printf "store16(%04X) = %04X\n" $1 $2 1>&2
    9.69 +}
    9.70 +
    9.71 +# write a 32 bits data
    9.72 +# usage: storelong offset data32 file
    9.73 +storelong()
    9.74 +{
    9.75 +	echo $2 | awk '{ printf "\\\\x%02X\\\\x%02X\\\\x%02X\\\\x%02X",
    9.76 +		 $1%256,($1/256)%256,($1/256/256)%256,($1/256/256/256)%256 }' | \
    9.77 +		xargs echo -en | \
    9.78 +		dd bs=4 conv=notrunc of=$3 seek=$(( $1 / 4 )) 2> /dev/null
    9.79 +	[ -n "$DEBUG" ] && printf "storelong(%04X) = %08X\n" $1 $2 1>&2
    9.80 +}
    9.81 +
    9.82 +# read a 32 bits data
    9.83 +# usage: getlong offset file
    9.84 +getlong()
    9.85 +{
    9.86 +	dd if=$2 bs=1 skip=$(( $1 )) count=4 2> /dev/null | \
    9.87 +		hexdump -e '"" 1/4 "%d" "\n"'
    9.88 +}
    9.89 +
    9.90 +floppyset()
    9.91 +{
    9.92 +	# bzImage offsets
    9.93 +	CylinderCount=496
    9.94 +	SetupSzOfs=497
    9.95 +	FlagsOfs=498
    9.96 +	SyssizeOfs=500
    9.97 +	VideoModeOfs=506
    9.98 +	RootDevOfs=508
    9.99 +	CodeAdrOfs=0x214
   9.100 +	RamfsAdrOfs=0x218
   9.101 +	RamfsLenOfs=0x21C
   9.102 +	ArgPtrOfs=0x228
   9.103 +
   9.104 +	# boot+setup address
   9.105 +	SetupBase=0x90000
   9.106 +
   9.107 +	stacktop=0x9E00
   9.108 +
   9.109 +	bs=/tmp/bs$$
   9.110 +
   9.111 +	# Get and patch boot sector
   9.112 +	# See  http://hg.slitaz.org/wok/raw-file/711d076b277c/linux/stuff/linux-header-2.6.34.u
   9.113 +	dd if=$KERNEL bs=512 count=1 of=$bs 2> /dev/null
   9.114 +	uudecode <<EOT | dd of=$bs conv=notrunc 2> /dev/null
   9.115 +begin-base64 644 -
   9.116 +/L+6nWgAkAcGF4n8McC5HQDzq1sfD6mg8X1ABlfFd3ixBvOlZWaPR3gGH8ZF
   9.117 ++D/6l1hB6DQBvgACA3QO6HYBWwseKAJ0LFNH6AoBXuhmAbAgzRCwCM0QTuhl
   9.118 +ATwIdAOIBK05NigCdPDoPgE8CnXgiHz+ieb/TBD/TBi/9AGBTRz/gMdFMACc
   9.119 +sBCxBUi0k4lEHLABiUQUmGaY0+BIZgMFZtPoaAAQB7+AACn4nHMCAccx21BW
   9.120 +6J4AXrkAgLSH/kQczRVYnXfcoRoCvxwCsQk4RBxyuJPNE+oAACCQsEYoyL7b
   9.121 +AejSAF3rI4D5E3IEOMF3a4D+AnIEOOZ3bGCB/QAGdCoGUlFTlrQCULEGtQTB
   9.122 +xQSwDyHoBJAnFEAn6IwA/s117LAgzRDitOiWAJjNE2FSUCjIdwKwAZg5+HIC
   9.123 +ifhQtALNE5VeWFpyoJVBjuGAxwJPdFFOdfSM4ZU4wXVFiMj+xrEBOOZ1O4j0
   9.124 +/sW2AID9UHIwOi7wAXIqtQBgvt4B/kQMU+gxAFvoOAB1FlKYzRO4AQLNE1rQ
   9.125 +1Dpk/nXqRgjkdeVh64sWB7AxLAO0DrsHAM0QPA1088OwDejv/6wIwHX4w79s
   9.126 +BLFbZQINuA0BZToNdArNFnT0mM0Wju9Hw1g6AEluc2VydCBkaXNrIDEuBw0A
   9.127 +AA==
   9.128 +====
   9.129 +EOT
   9.130 +
   9.131 +	# Get setup
   9.132 +	setupsz=$(getlong $SetupSzOfs $bs)
   9.133 +	setupszb=$(( $setupsz & 255 ))
   9.134 +	dd if=$KERNEL bs=512 skip=1 count=$setupszb 2> /dev/null >> $bs
   9.135 +
   9.136 +	if [ -n "$TRACKS" ]; then
   9.137 +		[ -n "$DEBUG" ] && echo -n "--tracks " 1>&2
   9.138 +		n=$(getlong $CylinderCount $bs)
   9.139 +		store16 $CylinderCount $(( ($n & -256) + $TRACKS )) $bs
   9.140 +	fi
   9.141 +	if [ -n "$FLAGS" ]; then
   9.142 +		[ -n "$DEBUG" ] && echo -n "--flags " 1>&2
   9.143 +		store16 $FlagsOfs $FLAGS $bs
   9.144 +	fi
   9.145 +	if [ -n "$VIDEO" ]; then
   9.146 +		[ -n "$DEBUG" ] && echo -n "--video " 1>&2
   9.147 +		store16 $VideoModeOfs $VIDEO $bs
   9.148 +	fi
   9.149 +	if [ -n "$RDEV" ]; then
   9.150 +		if [ "$(dirname $RDEV)" == "/dev" -a -b $RDEV ]; then
   9.151 +			[ -n "$DEBUG" ] && echo -n "--rdev " 1>&2
   9.152 +			RDEV=$(stat -c '0x%02t%02T' $RDEV 2> /dev/null)
   9.153 +			store16 $RootDevOfs $RDEV $bs
   9.154 +		fi
   9.155 +	fi
   9.156 +
   9.157 +	# Store cmdline after setup
   9.158 +	if [ -n "$CMDLINE" ]; then
   9.159 +		[ -n "$DEBUG" ] && echo -n "--cmdline '$CMDLINE' " 1>&2
   9.160 +		echo -n "$CMDLINE" | dd bs=512 count=1 conv=sync 2> /dev/null >> $bs
   9.161 +		storelong $ArgPtrOfs $(( $SetupBase + $stacktop )) $bs
   9.162 +	fi
   9.163 +
   9.164 +	# Compute initramfs size
   9.165 +	initrdlen=0
   9.166 +	for i in $( echo $INITRD | sed 's/,/ /' ); do
   9.167 +		[ -s "$i" ] || continue
   9.168 +		[ -n "$DEBUG" ] && echo "--initrd $i " 1>&2
   9.169 +		initrdlen=$(( ($initrdlen + $(stat -c %s $i) + 3) & -4 ))
   9.170 +	done
   9.171 +	if [ $initrdlen -ne 0 ]; then
   9.172 +		[ -n "$DEBUG" ] && echo "initrdlen = $initrdlen " 1>&2
   9.173 +		storelong $RamfsAdrOfs \
   9.174 +			$(( (0x1000000 - $initrdlen) & 0xFFFF0000 )) $bs
   9.175 +		storelong $RamfsLenOfs $initrdlen $bs
   9.176 +	fi
   9.177 +
   9.178 +	# Output boot sector + setup + cmdline
   9.179 +	dd if=$bs 2> /dev/null
   9.180 +
   9.181 +	# Output kernel code
   9.182 +	dd if=$KERNEL bs=512 skip=$(( $setupszb + 1 )) 2> /dev/null
   9.183 +
   9.184 +	# Pad to next sector
   9.185 +	Kpad=$(( 512 - ($(stat -c %s $KERNEL) & 511) ))
   9.186 +	[ $Kpad -eq 512 ] || dd if=/dev/zero bs=1 count=$Kpad 2> /dev/null
   9.187 +
   9.188 +	# Output initramfs
   9.189 +	padding=0
   9.190 +	for i in $( echo $INITRD | sed 's/,/ /' ); do
   9.191 +		[ -s "$i" ] || continue
   9.192 +		[ $padding -ne 0 ] && dd if=/dev/zero bs=1 count=$padding 2> /dev/null
   9.193 +		dd if=$i 2> /dev/null
   9.194 +		padding=$(( 4 - ($(stat -c %s $i) & 3) ))
   9.195 +		[ $padding -eq 4 ] && padding=0
   9.196 +	done
   9.197 +
   9.198 +	# Cleanup
   9.199 +	rm -f $bs
   9.200 +}
   9.201 +
   9.202 +if [ "$FORMAT" == "0" ]; then # unsplitted
   9.203 +	floppyset > $PREFIX
   9.204 +	PAD=$(( 512 - ($(stat -c %s $PREFIX) % 512) ))
   9.205 +	[ $PAD -ne 512 ] && dd if=/dev/zero bs=1 count=$PAD >> $PREFIX 2> /dev/null
   9.206 +	exit
   9.207 +fi
   9.208 +floppyset | split -b ${FORMAT}k /dev/stdin floppy$$
   9.209 +i=1
   9.210 +ls floppy$$* | while read file ; do
   9.211 +	output=$PREFIX$(printf "%03d" $i)
   9.212 +	cat $file /dev/zero | dd bs=1k count=$FORMAT conv=sync of=$output 2> /dev/null
   9.213 +	echo $output
   9.214 +	rm -f $file
   9.215 +	i=$(( $i + 1 ))
   9.216 +done
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/mirror/floppies/builder/index.php	Thu Apr 12 13:38:03 2012 +0200
    10.3 @@ -0,0 +1,498 @@
    10.4 +<?php
    10.5 +if (false) { // no php support on this mirror !
    10.6 +?>
    10.7 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    10.8 +	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    10.9 +<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
   10.10 +<head>
   10.11 +	<title>SliTaz Boot Floppies redirection</title>
   10.12 +	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   10.13 +	<meta name="description" content="slitaz boot floppies builder redirection" />
   10.14 +	<meta name="robots" content="index, nofollow" />
   10.15 +	<meta name="author" content="SliTaz Contributors" />
   10.16 +	<meta http-equiv="Refresh" content="0;url=http://mirror.slitaz.org/floppies/builder/index.php">
   10.17 +</head>
   10.18 +<?php
   10.19 +}
   10.20 +ini_set('upload_max_filesize','16M');
   10.21 +ini_set('post_max_size','16M');
   10.22 +if (isset($_GET['id']) && is_file("/tmp/".$_GET['id']."/fd")) {
   10.23 +
   10.24 +	// Download a floppy image
   10.25 +	
   10.26 +    	$size = $_GET['s'];
   10.27 +    	if ($size == 0)
   10.28 +    		$size = filesize("/tmp/".$_GET['id']."/fd");
   10.29 +	header("Content-Type: application/octet-stream");
   10.30 +	header("Content-Length: ".$size);
   10.31 +	header("Content-Disposition: attachment; filename=".
   10.32 +		sprintf("fd%03d.img",$_GET['n']));
   10.33 +	$cmd = "cat /tmp/".$_GET['id']."/fd";
   10.34 +	if ($_GET['s'] != 0) {
   10.35 +		$cmd .= " /dev/zero | dd count=1 bs=".$_GET['s'];
   10.36 +		if ($_GET['n'] > 1)
   10.37 +			$cmd .= " skip=".($_GET['n']-1);
   10.38 +	}
   10.39 +	echo `$cmd 2> /dev/null`;
   10.40 +	exit;
   10.41 +}
   10.42 +?>
   10.43 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   10.44 +	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   10.45 +<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
   10.46 +<head>
   10.47 +	<title>SliTaz Boot Floppies</title>
   10.48 +	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   10.49 +	<meta name="description" content="slitaz boot floppies builder" />
   10.50 +	<meta name="robots" content="index, nofollow" />
   10.51 +	<meta name="author" content="SliTaz Contributors" />
   10.52 +	<link rel="shortcut icon" href="/static/favicon.ico" />
   10.53 +	<link rel="stylesheet" type="text/css" href="/static/slitaz.css" />
   10.54 +	<style type="text/css">
   10.55 +	
   10.56 +input[type=text] {
   10.57 +	width: inherit;
   10.58 +}
   10.59 +
   10.60 +#content {
   10.61 +	margin: 6px 280px 0px 0px;
   10.62 +	padding: 0px 3% 20px 4%;
   10.63 +}
   10.64 +
   10.65 +#nav {
   10.66 +	right: 4%;
   10.67 +}
   10.68 +
   10.69 +#copy {
   10.70 +	text-align: center;
   10.71 +}
   10.72 +
   10.73 +#bottom {
   10.74 +	text-align: center;
   10.75 +}
   10.76 +
   10.77 +	</style>
   10.78 +</head>
   10.79 +<body bgcolor="#ffffff">
   10.80 +<!-- Header -->
   10.81 +<div id="header">
   10.82 +    <a name="top"></a>
   10.83 +	<div id="logo"></div>
   10.84 +	<div id="network">
   10.85 +		<a href="http://www.slitaz.org/">
   10.86 +		<img src="/static/home.png" alt="[ home ]" /></a>
   10.87 +		<a href="bootloader" title="Build your floppy sets without Internet">Shell builder</a> |
   10.88 +		<a href="../floppy-grub4dos" title="Boot tools">Generic boot floppy</a>
   10.89 +	</div>
   10.90 +	<h1><a href="http://www.slitaz.org/">Boot floppies builder</a></h1>
   10.91 +</div>
   10.92 +
   10.93 +<!-- Navigation menu -->
   10.94 +<div id="nav">
   10.95 +
   10.96 +<?php
   10.97 +
   10.98 +	// Cleanup old sessions
   10.99 +	
  10.100 +	$dir = opendir("/tmp");
  10.101 +	while (($name = readdir($dir)) !== false) {
  10.102 +		if (preg_match('/^fdbuild/',$name) == 0) continue;
  10.103 +		if (filemtime("/tmp/$name") > strtotime("-1 hour")) continue;
  10.104 +		system("rm -rf /tmp/$name");
  10.105 +	}
  10.106 +	closedir($dir);
  10.107 +
  10.108 +function get_long($file, $offset)
  10.109 +{
  10.110 +	$value = 0;
  10.111 +	if ($fp = fopen($file,"r")) {
  10.112 +		fseek($fp,$offset,SEEK_SET);
  10.113 +		for ($i = 0; $i < 32; $i += 8) {
  10.114 +			$value += ord(fgetc($fp)) << $i;
  10.115 +		}
  10.116 +		fclose($fp);
  10.117 +	}
  10.118 +	return $value;
  10.119 +}
  10.120 +
  10.121 +function error($string, $title="Error")
  10.122 +{
  10.123 +	echo <<<EOT
  10.124 +<div class="nav_box">
  10.125 +<h4>$title</h4>
  10.126 +<p>
  10.127 +$string
  10.128 +</p>
  10.129 +</div>
  10.130 +EOT;
  10.131 +}
  10.132 +
  10.133 +	$size = 0;
  10.134 +	$initrd_size = 0;
  10.135 +	
  10.136 +	// Upload kernel
  10.137 +	
  10.138 +	foreach($_FILES as $data) {
  10.139 +		$msg="The file ".$data['name']." ";
  10.140 +		switch ($data["error"]) {
  10.141 +		case UPLOAD_ERR_INI_SIZE   : 
  10.142 +			error($msg."exceeds upload_max_filesize.");
  10.143 +			break;
  10.144 +		case UPLOAD_ERR_FORM_SIZE  : 
  10.145 +			error($msg."exceeds max_post_size.");
  10.146 +			break;
  10.147 +		case UPLOAD_ERR_PARTIAL    : 
  10.148 +			error($msg."was only partially uploaded.");
  10.149 +			break;
  10.150 +		case UPLOAD_ERR_NO_TMP_DIR : 
  10.151 +			error("Missing a temporary folder.");
  10.152 +			break;
  10.153 +		case UPLOAD_ERR_CANT_WRITE : 
  10.154 +			error("Failed to write file to disk.");
  10.155 +			break;
  10.156 +		}
  10.157 +	}
  10.158 +	if (isset($_FILES["kernel"]['tmp_name']) &&
  10.159 +	    is_uploaded_file($_FILES["kernel"]['tmp_name'])) {
  10.160 +		$tmp_dir = tempnam('','fdbuild');
  10.161 +		if (file_exists($tmp_dir)) unlink($tmp_dir);
  10.162 +		mkdir($tmp_dir);
  10.163 +		$tmp_dir .= '/';
  10.164 +		move_uploaded_file($_FILES["kernel"]['tmp_name'],
  10.165 +				   $tmp_dir."kernel");
  10.166 +		$kernel = $tmp_dir."kernel";
  10.167 +		$boot_version = get_long($kernel,0x206) & 255;
  10.168 +		$size = get_long($kernel,0x1F4);	// syssize paragraphs
  10.169 +		if ($boot_version < 4) $size &= 0xFFFF;	// 16 bits before 2.4
  10.170 +		$size = ($size + 0xFFF) & 0xFFFF000;	// round up to 64K
  10.171 +		$size <<= 4;				// paragraphs -> bytes
  10.172 +		if (get_long($kernel,0x202) != 0x53726448 ||	// 'HdrS' magic
  10.173 +		    (get_long($kernel,0x211) & 1 != 1)) {	// bzImage flag
  10.174 +			error("The file ".$_FILES["kernel"]['name'].
  10.175 +			      " is not a bzImage Linux kernel.");
  10.176 +			$size = 0;
  10.177 +		}
  10.178 +		else if ($boot_version < 2 && $_POST['cmdline']) { // before 2.2
  10.179 +			unset($_POST['cmdline']);
  10.180 +			error("This boot loader does not support Linux kernel ".
  10.181 +			      "prior 2.4.0-test3-pre3 command line.",
  10.182 +			      "Warning");
  10.183 +		}
  10.184 +		$msg = "The size of the file ".$_FILES["kernel"]['name'];
  10.185 +	}
  10.186 +	
  10.187 +	// Upload initrd
  10.188 +	
  10.189 +	if ($size && isset($_FILES["initrd"]['tmp_name']) &&
  10.190 +	    is_uploaded_file($_FILES["initrd"]['tmp_name'])) {
  10.191 +		move_uploaded_file($_FILES["initrd"]['tmp_name'],
  10.192 +				   $tmp_dir."initrd");
  10.193 +		$initrd_size = $_FILES["initrd"]['size'];
  10.194 +		$size += $initrd_size;
  10.195 +		$msg = "The total size of the files ".$_FILES["kernel"]['name'].
  10.196 +		       " and ".$_FILES["initrd"]['name'];
  10.197 +	}
  10.198 +	if ($initrd_size && isset($_FILES["initrd2"]['tmp_name']) &&
  10.199 +	    is_uploaded_file($_FILES["initrd2"]['tmp_name'])) {
  10.200 +		move_uploaded_file($_FILES["initrd2"]['tmp_name'],
  10.201 +				   $tmp_dir."initrd2");
  10.202 +		$initrd2_size = $_FILES["initrd2"]['size'];
  10.203 +		$size += $initrd2_size;
  10.204 +		$msg = "The total size of the files ".$_FILES["kernel"]['name'].
  10.205 +		       ", ".$_FILES["initrd"]['name'].
  10.206 +		       " and ".$_FILES["initrd2"]['name'];
  10.207 +	}
  10.208 +	if ($size >= 15 * 1024 * 1024) {
  10.209 +		error($msg." exceeds 15 MB.");
  10.210 +		$size = 0;
  10.211 +	}
  10.212 +	if ($size == 0) {
  10.213 +		if (isset($tmp_dir))
  10.214 +			system("rm -f $tmp_dir");
  10.215 +	}
  10.216 +	else {
  10.217 +		$cmd = "./bootloader ".$tmp_dir."kernel --prefix "
  10.218 +		     . $tmp_dir."fd --format 0 --flags ".$_POST['flags']
  10.219 +		     . " --video ".$_POST['video'];
  10.220 +		if ($_POST['cmdline'])
  10.221 +			$cmd .= " --cmdline '".$_POST['cmdline']."'";
  10.222 +		if (file_exists($_POST['rdev']))
  10.223 +			$cmd .= " --rdev ".$_POST['rdev'];
  10.224 +		if ($initrd_size)
  10.225 +			$cmd .= " --initrd ".$tmp_dir."initrd";
  10.226 +		if ($initrd2_size)
  10.227 +			$cmd .= " --initrd ".$tmp_dir."initrd2";
  10.228 +		switch ($_POST['size']) {
  10.229 +		case 1763328 : 
  10.230 +		case 2015232 : 
  10.231 +		case 3526656 :
  10.232 +		case 4030464 :
  10.233 +			$cmd .= " --tracks 82"; break;
  10.234 +		case 1784832 : 
  10.235 +			$cmd .= " --tracks 83"; break;
  10.236 +		}
  10.237 +		shell_exec($cmd);
  10.238 +		$count = 1;
  10.239 +		if ($_POST['size'] != 0) {
  10.240 +			$count += (filesize($tmp_dir."fd") -1) / $_POST['size'];
  10.241 +			$padding = $_POST['size'] - 
  10.242 +				(filesize($tmp_dir."fd") % $_POST['size']);
  10.243 +		}
  10.244 +	}
  10.245 +	$sizes = array(
  10.246 +		"368640" => "360 KB",   "737280" => "720 KB",
  10.247 +		"1228800" => "1.20 MB",
  10.248 +		"1474560" => "1.44 MB", "1638400" => "1.60 MB",
  10.249 +		"1720320" => "1.68 MB", "1763328" => "1.72 MB",
  10.250 +		"1784832" => "1.74 MB", "1802240" => "1.76 MB",
  10.251 +		"1884160" => "1.84 MB", "1966080" => "1.92 MB", 
  10.252 +		"2015232" => "1.96 MB", "2949120" => "2.88 MB",
  10.253 +		"3440640" => "3.36 MB", "3526656" => "3.44 MB",
  10.254 +		"3932160" => "3.84 MB", "4030464" => "3.92 MB",
  10.255 +		"0"       => "no limit"
  10.256 +	);
  10.257 +
  10.258 +function show_size($size)
  10.259 +{
  10.260 +	global $sizes;
  10.261 +	if ($size != 0) return " ".$sizes[$size];
  10.262 +}
  10.263 +?>
  10.264 +
  10.265 +<!-- End navigation menu -->
  10.266 +</div>
  10.267 +
  10.268 +<!-- Content top. -->
  10.269 +<div id="content_top">
  10.270 +<div class="top_left"></div>
  10.271 +<div class="top_right"></div>
  10.272 +</div>
  10.273 +
  10.274 +<!-- Content -->
  10.275 +<div id="content">
  10.276 +
  10.277 +<h2>Floppy image set builder</h2>
  10.278 +
  10.279 +<?php
  10.280 +	if (!isset($count)) {
  10.281 +		$max = rtrim(ini_get('upload_max_filesize'),"M");
  10.282 +		$max_post = rtrim(ini_get('post_max_size'),"M");
  10.283 +		if ($max_post < $max) $max = $max_post;
  10.284 +		$msg = "the tiny boot loader can't load more than 15 MB";
  10.285 +		if ($max < 16)
  10.286 +			$msg = "the web server can't upload more than $max MB";
  10.287 +?>
  10.288 +<form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
  10.289 +<table>
  10.290 +	<tr>
  10.291 +	<td>Linux kernel:</td>
  10.292 +	<td><input type="file" name="kernel" size="25" /> <i>required</i></td>
  10.293 +	</tr>
  10.294 +	<tr>
  10.295 +	<td>Initramfs / Initrd:</td>
  10.296 +	<td><input type="file" name="initrd" size="25" /> <i>optional</i></td>
  10.297 +	</tr>
  10.298 +	<tr>
  10.299 +	<td>Extra initramfs:</td>
  10.300 +	<td><input type="file" name="initrd2" size="25" /> <i>optional</i></td>
  10.301 +	</tr>
  10.302 +	<tr>
  10.303 +	<td>Default cmdline:</td>
  10.304 +	<td><input type="text" name="cmdline" size="36" <?php 
  10.305 +		if (isset($_GET['cmdline'])) echo 'value="'.$_GET['cmdline'].'"';
  10.306 +	?>/> <i>optional</i></td>
  10.307 +	</tr>
  10.308 +	<tr>
  10.309 +	<td>Root device:</td>
  10.310 +	<td><input type="text" name="rdev" size="8" value="<?php
  10.311 +		if (isset($_GET['rdev'])) echo $_GET['rdev'];
  10.312 +		else echo "/dev/fd0";
  10.313 +	?>" />
  10.314 +	&nbsp;&nbsp;Flags: <select name="flags">
  10.315 +		<option value="1">R/O</option>
  10.316 +		<option value="0" <?php
  10.317 +			if (isset($_GET['rdev']) && $_GET['rdev'] == "0")
  10.318 +				echo ' selected="selected"'
  10.319 +		?>>R/W</option>
  10.320 +	</select>
  10.321 +	&nbsp;&nbsp;VESA: <select name="video">
  10.322 +		<?php
  10.323 +			$selected=-1;
  10.324 +			if (isset($_GET['video'])) $selected = $_GET['video'];
  10.325 +			$options = array();
  10.326 +			$options[-3] = "Ask";
  10.327 +			$options[-2] = "Extended";
  10.328 +			$options[-1] = "Standard";
  10.329 +			for ($i = 0; $i < 16; $i++) $options[$i] = $i;
  10.330 +			$options[0xF00] = "80x25";
  10.331 +			$options[0xF01] = "80x50";
  10.332 +			$options[0xF02] = "80x43";
  10.333 +			$options[0xF03] = "80x28";
  10.334 +			$options[0xF05] = "80x30";
  10.335 +			$options[0xF06] = "80x34";
  10.336 +			$options[0xF07] = "80x60";
  10.337 +			$options[0x30A] = "132x43";
  10.338 +			$options[0x309] = "132x25";
  10.339 +			$options[0x338] = "320x200x8";
  10.340 +			$options[0x30D] = "320x200x15";
  10.341 +			$options[0x30E] = "320x200x16";
  10.342 +			$options[0x332] = "320x240x8";
  10.343 +			$options[0x335] = "320x240x16";
  10.344 +			$options[0x333] = "400x300x8";
  10.345 +			$options[0x336] = "400x300x16";
  10.346 +			$options[0x334] = "512x384x8";
  10.347 +			$options[0x337] = "512x384x16";
  10.348 +			$options[0x300] = "640x400x8";
  10.349 +			$options[0x339] = "640x400x16";
  10.350 +			$options[0x301] = "640x480x8";
  10.351 +			$options[0x310] = "640x480x15";
  10.352 +			$options[0x311] = "640x480x16";
  10.353 +			$options[0x312] = "640x480x24";
  10.354 +			$options[0x33A] = "640x480x32";
  10.355 +			//$options[770] = "800x600x4";
  10.356 +			$options[0x303] = "800x600x8";
  10.357 +			$options[0x313] = "800x600x15";
  10.358 +			$options[0x314] = "800x600x16";
  10.359 +			$options[0x315] = "800x600x24";
  10.360 +			$options[0x33B] = "800x600x32";
  10.361 +			//$options[772] = "1024x768x4";
  10.362 +			$options[0x305] = "1024x768x8";
  10.363 +			$options[0x316] = "1024x768x15";
  10.364 +			$options[0x317] = "1024x768x16";
  10.365 +			$options[0x318] = "1024x768x24";
  10.366 +			$options[0x33C] = "1024x768x32";
  10.367 +			$options[0x307] = "1280x1024x8";
  10.368 +			$options[0x319] = "1280x1024x15";
  10.369 +			$options[0x31A] = "1280x1024x16";
  10.370 +			$options[0x31B] = "1280x1024x24";
  10.371 +			$options[0x33D] = "1280x1024x32";
  10.372 +			$options[0x330] = "1600x1200x8";
  10.373 +			$options[0x331] = "1600x1200x16";
  10.374 +			foreach ($options as $key => $value) {
  10.375 +				echo '<option value="'.$key.'"';
  10.376 +				if ($key == $selected || $value == $selected)
  10.377 +					echo ' selected="selected"';
  10.378 +				echo '>'.$value."</option>\n";
  10.379 +			}
  10.380 +		?>
  10.381 +	</select>
  10.382 +	</td>
  10.383 +	</tr>
  10.384 +	<tr>
  10.385 +	<td>Floppy size:</td>
  10.386 +	<td><select name="size">
  10.387 +<?php
  10.388 +	foreach ($sizes as $key => $value) {
  10.389 +		echo "		<option value=\"$key\"";
  10.390 +		if ($key == "1474560") echo " selected='selected'";
  10.391 +		echo ">$value</option>\n";
  10.392 +	}
  10.393 +?>
  10.394 +	</select>&nbsp;
  10.395 +		<input name="build" value="Build floppy set" type="submit" />
  10.396 +	</td>
  10.397 +	</tr>
  10.398 +</table>
  10.399 +</form>
  10.400 +<?php
  10.401 +		echo <<<EOT
  10.402 +<p>
  10.403 +Note 1: $msg of files (kernel and initramfs) in memory.
  10.404 +</p>
  10.405 +<p>
  10.406 +Note 2: the extra initramfs may be useful to add your own configuration files.
  10.407 +</p>
  10.408 +EOT;
  10.409 +	}
  10.410 +	else {
  10.411 +?>
  10.412 +<h4>Download image<?php if ($count >= 2) echo "s"; ?></h4>
  10.413 +<ul>
  10.414 +<?php
  10.415 +		for ($i = 1; $i <= $count; $i++) {
  10.416 +			echo '	<li><a href="'.$_SERVER["PHP_SELF"].
  10.417 +			     "?id=".basename($tmp_dir)."&amp;n=$i&amp;s=".
  10.418 +			     $_POST["size"].'">'.sprintf("fd%03d.img",$i).
  10.419 +			     show_size($_POST["size"])."</a></li>\n";
  10.420 +		}
  10.421 +		echo "</ul>\n".floor($padding/1024)."KB padding.\n";
  10.422 +?>
  10.423 +
  10.424 +<p>
  10.425 +You can write floppies with SliTaz <i>bootfloppybox</i>, 
  10.426 +<a href="http://en.wikipedia.org/wiki/RaWrite">Windows rawrite</a> or simply dd:
  10.427 +</p>
  10.428 +<pre># dd if=fd001.img of=/dev/fd0
  10.429 +</pre>
  10.430 +
  10.431 +<p>
  10.432 +Start your computer with <i>fd001.img</i>. It will show the kernel version string and
  10.433 +the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
  10.434 +</p>
  10.435 +
  10.436 +<?php
  10.437 +		if ($count >= 2) {
  10.438 +?>
  10.439 +<p>
  10.440 +The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
  10.441 +insert the next floppy, <i>fd002.img</i>. And so on.
  10.442 +</p>
  10.443 +
  10.444 +<p>
  10.445 +The floppy set detects disk swaps and can be used without a keyboard.
  10.446 +</p>
  10.447 +<?php
  10.448 +		}
  10.449 +?>
  10.450 +<p>
  10.451 +Good luck.
  10.452 +</p>
  10.453 +<?php
  10.454 +	}
  10.455 +?>
  10.456 +
  10.457 +<div class="nav_box">
  10.458 +<h4>How does it work ?</h4>
  10.459 +<p>
  10.460 +This tool updates the boot sector of your kernel with
  10.461 +<a href="http://hg.slitaz.org/wok/raw-file/b84ff32e3457/linux/stuff/linux-header-2.6.34.u">this patch</a>.
  10.462 +You may add a default cmdline and an initramfs. The cmdline can be edited at boot
  10.463 +time but the keyboard is not mandatory.
  10.464 +A <a href="bootloader"> standalone version</a> is available.
  10.465 +</p>
  10.466 +<p>
  10.467 +Each part (boot, setup, cmdline, kernel, initramfs) is aligned to 512 bytes.
  10.468 +The result is split to fit the floppy size.
  10.469 +The last floppy image is padded with zeros.
  10.470 +</p>
  10.471 +<p>
  10.472 +You can extract the <u>kernel</u>, <u>cmdline</u> and <u>rootfs</u> files with 
  10.473 +<a href="../floppies">this tool</a> from the floppy images.
  10.474 +</p>
  10.475 +</div>
  10.476 +
  10.477 +<!-- End of content with round corner -->
  10.478 +</div>
  10.479 +<div id="content_bottom">
  10.480 +<div class="bottom_left"></div>
  10.481 +<div class="bottom_right"></div>
  10.482 +</div>
  10.483 +
  10.484 +<!-- Start of footer and copy notice -->
  10.485 +<div id="copy">
  10.486 +<p>
  10.487 +Copyright &copy; <?php echo date('Y'); ?> <a href="http://www.slitaz.org/">SliTaz</a> -
  10.488 +<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
  10.489 +</p>
  10.490 +<!-- End of copy -->
  10.491 +</div>
  10.492 +
  10.493 +<!-- Bottom and logo's -->
  10.494 +<div id="bottom">
  10.495 +<p>
  10.496 +<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>
  10.497 +</p>
  10.498 +</div>
  10.499 +
  10.500 +</body>
  10.501 +</html>
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/mirror/floppies/css	Thu Apr 12 13:38:03 2012 +0200
    11.3 @@ -0,0 +1,1 @@
    11.4 +../css
    11.5 \ No newline at end of file
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/mirror/floppies/download.php	Thu Apr 12 13:38:03 2012 +0200
    12.3 @@ -0,0 +1,163 @@
    12.4 +<?php
    12.5 +
    12.6 +$fdsz=80*18*1024;
    12.7 +$cpiopad=512;
    12.8 +function download($name, $size, $cmd)
    12.9 +{
   12.10 +	header("Content-Type: application/octet-stream");
   12.11 +	header("Content-Length: ".$size);
   12.12 +	header("Content-Disposition: attachment; filename=".$name);
   12.13 +	echo `$cmd 2> /dev/null`;
   12.14 +	exit;
   12.15 +}
   12.16 +
   12.17 +function my_filesize($path)	// 2G+ file support
   12.18 +{
   12.19 +	return rtrim(shell_exec("stat -c %s '".$path."'"));
   12.20 +}
   12.21 +
   12.22 +if (isset($_GET['iso']))
   12.23 +	$_POST['iso'] = $_GET['iso'];
   12.24 +
   12.25 +if (isset($_GET['file']))
   12.26 +{
   12.27 +	$max = floor((my_filesize("../".$_GET["iso"]) + $fdsz - 1 + $cpiopad) / $fdsz);
   12.28 +	$cmd = "cd ../".dirname($_GET['iso'])."; ls ".
   12.29 +		basename($_GET['iso'],".iso").".*".
   12.30 +		" | cpio -o -H newc | cat - /dev/zero ";
   12.31 +	if ($_GET['file'] == "md5sum") {
   12.32 +		$cmd .= "| for i in \$(seq 1 $max); do dd bs=$fdsz ".
   12.33 +			"count=1 2> /dev/null | md5sum | ".
   12.34 +			"sed \"s/-\\\$/\$(printf 'fdiso%02d.img' \$i)/\"; done";
   12.35 +		download("md5sum", 46 * $max, $cmd);
   12.36 +	}
   12.37 +	else {
   12.38 +		$cmd .= "| dd bs=".$fdsz." count=1 skip=".($_GET['file'] - 1)." "; 
   12.39 +		download(sprintf("fdiso%02d.img",$_GET['file']), $fdsz, $cmd);
   12.40 +	}
   12.41 +}
   12.42 +?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   12.43 +	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   12.44 +<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
   12.45 +<head>
   12.46 +	<title>SliTaz Boot Floppies</title>
   12.47 +	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   12.48 +	<meta name="description" content="slitaz boot floppies" />
   12.49 +	<meta name="robots" content="index, nofollow" />
   12.50 +	<meta name="author" content="SliTaz Contributors" />
   12.51 +	<link rel="shortcut icon" href="../css/favicon.ico" />
   12.52 +	<link rel="stylesheet" type="text/css" href="../css/slitaz.css" />
   12.53 +	<style type="text/css">
   12.54 +#copy {
   12.55 +	text-align: center;
   12.56 +}
   12.57 +
   12.58 +#bottom {
   12.59 +	text-align: center;
   12.60 +}
   12.61 +
   12.62 +	</style>
   12.63 +</head>
   12.64 +<body bgcolor="#ffffff">
   12.65 +<!-- Header -->
   12.66 +<div id="header">
   12.67 +    <a name="top"></a>
   12.68 +	<div id="logo"></div>
   12.69 +	<div id="network">
   12.70 +		<a href="http://www.slitaz.org/">
   12.71 +		<img src="/css/pics/network.png" alt="network.png" /></a>
   12.72 +		<a href="floppy-grub4dos" title="Boot tools">Generic boot floppy</a> |
   12.73 +		<a href="http://tiny.slitaz.org/" title="SliTaz in one floppy !">Tiny SliTaz</a> |
   12.74 +		<a href="index-loram.html" title="Floppy image sets for low ram systems">Loram floppies</a> |
   12.75 +		<a href="builder/index.php" title="Build floppies with your own kernel and initramfs">Floppy set web builder</a> |
   12.76 +		<a href="builder/bootloader" title="Build your floppy sets without Internet">Shell builder</a>
   12.77 +	</div>
   12.78 +	<h1><a href="http://www.slitaz.org/">Boot floppies</a></h1>
   12.79 +</div>   
   12.80 +
   12.81 +<!-- Block -->
   12.82 +<div id="block">
   12.83 +	<!-- Navigation -->
   12.84 +	<div id="block_nav">
   12.85 +		<h4><img src="pics/floppy.png" alt="@" />Download 1.44Mb images for <?php $dir = explode('/',$_POST["iso"]); echo $dir[1]; ?></h4>
   12.86 +<table width="100%">
   12.87 +<?php
   12.88 +$max = floor((my_filesize("../".$_POST["iso"]) + $fdsz - 1 + $cpiopad) / $fdsz);
   12.89 +for ($i = 1; $i <= $max ; $i++) {
   12.90 +	if ($i % 4 == 1) echo "<tr>\n";
   12.91 +	echo "	<td><a href=\"download.php?file=$i&amp;iso=".
   12.92 +		urlencode($_POST["iso"])."\">fdiso".sprintf("%02d",$i);
   12.93 +	if ($max < 100) echo ".img";
   12.94 +	echo "</a></td>\n";
   12.95 +	if ($i % 4 == 0) echo "</tr>\n";
   12.96 +}
   12.97 +if ($max % 4 != 0) {
   12.98 +	while ($max % 4 != 3) { echo "<td></td>"; $max++; }
   12.99 +}
  12.100 +else echo "<tr>\n";
  12.101 +echo "	<td><a href=\"download.php?file=md5sum&amp;iso=".
  12.102 +	urlencode($_POST["iso"])."\">md5sum</a></td>\n</tr>";
  12.103 +?>
  12.104 +</table>
  12.105 +	</div>
  12.106 +	<!-- Information/image -->
  12.107 +	<div id="block_info">
  12.108 +		<h4>Available boot floppies</h4>
  12.109 +		<ul>
  12.110 +	<li><a href="index-4.0.html">SliTaz 4.0</a></li>
  12.111 +	<li><a href="index-loram-4.0.html">SliTaz loram 4.0</a></li>
  12.112 +	<li><a href="index-3.0.html">SliTaz 3.0</a></li>
  12.113 +	<li><a href="index-loram-3.0.html">SliTaz loram 3.0</a></li>
  12.114 +	<li><a href="index-2.0.html">SliTaz 2.0</a></li>
  12.115 +	<li><a href="index-1.0.html">SliTaz 1.0</a></li>
  12.116 +		</ul>
  12.117 +	</div>
  12.118 +</div>
  12.119 +
  12.120 +<!-- Content top. -->
  12.121 +<div id="content_top">
  12.122 +<div class="top_left"></div>
  12.123 +<div class="top_right"></div>
  12.124 +</div>
  12.125 +
  12.126 +<!-- Content -->
  12.127 +<div id="content">
  12.128 +
  12.129 +<h2>ISO image floppy set</h2>
  12.130 +
  12.131 +<p>
  12.132 +You can restore the <a href="../<?php echo $_POST['iso'].
  12.133 +'">'.basename($_POST['iso']); ?></a> ISO image on your hard disk using :
  12.134 +</p>
  12.135 +<pre>
  12.136 +# dd if=/dev/fd0 of=fdiso01.img
  12.137 +# dd if=/dev/fd0 of=fdiso02.img
  12.138 +# ...
  12.139 +# cat fdiso*.img | cpio -i
  12.140 +</pre>
  12.141 +
  12.142 +<!-- End of content with round corner -->
  12.143 +</div>
  12.144 +<div id="content_bottom">
  12.145 +<div class="bottom_left"></div>
  12.146 +<div class="bottom_right"></div>
  12.147 +</div>
  12.148 +
  12.149 +<!-- Start of footer and copy notice -->
  12.150 +<div id="copy">
  12.151 +<p>
  12.152 +Copyright &copy; <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a> -
  12.153 +<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
  12.154 +</p>
  12.155 +<!-- End of copy -->
  12.156 +</div>
  12.157 +
  12.158 +<!-- Bottom and logo's -->
  12.159 +<div id="bottom">
  12.160 +<p>
  12.161 +<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>
  12.162 +</p>
  12.163 +</div>
  12.164 +
  12.165 +</body>
  12.166 +</html>
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/mirror/floppies/floppies	Thu Apr 12 13:38:03 2012 +0200
    13.3 @@ -0,0 +1,31 @@
    13.4 +#!/bin/sh
    13.5 +
    13.6 +read32()
    13.7 +{
    13.8 +	dd if=kernel bs=1 skip=$((0x$1)) count=4 2> /dev/null | \
    13.9 +		hexdump -e '"" 1/4 "%d" "\n"'
   13.10 +}
   13.11 +
   13.12 +case "$1" in
   13.13 +extract)
   13.14 +	dd bs=512 count=2 > kernel 2> /dev/null
   13.15 +	setupsz=$(($(read32 1F1) & 255))
   13.16 +	dd bs=512 count=$(($setupsz - 1)) >> kernel 2> /dev/null
   13.17 +	[ $(read32 228) -ne 0 ] &&
   13.18 +	dd bs=512 count=1 2> /dev/null | strings > cmdline
   13.19 +	syssz=$(read32 1F4)
   13.20 +	syssz=$(( ($syssz + 31) / 32 ))
   13.21 +	dd bs=512 count=$syssz >> kernel 2> /dev/null
   13.22 +	ramsz=$(read32 21C)
   13.23 +	dd bs=512 count=$((($ramsz + 511) / 512)) of=rootfs 2> /dev/null
   13.24 +	dd bs=1 seek=$ramsz count=0 of=rootfs 2> /dev/null
   13.25 +	;;
   13.26 +*)	cat <<EOT
   13.27 +usage: 
   13.28 +# cat fd0*.img | $0 extract
   13.29 +	creates kernel, rootfs and cmdline files
   13.30 +# cat fd1*.img | unlzma | cpio -i
   13.31 +# cat fd2*.img | unlzma | cpio -i
   13.32 +...
   13.33 +EOT
   13.34 +esac
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/mirror/floppies/floppy-grub4dos	Thu Apr 12 13:38:03 2012 +0200
    14.3 @@ -0,0 +1,1 @@
    14.4 +../boot/floppy-grub4dos
    14.5 \ No newline at end of file
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/mirror/floppies/loram-3.0/description.html	Thu Apr 12 13:38:03 2012 +0200
    15.3 @@ -0,0 +1,29 @@
    15.4 +<p>
    15.5 +You can start with one of the 3 following flavors :
    15.6 +</p>
    15.7 +<ul>
    15.8 +  <li>
    15.9 +  <b>base</b> needs 22Mb of RAM and 6 floppies: <i>fd001.img</i> to <i>fd103.img</i>.<br />
   15.10 +  base provides the minimum slitaz distribution subset in text mode. 
   15.11 +  </li>
   15.12 +  <li>
   15.13 +  <b>justx</b> needs 64M of RAM and 13 floppies: <i>fd001.img</i> to <i>fd206.img</i>.<br />
   15.14 +  justx provides the minimum slitaz distribution subset with X11 support. 
   15.15 +  </li>
   15.16 +  <li>
   15.17 +  <b>core</b> needs 92M of RAM and 25 floppies: <i>fd001.img</i> to <i>fd311.img</i>.<br />
   15.18 +  core provides the default slitaz distribution. 
   15.19 +  </li>
   15.20 +</ul>
   15.21 +<p>
   15.22 +Start your computer with <i>fd001.img</i>. It will show the kernel version string and
   15.23 +the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
   15.24 +</p>
   15.25 +<p>
   15.26 +The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
   15.27 +insert the next floppy, <i>fd002.img</i>.
   15.28 +</p>
   15.29 +<p>
   15.30 +The loram bootstrap will then start and you will be prompted to insert extra floppies
   15.31 +for base, justx and core flavors. You can bypass this by using Q and Enter.
   15.32 +</p>
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/mirror/floppies/loram-3.0/title	Thu Apr 12 13:38:03 2012 +0200
    16.3 @@ -0,0 +1,1 @@
    16.4 +Released on 28 March 2010, needs 80b RAM
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/mirror/floppies/loram-4.0/description.html	Thu Apr 12 13:38:03 2012 +0200
    17.3 @@ -0,0 +1,33 @@
    17.4 +<p>
    17.5 +You can start with one of the 4 following flavors :
    17.6 +</p>
    17.7 +<ul>
    17.8 +  <li>
    17.9 +  <b>base</b> needs 38Mb of RAM and 6 floppies: <i>fd001.img</i> to <i>fd103.img</i>.<br />
   17.10 +  base provides the minimum slitaz distribution subset in text mode. 
   17.11 +  </li>
   17.12 +  <li>
   17.13 +  <b>justx</b> needs 68M of RAM and 13 floppies: <i>fd001.img</i> to <i>fd206.img</i>.<br />
   17.14 +  justx provides the minimum slitaz distribution subset with X11 support. 
   17.15 +  </li>
   17.16 +  <li>
   17.17 +  <b>gtkonly</b> needs 111M of RAM and 19 floppies: <i>fd001.img</i> to <i>fd304.img</i>.<br />
   17.18 +  gtkonly provides the minimum slitaz distribution subset with Gtk+ support. 
   17.19 +  </li>
   17.20 +  <li>
   17.21 +  <b>core</b> needs 128M of RAM and 29 floppies: <i>fd001.img</i> to <i>fd410.img</i>.<br />
   17.22 +  core provides the default slitaz distribution. 
   17.23 +  </li>
   17.24 +</ul>
   17.25 +<p>
   17.26 +Start your computer with <i>fd001.img</i>. It will show the kernel version string and
   17.27 +the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
   17.28 +</p>
   17.29 +<p>
   17.30 +The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
   17.31 +insert the next floppy, <i>fd002.img</i>.
   17.32 +</p>
   17.33 +<p>
   17.34 +The loram bootstrap will then start and you will be prompted to insert extra floppies
   17.35 +for base, justx and core flavors. You can bypass this by using Q and Enter.
   17.36 +</p>
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/mirror/floppies/loram-4.0/title	Thu Apr 12 13:38:03 2012 +0200
    18.3 @@ -0,0 +1,1 @@
    18.4 +Released on 10 April 2012, needs 128Mb RAM
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/mirror/floppies/menu.css	Thu Apr 12 13:38:03 2012 +0200
    19.3 @@ -0,0 +1,55 @@
    19.4 +
    19.5 +#menu {
    19.6 +	margin: 0;
    19.7 +	padding: 0;
    19.8 +}
    19.9 +#menu li {
   19.10 +	list-style: none;
   19.11 +	float: left;
   19.12 +	padding: 0;
   19.13 +}
   19.14 +#menu li a {
   19.15 +	display: block;
   19.16 +	padding: 4px 6px;
   19.17 +	background-color: inherit;
   19.18 +	text-decoration: none;
   19.19 +	cursor: default;
   19.20 +}
   19.21 +#menu li a:hover {
   19.22 +	color: #ffffff;
   19.23 +	background-color: #d66018;
   19.24 +	border-top-right-radius: 3px;
   19.25 +	border-top-left-radius: 3px;
   19.26 +}
   19.27 +#menu li ul {
   19.28 +	display: none; 
   19.29 +	width: 180px;
   19.30 +	background-color: #f1efeb;
   19.31 +	border: 1px solid #c1baad;
   19.32 +}
   19.33 +#menu li ul a {
   19.34 +	padding: 4px 6px;
   19.35 +}
   19.36 +#menu li:hover ul {
   19.37 +	display: block;
   19.38 +	position: absolute;
   19.39 +	margin: 0;
   19.40 +	padding: 0;
   19.41 +}
   19.42 +#menu li:hover li {
   19.43 +	float: none;
   19.44 +}
   19.45 +#menu li:hover li a {
   19.46 +	background-color: #f1efeb;
   19.47 +	color: #000;
   19.48 +}
   19.49 +#menu li li a {
   19.50 +	border: 1px solid #f1efeb; 
   19.51 +}
   19.52 +#menu li li a:hover {
   19.53 +	background-color: #d66018;
   19.54 +	color: #ffffff;
   19.55 +	border-radius: 2px;
   19.56 +	/* border: 1px solid #c1baad; */
   19.57 +}
   19.58 +
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/mirror/floppies/mkindex.sh	Thu Apr 12 13:38:03 2012 +0200
    20.3 @@ -0,0 +1,242 @@
    20.4 +#!/bin/sh
    20.5 +
    20.6 +list_version()
    20.7 +{
    20.8 +	ls ?.0 -dr | while read dir ; do
    20.9 +		echo $dir
   20.10 +		[ -d loram-$dir ] && echo loram-$dir
   20.11 +	done
   20.12 +}
   20.13 +
   20.14 +build_page()
   20.15 +{
   20.16 +	DIR=$1
   20.17 +	VERSION=${DIR#*-}
   20.18 +	case "$DIR" in
   20.19 +	loram*)	LORAM="&nbsp;loram" ;;
   20.20 +	*)	LORAM="";
   20.21 +	esac
   20.22 +	cat <<EOT
   20.23 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   20.24 +	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   20.25 +<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
   20.26 +<head>
   20.27 +	<title>SliTaz Boot Floppies</title>
   20.28 +	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   20.29 +	<meta name="description" content="slitaz$LORAM boot floppies $VERSION" />
   20.30 +	<meta name="robots" content="index, nofollow" />
   20.31 +	<meta name="author" content="SliTaz Contributors" />
   20.32 +	<link rel="shortcut icon" href="/static/favicon.ico" />
   20.33 +	<link rel="stylesheet" type="text/css" href="/static/slitaz.css" />
   20.34 +	<link rel="stylesheet" type="text/css" href="menu.css" />
   20.35 +	<style type="text/css">
   20.36 +table {
   20.37 +	background-color: inherit;
   20.38 +	margin: 10px 0px 0px 0px;
   20.39 +}
   20.40 +#copy {
   20.41 +	text-align: center;
   20.42 +}
   20.43 +
   20.44 +#bottom {
   20.45 +	text-align: center;
   20.46 +}
   20.47 +
   20.48 +	</style>
   20.49 +</head>
   20.50 +<body bgcolor="#ffffff">
   20.51 +<!-- Header -->
   20.52 +<div id="header">
   20.53 +    <a name="top"></a>
   20.54 +	<div id="logo"></div>
   20.55 +	<div id="network">
   20.56 +	    <ul id="menu">
   20.57 +	      <li>
   20.58 +		<a href="http://www.slitaz.org/">
   20.59 +		<img src="/static/home.png" alt="[ home ]" /></a>
   20.60 +	      </li>
   20.61 +	      <li>
   20.62 +		<a href="floppy-grub4dos" title="Boot tools">Generic boot floppy</a>
   20.63 +	      </li>
   20.64 +	      <li>
   20.65 +		<a href="http://tiny.slitaz.org/" title="SliTaz in one floppy and 8Mb RAM">Tiny SliTaz</a>
   20.66 +	        <ul>
   20.67 +$( list_version | while read dir; do
   20.68 +	echo "		  <li>"
   20.69 +	echo "		    <a href=\"index-$dir.html\" title=\"$(cat $dir/title)\">SliTaz ${dir/-/ }</a>"
   20.70 +	echo "		  </li>"
   20.71 +done )
   20.72 +		</ul>
   20.73 +	      </li>
   20.74 +	      <li>
   20.75 +		<a href="builder/index.php" title="Build floppies with your own kernel and initramfs">Floppy set builder</a>
   20.76 +	        <ul>
   20.77 +        	  <li>
   20.78 +		  <a href="builder/bootloader" title="Build your floppy sets without Internet">Standalone shell</a>
   20.79 +        	  </li>
   20.80 +	        </ul>
   20.81 +	      </li>
   20.82 +	    </ul>
   20.83 +	</div>
   20.84 +	<h1><a href="http://www.slitaz.org/">Boot&nbsp;floppies$LORAM&nbsp;$VERSION</a></h1>
   20.85 +</div>   
   20.86 +
   20.87 +<!-- Block -->
   20.88 +<div id="block">
   20.89 +	<!-- Navigation -->
   20.90 +	<div id="block_nav">
   20.91 +		<h4><img src="pics/floppy.png" alt="@" />1.44Mb SliTaz$LORAM $VERSION floppy images</h4>
   20.92 +<table width="100%">
   20.93 +$(
   20.94 +n=0
   20.95 +for f in $DIR/fd*img ; do
   20.96 +	[ $n -eq 0 ] && echo "<tr>"
   20.97 +	echo "	<td> <a href=\"$f\">$(basename $f)</a> </td>"
   20.98 +	n=$(( ($n+1)&3 ))
   20.99 +	[ $n -eq 0 ] && echo "</tr>"
  20.100 +done
  20.101 +[ $n -eq 0 ] && echo "<tr>"
  20.102 +while [ $n -ne 3 ]; do
  20.103 +	echo "	<td> </td>"
  20.104 +	n=$(($n+1))
  20.105 +done
  20.106 +)
  20.107 +	<td> <a href="$DIR/md5sum">md5sum</a> </td>
  20.108 +</tr>
  20.109 +</table>
  20.110 +	</div>
  20.111 +	<!-- Information/image -->
  20.112 +	<div id="block_info">
  20.113 +		<h4>Available boot floppies</h4>
  20.114 +		<ul>
  20.115 +$(
  20.116 +tail=""
  20.117 +list_version | while read dir; do
  20.118 +	case "$dir" in
  20.119 +	loram*)	echo -en "\n	<a href=\"index-$dir.html\">loram</a>" ;;
  20.120 +	*) 	echo -en "$tail	<li><a href=\"index-$dir.html\">SliTaz $dir</a>" ;;
  20.121 +	esac
  20.122 +	tail="</li>\n"
  20.123 +done
  20.124 +)</li>
  20.125 +		</ul>
  20.126 +	</div>
  20.127 +</div>
  20.128 +		
  20.129 +<!-- Content top. -->
  20.130 +<div id="content_top">
  20.131 +<div class="top_left"></div>
  20.132 +<div class="top_right"></div>
  20.133 +</div>
  20.134 +
  20.135 +<!-- Content -->
  20.136 +<div id="content">
  20.137 +
  20.138 +<h2>Floppy image set</h2>
  20.139 +
  20.140 +<p>
  20.141 +This floppy set will boot a Slitaz stable$LORAM version. You can write floppies
  20.142 +with SliTaz <i>bootfloppybox</i>, 
  20.143 +<a href="http://en.wikipedia.org/wiki/RaWrite">Windows rawrite</a> or simply dd:
  20.144 +</p><pre># dd if=fd001.img of=/dev/fd0
  20.145 +</pre>
  20.146 +
  20.147 +<p>
  20.148 +If you have a CD-ROM, an USB port and an USB key or a network card, but you
  20.149 +can't boot these devices directly, then try
  20.150 +<a href="http://mirror.slitaz.org/boot/floppy-grub4dos">floppy-grub4dos</a> 
  20.151 +first. This 1.44Mb floppy provides tiny programs to boot these devices without BIOS
  20.152 +support and some other tools.
  20.153 +</p>
  20.154 +$(cat $DIR/description.html)
  20.155 +<p>
  20.156 +Each floppy set detects disk swaps and can be used without a keyboard.
  20.157 +</p>
  20.158 +<p>
  20.159 +If you have an ext3 partition on your hard disk, the bootstrap can create the
  20.160 +installation script <u>slitaz/install.sh</u>. You will be able to install SliTaz
  20.161 +on your hard disk without extra media.
  20.162 +</p>
  20.163 +<p>
  20.164 +Good luck.
  20.165 +</p>
  20.166 +
  20.167 +<a name="fdiso"></a>
  20.168 +<h2>ISO image floppy set</h2>
  20.169 +
  20.170 +<form method="post" action="http://mirror.slitaz.org/floppies/download.php">
  20.171 +<p>
  20.172 +The floppy image set above includes an embedded installer and can install
  20.173 +SliTaz on your hard disk.
  20.174 +</p>
  20.175 +<p>
  20.176 +Anyway you may want these ISO images to
  20.177 +<a href="http://doc.slitaz.org/en:guides:uncommoninst#floppy-install">
  20.178 +install SliTaz</a>
  20.179 +<select name="iso">
  20.180 +$(
  20.181 +for file in $(ls ../iso/*/flavors/slitaz-*.iso ../iso/*/slitaz-*.iso | sort); do
  20.182 +	set -- $(echo $(basename $file .iso) | sed 's/-/ /g')
  20.183 +	echo "	<option value=\"${file#../}\">${3:-core} $4 $2</option>"
  20.184 +done
  20.185 +)
  20.186 +</select>
  20.187 +<input name="build" value="Build floppy set" type="submit" />
  20.188 +</p>
  20.189 +</form>
  20.190 +<p>
  20.191 +You can restore the ISO image on your hard disk using :
  20.192 +</p>
  20.193 +<pre>
  20.194 +# dd if=/dev/fd0 of=fdiso01.img
  20.195 +# dd if=/dev/fd0 of=fdiso02.img
  20.196 +# ...
  20.197 +# cat fdiso*.img | cpio -i
  20.198 +</pre>
  20.199 +
  20.200 +<h2>Images generation</h2>
  20.201 +<p>
  20.202 +All these floppy images are built with <b>bootfloppybox</b> from
  20.203 +a <i>core</i> or a <i>4in1</i> iso. The <i>loram</i> is preprocessed by
  20.204 +<b>tazlitobox</b> (Low RAM tab). These tools are available since 3.0.
  20.205 +You can extract the <u>kernel</u>, <u>cmdline</u> and <u>rootfs</u> files with 
  20.206 +<a href="floppies">this tool</a>
  20.207 +</p>
  20.208 +
  20.209 +<!-- End of content with round corner -->
  20.210 +</div>
  20.211 +<div id="content_bottom">
  20.212 +<div class="bottom_left"></div>
  20.213 +<div class="bottom_right"></div>
  20.214 +</div>
  20.215 +
  20.216 +<!-- Start of footer and copy notice -->
  20.217 +<div id="copy">
  20.218 +<p>
  20.219 +Copyright &copy; <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a> -
  20.220 +<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
  20.221 +</p>
  20.222 +<!-- End of copy -->
  20.223 +</div>
  20.224 +
  20.225 +<!-- Bottom and logo's -->
  20.226 +<div id="bottom">
  20.227 +<p>
  20.228 +<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>
  20.229 +</p>
  20.230 +</div>
  20.231 +
  20.232 +</body>
  20.233 +</html>
  20.234 +EOT
  20.235 +}
  20.236 +
  20.237 +if [ -n "$1" ]; then
  20.238 +	build_page $1
  20.239 +else
  20.240 +	list_version | while read dir ; do
  20.241 +		[ -s $dir/description.html ] || continue
  20.242 +		[ -s $dir/md5sum ] || continue
  20.243 +		build_page $dir > index-$dir.html
  20.244 +	done
  20.245 +fi
    21.1 Binary file mirror/floppies/pics/floppy.png has changed
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/mirror/floppies/static	Thu Apr 12 13:38:03 2012 +0200
    22.3 @@ -0,0 +1,1 @@
    22.4 +../static
    22.5 \ No newline at end of file