slitaz-forge annotate mirror/floppies/mkindex.sh @ rev 568

chub, doc, forum, floppies, mirror-info, pkgs, pro, tank: on demand qrcode script load
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Jun 22 18:37:40 2014 +0200 (2014-06-22)
parents 975c7646282c
children ba908ef4f9ff
rev   line source
pascal@265 1 #!/bin/sh
pascal@265 2
pascal@265 3 list_version()
pascal@265 4 {
pascal@265 5 ls ?.0 -dr | while read dir ; do
pascal@265 6 echo $dir
pascal@265 7 [ -d loram-$dir ] && echo loram-$dir
pascal@375 8 [ -d bios-$dir ] && echo bios-$dir
pascal@371 9 [ -d mini-$dir ] && echo mini-$dir
pascal@265 10 done
pascal@265 11 }
pascal@265 12
pascal@265 13 build_page()
pascal@265 14 {
pascal@265 15 DIR=$1
pascal@265 16 VERSION=${DIR#*-}
pascal@265 17 case "$DIR" in
pascal@375 18 bios*) TYPE="&nbsp;bios" ;;
pascal@371 19 mini*) TYPE="&nbsp;mini" ;;
pascal@371 20 loram*) TYPE="&nbsp;loram" ;;
pascal@371 21 *) TYPE=""
pascal@265 22 esac
pascal@375 23 TITLE="Floppy image set"
pascal@375 24 [ -s $DIR/title ] && TITLE="$(cat $DIR/title)"
pascal@265 25 cat <<EOT
pascal@265 26 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
pascal@265 27 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
pascal@265 28 <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
pascal@265 29 <head>
pascal@265 30 <title>SliTaz Boot Floppies</title>
pascal@265 31 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
pascal@371 32 <meta name="description" content="slitaz$TYPE boot floppies $VERSION" />
pascal@265 33 <meta name="robots" content="index, nofollow" />
pascal@265 34 <meta name="author" content="SliTaz Contributors" />
pascal@280 35 <link rel="shortcut icon" href="static/favicon.ico" />
pascal@280 36 <link rel="stylesheet" type="text/css" href="static/slitaz.css" />
pascal@265 37 <link rel="stylesheet" type="text/css" href="menu.css" />
pascal@265 38 <style type="text/css">
pascal@265 39 table {
pascal@265 40 background-color: inherit;
pascal@265 41 margin: 10px 0px 0px 0px;
pascal@265 42 }
pascal@265 43 #copy {
pascal@265 44 text-align: center;
pascal@265 45 }
pascal@265 46
pascal@265 47 #bottom {
pascal@265 48 text-align: center;
pascal@265 49 }
pascal@265 50
pascal@265 51 </style>
pascal@265 52 </head>
pascal@265 53 <body bgcolor="#ffffff">
pascal@265 54 <!-- Header -->
pascal@265 55 <div id="header">
pascal@265 56 <a name="top"></a>
pascal@265 57 <div id="logo"></div>
pascal@265 58 <div id="network">
pascal@265 59 <ul id="menu">
pascal@265 60 <li>
pascal@265 61 <a href="http://www.slitaz.org/">
pascal@280 62 <img src="static/home.png" alt="[ home ]" /></a>
pascal@265 63 </li>
pascal@265 64 <li>
pascal@265 65 <a href="floppy-grub4dos" title="Boot tools">Generic boot floppy</a>
pascal@265 66 </li>
pascal@265 67 <li>
pascal@265 68 <a href="http://tiny.slitaz.org/" title="SliTaz in one floppy and 8Mb RAM">Tiny SliTaz</a>
pascal@265 69 <ul>
pascal@265 70 $( list_version | while read dir; do
pascal@375 71 case "$dir" in
pascal@375 72 *-*) echo " <li>"
pascal@375 73 text="${dir/-/ }";;
pascal@375 74 *) echo " $ul<li>"
pascal@375 75 text="SliTaz ${dir/-/ }";;
pascal@375 76 esac
pascal@375 77 echo " <a href=\"index-$dir.html\" title=\"$(cat $dir/title)\">$text</a>"
pascal@375 78 case "$dir" in
pascal@375 79 *-*) echo " </li>";;
pascal@375 80 *) echo " <ul>"
pascal@375 81 ul=" </ul></li>";;
pascal@375 82 esac
pascal@265 83 done )
pascal@375 84 </ul>
pascal@375 85 </li>
pascal@265 86 </ul>
pascal@265 87 </li>
pascal@265 88 <li>
pascal@265 89 <a href="builder/index.php" title="Build floppies with your own kernel and initramfs">Floppy set builder</a>
pascal@265 90 <ul>
pascal@265 91 <li>
pascal@265 92 <a href="builder/bootloader" title="Build your floppy sets without Internet">Standalone shell</a>
pascal@265 93 </li>
pascal@265 94 </ul>
pascal@265 95 </li>
pascal@265 96 </ul>
pascal@265 97 </div>
pascal@371 98 <h1><a href="http://www.slitaz.org/">Boot&nbsp;floppies$TYPE&nbsp;$VERSION</a></h1>
pascal@265 99 </div>
pascal@265 100
pascal@265 101 <!-- Block -->
pascal@265 102 <div id="block">
pascal@265 103 <!-- Navigation -->
pascal@366 104 <div id="block_nav" style="height: 126px;">
pascal@371 105 <h4><img src="pics/floppy.png" alt="@" />1.44Mb SliTaz$TYPE $VERSION floppy images</h4>
pascal@265 106 <table width="100%">
pascal@265 107 $(
pascal@265 108 n=0
pascal@265 109 for f in $DIR/fd*img ; do
pascal@265 110 [ $n -eq 0 ] && echo "<tr>"
pascal@366 111 echo " <td> <a href=\"$f\">$(basename $f .img)</a> </td>"
pascal@366 112 n=$(( ($n+1)%6 ))
pascal@265 113 [ $n -eq 0 ] && echo "</tr>"
pascal@265 114 done
pascal@265 115 [ $n -eq 0 ] && echo "<tr>"
pascal@366 116 while [ $n -ne 5 ]; do
pascal@265 117 echo " <td> </td>"
pascal@265 118 n=$(($n+1))
pascal@265 119 done
pascal@265 120 )
pascal@366 121 <td> <a href="$DIR/md5sum">md5</a> </td>
pascal@265 122 </tr>
pascal@265 123 </table>
pascal@265 124 </div>
pascal@265 125 <!-- Information/image -->
pascal@265 126 <div id="block_info">
pascal@265 127 <h4>Available boot floppies</h4>
pascal@265 128 <ul>
pascal@265 129 $(
pascal@265 130 tail=""
pascal@265 131 list_version | while read dir; do
pascal@265 132 case "$dir" in
pascal@375 133 bios*) echo -en "\n - <a href=\"index-$dir.html\">bios</a>" ;;
pascal@371 134 mini*) echo -en "\n - <a href=\"index-$dir.html\">mini</a>" ;;
pascal@366 135 loram*) echo -en "\n - <a href=\"index-$dir.html\">loram</a>" ;;
pascal@265 136 *) echo -en "$tail <li><a href=\"index-$dir.html\">SliTaz $dir</a>" ;;
pascal@265 137 esac
pascal@265 138 tail="</li>\n"
pascal@265 139 done
pascal@265 140 )</li>
pascal@265 141 </ul>
pascal@265 142 </div>
pascal@265 143 </div>
pascal@265 144
pascal@265 145 <!-- Content top. -->
pascal@265 146 <div id="content_top">
pascal@265 147 <div class="top_left"></div>
pascal@265 148 <div class="top_right"></div>
pascal@265 149 </div>
pascal@265 150
pascal@265 151 <!-- Content -->
pascal@265 152 <div id="content">
pascal@265 153
pascal@375 154 <h2>$TITLE</h2>
pascal@265 155
pascal@265 156 <p>
pascal@371 157 This floppy set will boot a Slitaz stable$TYPE version. You can write floppies
pascal@265 158 with SliTaz <i>bootfloppybox</i>,
pascal@265 159 <a href="http://en.wikipedia.org/wiki/RaWrite">Windows rawrite</a> or simply dd:
pascal@265 160 </p><pre># dd if=fd001.img of=/dev/fd0
pascal@265 161 </pre>
pascal@265 162
pascal@265 163 <p>
pascal@265 164 If you have a CD-ROM, an USB port and an USB key or a network card, but you
pascal@265 165 can't boot these devices directly, then try
pascal@265 166 <a href="http://mirror.slitaz.org/boot/floppy-grub4dos">floppy-grub4dos</a>
pascal@265 167 first. This 1.44Mb floppy provides tiny programs to boot these devices without BIOS
pascal@265 168 support and some other tools.
pascal@265 169 </p>
pascal@265 170 $(cat $DIR/description.html)
pascal@265 171 <p>
pascal@265 172 Each floppy set detects disk swaps and can be used without a keyboard.
pascal@265 173 </p>
pascal@371 174 EOT
pascal@371 175 [ -s $DIR/fd100.img ] && cat <<EOT
pascal@265 176 <p>
pascal@265 177 If you have an ext3 partition on your hard disk, the bootstrap can create the
pascal@265 178 installation script <u>slitaz/install.sh</u>. You will be able to install SliTaz
pascal@265 179 on your hard disk without extra media.
pascal@265 180 </p>
pascal@371 181 EOT
pascal@371 182 cat <<EOT
pascal@265 183 <p>
pascal@265 184 Good luck.
pascal@265 185 </p>
pascal@265 186
pascal@265 187 <a name="fdiso"></a>
pascal@265 188 <h2>ISO image floppy set</h2>
pascal@265 189
pascal@371 190 <form method="get" action="http://mirror.slitaz.org/floppies/download.php">
pascal@265 191 <p>
pascal@265 192 The floppy image set above includes an embedded installer and can install
pascal@265 193 SliTaz on your hard disk.
pascal@265 194 </p>
pascal@265 195 <p>
pascal@265 196 Anyway you may want these ISO images to
pascal@265 197 <a href="http://doc.slitaz.org/en:guides:uncommoninst#floppy-install">
pascal@265 198 install SliTaz</a>
pascal@265 199 <select name="iso">
pascal@265 200 $(
pascal@265 201 for file in $(ls ../iso/*/flavors/slitaz-*.iso ../iso/*/slitaz-*.iso | sort); do
pascal@265 202 set -- $(echo $(basename $file .iso) | sed 's/-/ /g')
pascal@265 203 echo " <option value=\"${file#../}\">${3:-core} $4 $2</option>"
pascal@265 204 done
pascal@265 205 )
pascal@265 206 </select>
pascal@265 207 <input name="build" value="Build floppy set" type="submit" />
pascal@265 208 </p>
pascal@265 209 </form>
pascal@265 210 <p>
pascal@265 211 You can restore the ISO image on your hard disk using :
pascal@265 212 </p>
pascal@265 213 <pre>
pascal@265 214 # dd if=/dev/fd0 of=fdiso01.img
pascal@265 215 # dd if=/dev/fd0 of=fdiso02.img
pascal@265 216 # ...
pascal@265 217 # cat fdiso*.img | cpio -i
pascal@265 218 </pre>
pascal@265 219
pascal@265 220 <h2>Images generation</h2>
pascal@265 221 <p>
pascal@265 222 All these floppy images are built with <b>bootfloppybox</b> from
pascal@265 223 a <i>core</i> or a <i>4in1</i> iso. The <i>loram</i> is preprocessed by
pascal@265 224 <b>tazlitobox</b> (Low RAM tab). These tools are available since 3.0.
pascal@265 225 You can extract the <u>kernel</u>, <u>cmdline</u> and <u>rootfs</u> files with
pascal@265 226 <a href="floppies">this tool</a>
pascal@265 227 </p>
pascal@265 228
pascal@265 229 <!-- End of content with round corner -->
pascal@265 230 </div>
pascal@265 231 <div id="content_bottom">
pascal@265 232 <div class="bottom_left"></div>
pascal@265 233 <div class="bottom_right"></div>
pascal@265 234 </div>
pascal@265 235
pascal@265 236 <!-- Start of footer and copy notice -->
pascal@265 237 <div id="copy">
pascal@265 238 <p>
pascal@265 239 Copyright &copy; <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a> -
pascal@265 240 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
pascal@265 241 </p>
pascal@265 242 <!-- End of copy -->
pascal@265 243 </div>
pascal@265 244
pascal@265 245 <!-- Bottom and logo's -->
pascal@265 246 <div id="bottom">
pascal@265 247 <p>
pascal@280 248 <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>
pascal@265 249 </p>
pascal@366 250 <p>
pascal@568 251 <script type="text/javascript">
pascal@568 252 function QRCodePNG(str, obj) {
pascal@568 253 try {
pascal@568 254 return QRCode.generatePNG(str, {ecclevel: 'H'});
pascal@568 255 }
pascal@568 256 catch (any) {
pascal@568 257 var element = document.createElement("script");
pascal@568 258 element.src = "static/qrcode.js";
pascal@568 259 element.type ="text/javascript";
pascal@568 260 element.onload = function() {
pascal@568 261 obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
pascal@568 262 };
pascal@568 263 document.body.appendChild(element);
pascal@568 264 }
pascal@568 265 }
pascal@568 266 </script>
pascal@568 267 <img src="static/qr.png" alt="#"
pascal@366 268 onmouseover= "this.title = location.href"
pascal@568 269 onclick="this.src = QRCodePNG(location.href, this)" />
pascal@366 270 </p>
pascal@265 271 </div>
pascal@265 272
pascal@265 273 </body>
pascal@265 274 </html>
pascal@265 275 EOT
pascal@265 276 }
pascal@265 277
pascal@265 278 if [ -n "$1" ]; then
pascal@265 279 build_page $1
pascal@265 280 else
pascal@265 281 list_version | while read dir ; do
pascal@265 282 [ -s $dir/description.html ] || continue
pascal@265 283 [ -s $dir/md5sum ] || continue
pascal@265 284 build_page $dir > index-$dir.html
pascal@265 285 done
pascal@265 286 fi