slitaz-dev-tools annotate mirror-tools/slitaz/mirror/floppies/mkindex.sh @ rev 307

mirror: build next floppies
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Dec 03 21:16:53 2017 +0100 (2017-12-03)
parents 4f6e22d6c85e
children
rev   line source
pascal@186 1 #!/bin/sh
pascal@186 2
pascal@302 3 list_version() {
pascal@307 4 ls rolling next ?.0 -dr | \
pascal@302 5 while read dir; do
pascal@186 6 echo $dir
pascal@186 7 [ -d loram-$dir ] && echo loram-$dir
pascal@302 8 [ -d web-$dir ] && echo web-$dir
pascal@302 9 [ -d mini-$dir ] && echo mini-$dir
pascal@186 10 done
pascal@186 11 }
pascal@186 12
pascal@302 13 build_page() {
pascal@186 14 DIR=$1
pascal@302 15 case "$DIR" in
pascal@302 16 *.*) stable=stable;;
pascal@302 17 *) stable=development;;
pascal@302 18 esac
pascal@186 19 VERSION=${DIR#*-}
pascal@186 20 case "$DIR" in
pascal@302 21 web*) TYPE="&nbsp;web" ;;
pascal@302 22 mini*) TYPE="&nbsp;mini" ;;
pascal@302 23 loram*) TYPE="&nbsp;loram" ;;
pascal@307 24 next*) TYPE="&nbsp;next" ;;
pascal@302 25 *) TYPE=""
pascal@186 26 esac
pascal@302 27 TITLE="Floppy image set"
pascal@302 28 [ -s $DIR/title ] && TITLE="$(cat $DIR/title)"
pascal@186 29 cat <<EOT
pascal@302 30 <!DOCTYPE html>
pascal@302 31 <html lang="en">
pascal@186 32 <head>
pascal@186 33 <title>SliTaz Boot Floppies</title>
pascal@302 34 <meta charset="UTF-8">
pascal@302 35 <meta name="description" content="slitaz$TYPE boot floppies $VERSION">
pascal@302 36 <meta name="robots" content="index, nofollow">
pascal@302 37 <meta name="author" content="SliTaz Contributors">
pascal@302 38 <meta name="viewport" content="width=device-width, initial-scale=1.0">
pascal@302 39 <link rel="shortcut icon" href="static/favicon.ico">
pascal@302 40 <link rel="stylesheet" href="static/slitaz.min.css">
pascal@302 41 <link rel="stylesheet" href="menu.css">
pascal@186 42 <style type="text/css">
pascal@302 43 .block_info { width: inherit; }
pascal@302 44 nav table { margin: 6px 0 0 0; }
pascal@302 45 nav table a { color: #215090; }
pascal@302 46 nav header::before { content: url(pics/floppy.png); vertical-align: middle; padding: 0 6px 0 0; }
pascal@302 47 pre, tt, code { font-size: 0.9rem; }
pascal@186 48 </style>
pascal@186 49 </head>
pascal@302 50 <body>
pascal@302 51
pascal@302 52 <script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script>
pascal@302 53
pascal@302 54 <header>
pascal@302 55 <h1 id="top"><a href="http://www.slitaz.org/">Boot floppies $DIR</a></h1>
pascal@302 56
pascal@302 57 <div class="network">
pascal@302 58 <a href="http://www.slitaz.org/" class="home"></a>
pascal@302 59 <ul id="menu">
pascal@302 60 <li>
pascal@302 61 <a href="floppy-grub4dos"
pascal@302 62 title="Boot tools"
pascal@302 63 >Generic boot floppy</a>
pascal@302 64 </li>
pascal@302 65 <li>
pascal@302 66 <a href="http://tiny.slitaz.org/"
pascal@302 67 title="SliTaz in one floppy and 4Mb RAM"
pascal@302 68 >Tiny SliTaz</a>
pascal@302 69 <ul>
pascal@302 70 $(
pascal@302 71 list_version | \
pascal@302 72 while read dir; do
pascal@302 73 case "$dir" in
pascal@307 74 *-*|next)
pascal@302 75 echo -n " <li>"
pascal@302 76 text="${dir/-/ }";;
pascal@302 77 *)
pascal@302 78 echo -n " $ul<li>"
pascal@302 79 text="SliTaz ${dir/-/ }";;
pascal@302 80 esac
pascal@302 81
pascal@302 82 echo " <a href=\"index-$dir.html\""
pascal@302 83 echo " title=\"$(cat $dir/title)\""
pascal@302 84 echo " >$text</a>"
pascal@302 85
pascal@302 86 case "$dir" in
pascal@307 87 *-*|next)
pascal@302 88 echo " </li>";;
pascal@302 89 *)
pascal@302 90 echo " <ul>"
pascal@302 91 ul=" </ul>
pascal@302 92 </li>";;
pascal@302 93 esac
pascal@186 94 done )
pascal@302 95 </ul>
pascal@302 96 </li>
pascal@302 97 </ul>
pascal@302 98 </li>
pascal@302 99 <li>
pascal@302 100 <a href="builder/index.php"
pascal@302 101 title="Build floppies with your own kernel and initramfs"
pascal@302 102 >Floppy set builder</a>
pascal@302 103 <ul>
pascal@302 104 <li>
pascal@302 105 <a href="builder/bootloader"
pascal@302 106 title="Build your floppy sets without Internet"
pascal@302 107 >Standalone shell</a>
pascal@302 108 </li>
pascal@302 109 </ul>
pascal@302 110 </li>
pascal@186 111 </ul>
pascal@186 112 </div>
pascal@302 113 </header>
pascal@186 114
pascal@186 115 <!-- Block -->
pascal@302 116 <div class="block"><div>
pascal@302 117
pascal@186 118 <!-- Information/image -->
pascal@302 119 <div class="block_info">
pascal@302 120 <header>Available boot floppies</header>
pascal@186 121 <ul>
pascal@186 122 $(
pascal@186 123 tail=""
pascal@302 124 list_version | \
pascal@302 125 while read dir; do
pascal@186 126 case "$dir" in
pascal@305 127 web*) echo -en "\n &middot; <a href=\"index-$dir.html\">web</a>" ;;
pascal@305 128 mini*) echo -en "\n &middot; <a href=\"index-$dir.html\">mini</a>" ;;
pascal@305 129 loram*) echo -en "\n &middot; <a href=\"index-$dir.html\">loram</a>" ;;
pascal@307 130 next*) echo -en "\n &middot; <a href=\"index-$dir.html\">next</a>" ;;
pascal@302 131 *) echo -en "$tail <li><a href=\"index-$dir.html\">SliTaz $dir</a>" ;;
pascal@186 132 esac
pascal@186 133 tail="</li>\n"
pascal@186 134 done
pascal@186 135 )</li>
pascal@186 136 </ul>
pascal@186 137 </div>
pascal@302 138
pascal@302 139 <!-- Navigation -->
pascal@302 140 <nav>
pascal@302 141 <header>1.44MB SliTaz$TYPE $VERSION floppy images</header>
pascal@302 142 <div class="large"><table>
pascal@302 143 $(
pascal@302 144 n=0
pascal@302 145 for f in $DIR/fd*img ; do
pascal@302 146 [ $n -eq 0 ] && echo " <tr>"
pascal@302 147 echo " <td><a href=\"$f\">$(basename $f .img)</a></td>"
pascal@302 148 n=$(( ($n+1)%6 ))
pascal@302 149 [ $n -eq 0 ] && echo " </tr>"
pascal@302 150 done
pascal@302 151 [ $n -eq 0 ] && echo " <tr>"
pascal@302 152 while [ $n -ne 5 ]; do
pascal@302 153 echo " <td> </td>"
pascal@302 154 n=$(($n+1))
pascal@302 155 done
pascal@302 156 )
pascal@302 157 <td><a href="$DIR/md5sum">md5</a></td>
pascal@302 158 </tr>
pascal@302 159 </table></div>
pascal@302 160 </nav>
pascal@302 161 </div></div>
pascal@302 162
pascal@186 163
pascal@186 164 <!-- Content -->
pascal@302 165 <main>
pascal@186 166
pascal@302 167 <h2>$TITLE</h2>
pascal@186 168
pascal@302 169 <p>This floppy set will boot a SliTaz $stable$TYPE version. You can write floppies
pascal@302 170 with SliTaz <code>bootfloppybox</code>, <a
pascal@302 171 href="http://en.wikipedia.org/wiki/RaWrite" target="_blank">Windows rawrite</a>
pascal@302 172 or simply <code>dd</code>:</p>
pascal@186 173
pascal@302 174 <pre># dd if=fd001.img of=/dev/fd0</pre>
pascal@302 175
paul@304 176 <p>If you have a CD-ROM, a USB port and a USB key or a network card, but you
pascal@302 177 can't boot these devices directly, then try <a
pascal@302 178 href="http://mirror.slitaz.org/boot/floppy-grub4dos" target="_blank"
pascal@302 179 >floppy-grub4dos</a> first. This 1.44Mb floppy provides tiny programs to boot
pascal@302 180 these devices without BIOS support and some other tools.</p>
pascal@302 181
pascal@186 182 $(cat $DIR/description.html)
pascal@186 183
pascal@302 184 <p>Each floppy set detects disk swaps and can be used without a keyboard.</p>
pascal@186 185
pascal@302 186 <p>Good luck.</p>
pascal@302 187
pascal@302 188
pascal@302 189 <h2 id="fdiso">ISO image floppy set</h2>
pascal@302 190
pascal@302 191 <form method="get" action="http://mirror1.slitaz.org/floppies/download.php">
pascal@302 192
pascal@302 193 <p>The floppy image set above includes an embedded installer and can install
pascal@302 194 SliTaz on your hard disk.</p>
pascal@302 195
pascal@302 196 <p>Anyhow you may want these ISO images to <a
pascal@302 197 href="http://doc.slitaz.org/en:guides:uncommoninst#floppy-install">install
pascal@302 198 SliTaz</a>
pascal@302 199
pascal@302 200 <select name="iso">
pascal@186 201 $(
pascal@186 202 for file in $(ls ../iso/*/flavors/slitaz-*.iso ../iso/*/slitaz-*.iso | sort); do
pascal@186 203 set -- $(echo $(basename $file .iso) | sed 's/-/ /g')
pascal@302 204 echo " <option value=\"${file#../}\">${3:-core} $4 $2</option>"
pascal@186 205 done
pascal@186 206 )
pascal@302 207 </select>
pascal@302 208
pascal@302 209 <input name="build" value="Build floppy set" type="submit"/>
pascal@302 210 </p>
pascal@186 211 </form>
pascal@302 212
pascal@302 213 <p>You can restore the ISO image on your hard disk using:</p>
pascal@302 214
pascal@186 215 <pre>
pascal@186 216 # dd if=/dev/fd0 of=fdiso01.img
pascal@186 217 # dd if=/dev/fd0 of=fdiso02.img
pascal@186 218 # ...
pascal@186 219 # cat fdiso*.img | cpio -i
pascal@186 220 </pre>
pascal@186 221
pascal@302 222
pascal@186 223 <h2>Images generation</h2>
pascal@186 224
pascal@302 225 <ul>
pascal@302 226 <li>All these floppy images are built from a <i>core</i> or a <i>Nin1</i>
pascal@302 227 ISO.</li>
pascal@302 228 <li>The <i>loram</i> is preprocessed by <code>tazlitobox</code> (Low RAM
pascal@302 229 tab) or <code>tazlito build-loram</code>.</li>
pascal@302 230 <li>The versions 1.0 and 2.0 are built with <code>bootfloppybox</code>
pascal@302 231 available since 3.0.</li>
pascal@302 232 <li>The newer versions are built with <code>taziso floppyset</code>
pascal@302 233 available since 5.0.</li>
pascal@302 234 <li>You can extract the <u>kernel</u>, <u>cmdline</u> and <u>rootfs*</u>
pascal@302 235 files with <a href="floppies">this tool</a>.</li>
pascal@302 236 <li>You can change the floppy format (to 2.88M, 1.2M ...)
pascal@302 237 with <a href="resizefdset.sh">this tool</a>.</li>
pascal@302 238 </ul>
pascal@186 239
pascal@302 240 <!-- End of content -->
pascal@302 241 </main>
pascal@186 242
pascal@302 243
pascal@302 244 <script>
pascal@302 245 function QRCodePNG(str, obj) {
pascal@302 246 try {
pascal@302 247 obj.height = obj.width += 300;
pascal@302 248 return QRCode.generatePNG(str, {ecclevel: 'H'});
pascal@302 249 }
pascal@302 250 catch (any) {
pascal@302 251 var element = document.createElement("script");
pascal@302 252 element.src = "/static/qrcode.min.js";
pascal@302 253 element.type = "text/javascript";
pascal@302 254 element.onload = function() {
pascal@302 255 obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
pascal@302 256 };
pascal@302 257 document.body.appendChild(element);
pascal@302 258 }
pascal@302 259 }
pascal@302 260 </script>
pascal@302 261
pascal@302 262 <footer>
pascal@302 263 <div>
pascal@305 264 Copyright &copy; <span class="year"></span>
pascal@302 265 <a href="http://www.slitaz.org/">SliTaz</a>
pascal@302 266 </div>
pascal@302 267 <div>
pascal@302 268 Network:
pascal@305 269 <a href="http://scn.slitaz.org/">Community</a> &middot;
pascal@305 270 <a href="http://doc.slitaz.org/">Doc</a> &middot;
pascal@305 271 <a href="http://forum.slitaz.org/">Forum</a> &middot;
pascal@305 272 <a href="http://pkgs.slitaz.org/">Packages</a> &middot;
pascal@305 273 <a href="http://bugs.slitaz.org">Bugs</a> &middot;
pascal@302 274 <a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
pascal@302 275 </div>
pascal@302 276 <div>
pascal@302 277 SliTaz @
pascal@305 278 <a href="http://twitter.com/slitaz">Twitter</a> &middot;
pascal@305 279 <a href="http://www.facebook.com/slitaz">Facebook</a> &middot;
pascal@305 280 <a href="http://distrowatch.com/slitaz">Distrowatch</a> &middot;
pascal@305 281 <a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> &middot;
pascal@302 282 <a href="http://flattr.com/profile/slitaz">Flattr</a>
pascal@302 283 </div>
pascal@302 284 <img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
pascal@302 285 onclick="this.src = QRCodePNG(location.href, this)"/>
pascal@302 286 </footer>
pascal@186 287
pascal@186 288 </body>
pascal@186 289 </html>
pascal@186 290 EOT
pascal@186 291 }
pascal@186 292
pascal@186 293 if [ -n "$1" ]; then
pascal@186 294 build_page $1
pascal@186 295 else
pascal@186 296 list_version | while read dir ; do
pascal@186 297 [ -s $dir/description.html ] || continue
pascal@186 298 [ -s $dir/md5sum ] || continue
pascal@186 299 build_page $dir > index-$dir.html
pascal@186 300 done
pascal@186 301 fi