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