rev |
line source |
slaxemulator@10
|
1 <?php
|
slaxemulator@10
|
2 if (false) { // no php support on this mirror !
|
slaxemulator@10
|
3 ?>
|
slaxemulator@10
|
4 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
slaxemulator@10
|
5 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
slaxemulator@10
|
6 <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
slaxemulator@10
|
7 <head>
|
slaxemulator@10
|
8 <title>SliTaz Boot Floppies redirection</title>
|
slaxemulator@10
|
9 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
|
slaxemulator@10
|
10 <meta name="description" content="slitaz boot floppies builder redirection" />
|
slaxemulator@10
|
11 <meta name="robots" content="index, nofollow" />
|
slaxemulator@10
|
12 <meta name="author" content="SliTaz Contributors" />
|
slaxemulator@10
|
13 <meta http-equiv="Refresh" content="0;url=http://mirror.slitaz.org/floppies/builder/index.php">
|
slaxemulator@10
|
14 </head>
|
slaxemulator@10
|
15 <?php
|
slaxemulator@10
|
16 }
|
slaxemulator@10
|
17 ini_set('upload_max_filesize','16M');
|
slaxemulator@10
|
18 ini_set('post_max_size','16M');
|
slaxemulator@10
|
19 if (isset($_GET['id']) && is_file("/tmp/".$_GET['id']."/fd")) {
|
slaxemulator@10
|
20
|
slaxemulator@10
|
21 // Download a floppy image
|
slaxemulator@10
|
22
|
slaxemulator@10
|
23 $size = $_GET['s'];
|
slaxemulator@10
|
24 if ($size == 0)
|
slaxemulator@10
|
25 $size = filesize("/tmp/".$_GET['id']."/fd");
|
slaxemulator@10
|
26 header("Content-Type: application/octet-stream");
|
slaxemulator@10
|
27 header("Content-Length: ".$size);
|
slaxemulator@10
|
28 header("Content-Disposition: attachment; filename=".
|
slaxemulator@10
|
29 sprintf("fd%03d.img",$_GET['n']));
|
slaxemulator@10
|
30 $cmd = "cat /tmp/".$_GET['id']."/fd";
|
slaxemulator@10
|
31 if ($_GET['s'] != 0) {
|
slaxemulator@10
|
32 $cmd .= " /dev/zero | dd count=1 bs=".$_GET['s'];
|
slaxemulator@10
|
33 if ($_GET['n'] > 1)
|
slaxemulator@10
|
34 $cmd .= " skip=".($_GET['n']-1);
|
slaxemulator@10
|
35 }
|
slaxemulator@10
|
36 echo `$cmd 2> /dev/null`;
|
slaxemulator@10
|
37 exit;
|
slaxemulator@10
|
38 }
|
slaxemulator@10
|
39 ?>
|
slaxemulator@10
|
40 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
slaxemulator@10
|
41 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
slaxemulator@10
|
42 <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
slaxemulator@10
|
43 <head>
|
slaxemulator@10
|
44 <title>SliTaz Boot Floppies</title>
|
slaxemulator@10
|
45 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
|
slaxemulator@10
|
46 <meta name="description" content="slitaz boot floppies builder" />
|
slaxemulator@10
|
47 <meta name="robots" content="index, nofollow" />
|
slaxemulator@10
|
48 <meta name="author" content="SliTaz Contributors" />
|
slaxemulator@10
|
49 <link rel="shortcut icon" href="../../css/favicon.ico" />
|
slaxemulator@10
|
50 <link rel="stylesheet" type="text/css" href="../../css/slitaz.css" />
|
pascal@94
|
51 <style type="text/css">
|
pascal@94
|
52
|
slaxemulator@10
|
53 input[type=text] {
|
slaxemulator@10
|
54 width: inherit;
|
slaxemulator@10
|
55 }
|
pascal@94
|
56
|
pascal@94
|
57 #content {
|
pascal@94
|
58 margin: 6px 280px 0px 0px;
|
pascal@94
|
59 padding: 0px 3% 20px 4%;
|
pascal@94
|
60 }
|
pascal@94
|
61
|
pascal@94
|
62 #nav {
|
pascal@94
|
63 right: 4%;
|
pascal@94
|
64 }
|
pascal@94
|
65
|
pascal@94
|
66 #copy {
|
pascal@94
|
67 text-align: center;
|
pascal@94
|
68 }
|
pascal@94
|
69
|
pascal@94
|
70 #bottom {
|
pascal@94
|
71 text-align: center;
|
pascal@94
|
72 }
|
pascal@94
|
73
|
slaxemulator@10
|
74 </style>
|
slaxemulator@10
|
75 </head>
|
slaxemulator@10
|
76 <body bgcolor="#ffffff">
|
slaxemulator@10
|
77 <!-- Header -->
|
slaxemulator@10
|
78 <div id="header">
|
slaxemulator@10
|
79 <a name="top"></a>
|
pascal@94
|
80 <div id="logo"></div>
|
pascal@94
|
81 <div id="network">
|
pascal@94
|
82 <a href="http://www.slitaz.org/">
|
pascal@94
|
83 <img src="/css/pics/network.png" alt="network.png" /></a>
|
pascal@94
|
84 <a href="bootloader" title="Build your floppy sets without Internet">Shell builder</a> |
|
pascal@94
|
85 <a href="../../boot/floppy-grub4dos" title="Boot tools">Generic boot floppy</a>
|
pascal@94
|
86 </div>
|
pascal@94
|
87 <h1><a href="http://www.slitaz.org/">Boot floppies builder</a></h1>
|
slaxemulator@10
|
88 </div>
|
slaxemulator@10
|
89
|
slaxemulator@10
|
90 <!-- Navigation menu -->
|
slaxemulator@10
|
91 <div id="nav">
|
slaxemulator@10
|
92
|
slaxemulator@10
|
93 <?php
|
slaxemulator@10
|
94
|
slaxemulator@10
|
95 // Cleanup old sessions
|
slaxemulator@10
|
96
|
slaxemulator@10
|
97 $dir = opendir("/tmp");
|
slaxemulator@10
|
98 while (($name = readdir($dir)) !== false) {
|
slaxemulator@10
|
99 if (preg_match('/^fdbuild/',$name) == 0) continue;
|
slaxemulator@10
|
100 if (filemtime("/tmp/$name") > strtotime("-1 hour")) continue;
|
slaxemulator@10
|
101 system("rm -rf /tmp/$name");
|
slaxemulator@10
|
102 }
|
slaxemulator@10
|
103 closedir($dir);
|
slaxemulator@10
|
104
|
slaxemulator@10
|
105 function get_long($file, $offset)
|
slaxemulator@10
|
106 {
|
slaxemulator@10
|
107 $value = 0;
|
slaxemulator@10
|
108 if ($fp = fopen($file,"r")) {
|
slaxemulator@10
|
109 fseek($fp,$offset,SEEK_SET);
|
slaxemulator@10
|
110 for ($i = 0; $i < 32; $i += 8) {
|
slaxemulator@10
|
111 $value += ord(fgetc($fp)) << $i;
|
slaxemulator@10
|
112 }
|
slaxemulator@10
|
113 fclose($fp);
|
slaxemulator@10
|
114 }
|
slaxemulator@10
|
115 return $value;
|
slaxemulator@10
|
116 }
|
slaxemulator@10
|
117
|
slaxemulator@10
|
118 function error($string, $title="Error")
|
slaxemulator@10
|
119 {
|
slaxemulator@10
|
120 echo <<<EOT
|
slaxemulator@10
|
121 <div class="nav_box">
|
slaxemulator@10
|
122 <h4>$title</h4>
|
slaxemulator@10
|
123 <p>
|
slaxemulator@10
|
124 $string
|
slaxemulator@10
|
125 </p>
|
slaxemulator@10
|
126 </div>
|
slaxemulator@10
|
127 EOT;
|
slaxemulator@10
|
128 }
|
slaxemulator@10
|
129
|
slaxemulator@10
|
130 $size = 0;
|
slaxemulator@10
|
131 $initrd_size = 0;
|
slaxemulator@10
|
132
|
slaxemulator@10
|
133 // Upload kernel
|
slaxemulator@10
|
134
|
slaxemulator@10
|
135 foreach($_FILES as $data) {
|
slaxemulator@10
|
136 $msg="The file ".$_FILES["kernel"]['name']." ";
|
slaxemulator@10
|
137 switch ($data["error"]) {
|
slaxemulator@10
|
138 case UPLOAD_ERR_INI_SIZE :
|
slaxemulator@10
|
139 error($msg."exceeds upload_max_filesize.");
|
slaxemulator@10
|
140 break;
|
slaxemulator@10
|
141 case UPLOAD_ERR_FORM_SIZE :
|
slaxemulator@10
|
142 error($msg."exceeds max_post_size.");
|
slaxemulator@10
|
143 break;
|
slaxemulator@10
|
144 case UPLOAD_ERR_PARTIAL :
|
slaxemulator@10
|
145 error($msg."was only partially uploaded.");
|
slaxemulator@10
|
146 break;
|
slaxemulator@10
|
147 case UPLOAD_ERR_NO_TMP_DIR :
|
slaxemulator@10
|
148 error("Missing a temporary folder.");
|
slaxemulator@10
|
149 break;
|
slaxemulator@10
|
150 case UPLOAD_ERR_CANT_WRITE :
|
slaxemulator@10
|
151 error("Failed to write file to disk.");
|
slaxemulator@10
|
152 break;
|
slaxemulator@10
|
153 }
|
slaxemulator@10
|
154 }
|
slaxemulator@10
|
155 if (isset($_FILES["kernel"]['tmp_name']) &&
|
slaxemulator@10
|
156 is_uploaded_file($_FILES["kernel"]['tmp_name'])) {
|
slaxemulator@10
|
157 $tmp_dir = tempnam('','fdbuild');
|
slaxemulator@10
|
158 if (file_exists($tmp_dir)) unlink($tmp_dir);
|
slaxemulator@10
|
159 mkdir($tmp_dir);
|
slaxemulator@10
|
160 $tmp_dir .= '/';
|
slaxemulator@10
|
161 move_uploaded_file($_FILES["kernel"]['tmp_name'],
|
slaxemulator@10
|
162 $tmp_dir."kernel");
|
slaxemulator@10
|
163 $kernel = $tmp_dir."kernel";
|
slaxemulator@10
|
164 $boot_version = get_long($kernel,0x206) & 255;
|
slaxemulator@10
|
165 $size = get_long($kernel,0x1F4); // syssize paragraphs
|
slaxemulator@10
|
166 if ($boot_version < 4) $size &= 0xFFFF; // 16 bits before 2.4
|
slaxemulator@10
|
167 $size = ($size + 0xFFF) & 0xFFFF000; // round up to 64K
|
slaxemulator@10
|
168 $size <<= 4; // paragraphs -> bytes
|
slaxemulator@10
|
169 if (get_long($kernel,0x202) != 0x53726448 || // 'HdrS' magic
|
slaxemulator@10
|
170 (get_long($kernel,0x211) & 1 != 1)) { // bzImage flag
|
slaxemulator@10
|
171 error("The file ".$_FILES["kernel"]['name'].
|
slaxemulator@10
|
172 " is not a bzImage Linux kernel.");
|
slaxemulator@10
|
173 $size = 0;
|
slaxemulator@10
|
174 }
|
slaxemulator@10
|
175 else if ($boot_version < 2 && $_POST['cmdline']) { // before 2.2
|
slaxemulator@10
|
176 unset($_POST['cmdline']);
|
slaxemulator@10
|
177 error("This boot loader does not support Linux kernel ".
|
slaxemulator@10
|
178 "prior 2.4.0-test3-pre3 command line.",
|
slaxemulator@10
|
179 "Warning");
|
slaxemulator@10
|
180 }
|
slaxemulator@10
|
181 $msg = "The size of the file ".$_FILES["kernel"]['name'];
|
slaxemulator@10
|
182 }
|
slaxemulator@10
|
183
|
slaxemulator@10
|
184 // Upload initrd
|
slaxemulator@10
|
185
|
slaxemulator@10
|
186 if ($size && isset($_FILES["initrd"]['tmp_name']) &&
|
slaxemulator@10
|
187 is_uploaded_file($_FILES["initrd"]['tmp_name'])) {
|
slaxemulator@10
|
188 move_uploaded_file($_FILES["initrd"]['tmp_name'],
|
slaxemulator@10
|
189 $tmp_dir."initrd");
|
slaxemulator@10
|
190 $initrd_size = $_FILES["initrd"]['size'];
|
slaxemulator@10
|
191 $size += $initrd_size;
|
slaxemulator@10
|
192 $msg = "The total size of the files ".$_FILES["kernel"]['name'].
|
slaxemulator@10
|
193 " and ".$_FILES["initrd"]['name'];
|
slaxemulator@10
|
194 }
|
slaxemulator@10
|
195 if ($initrd_size && isset($_FILES["initrd2"]['tmp_name']) &&
|
slaxemulator@10
|
196 is_uploaded_file($_FILES["initrd2"]['tmp_name'])) {
|
slaxemulator@10
|
197 move_uploaded_file($_FILES["initrd2"]['tmp_name'],
|
slaxemulator@10
|
198 $tmp_dir."initrd2");
|
slaxemulator@10
|
199 $initrd2_size = $_FILES["initrd2"]['size'];
|
slaxemulator@10
|
200 $size += $initrd2_size;
|
slaxemulator@10
|
201 $msg = "The total size of the files ".$_FILES["kernel"]['name'].
|
slaxemulator@10
|
202 ", ".$_FILES["initrd"]['name'].
|
slaxemulator@10
|
203 " and ".$_FILES["initrd2"]['name'];
|
slaxemulator@10
|
204 }
|
slaxemulator@10
|
205 if ($size >= 15 * 1024 * 1024) {
|
slaxemulator@10
|
206 error($msg." exceeds 15 MB.");
|
slaxemulator@10
|
207 $size = 0;
|
slaxemulator@10
|
208 }
|
slaxemulator@10
|
209 if ($size == 0) {
|
slaxemulator@10
|
210 if (isset($tmp_dir))
|
slaxemulator@10
|
211 system("rm -f $tmp_dir");
|
slaxemulator@10
|
212 }
|
slaxemulator@10
|
213 else {
|
slaxemulator@10
|
214 $cmd = "./bootloader ".$tmp_dir."kernel --prefix "
|
slaxemulator@10
|
215 . $tmp_dir."fd --format 0 --flags ".$_POST['flags']
|
slaxemulator@10
|
216 . " --video ".$_POST['video'];
|
slaxemulator@10
|
217 if ($_POST['cmdline'])
|
slaxemulator@10
|
218 $cmd .= " --cmdline '".$_POST['cmdline']."'";
|
slaxemulator@10
|
219 if (file_exists($_POST['rdev']))
|
slaxemulator@10
|
220 $cmd .= " --rdev ".$_POST['rdev'];
|
slaxemulator@10
|
221 if ($initrd_size)
|
slaxemulator@10
|
222 $cmd .= " --initrd ".$tmp_dir."initrd";
|
slaxemulator@10
|
223 if ($initrd2_size)
|
slaxemulator@10
|
224 $cmd .= " --initrd ".$tmp_dir."initrd2";
|
slaxemulator@10
|
225 switch ($_POST['size']) {
|
slaxemulator@10
|
226 case 1763328 :
|
slaxemulator@10
|
227 case 2015232 :
|
slaxemulator@10
|
228 case 3526656 :
|
slaxemulator@10
|
229 case 4030464 :
|
slaxemulator@10
|
230 $cmd .= " --tracks 82"; break;
|
slaxemulator@10
|
231 case 1784832 :
|
slaxemulator@10
|
232 $cmd .= " --tracks 83"; break;
|
slaxemulator@10
|
233 }
|
slaxemulator@10
|
234 shell_exec($cmd);
|
slaxemulator@10
|
235 $count = 1;
|
slaxemulator@10
|
236 if ($_POST['size'] != 0) {
|
slaxemulator@10
|
237 $count += (filesize($tmp_dir."fd") -1) / $_POST['size'];
|
slaxemulator@10
|
238 $padding = $_POST['size'] -
|
slaxemulator@10
|
239 (filesize($tmp_dir."fd") % $_POST['size']);
|
slaxemulator@10
|
240 }
|
slaxemulator@10
|
241 }
|
slaxemulator@10
|
242 $sizes = array(
|
slaxemulator@10
|
243 "368640" => "360 KB", "737280" => "720 KB",
|
slaxemulator@10
|
244 "1228800" => "1.20 MB",
|
slaxemulator@10
|
245 "1474560" => "1.44 MB", "1638400" => "1.60 MB",
|
slaxemulator@10
|
246 "1720320" => "1.68 MB", "1763328" => "1.72 MB",
|
slaxemulator@10
|
247 "1784832" => "1.74 MB", "1802240" => "1.76 MB",
|
slaxemulator@10
|
248 "1884160" => "1.84 MB", "1966080" => "1.92 MB",
|
slaxemulator@10
|
249 "2015232" => "1.96 MB", "2949120" => "2.88 MB",
|
slaxemulator@10
|
250 "3440640" => "3.36 MB", "3526656" => "3.44 MB",
|
slaxemulator@10
|
251 "3932160" => "3.84 MB", "4030464" => "3.92 MB",
|
slaxemulator@10
|
252 "0" => "no limit"
|
slaxemulator@10
|
253 );
|
slaxemulator@10
|
254
|
slaxemulator@10
|
255 function show_size($size)
|
slaxemulator@10
|
256 {
|
slaxemulator@10
|
257 global $sizes;
|
slaxemulator@10
|
258 if ($size != 0) return " ".$sizes[$size];
|
slaxemulator@10
|
259 }
|
slaxemulator@10
|
260 ?>
|
slaxemulator@10
|
261
|
slaxemulator@10
|
262 <!-- End navigation menu -->
|
slaxemulator@10
|
263 </div>
|
slaxemulator@10
|
264
|
slaxemulator@10
|
265 <!-- Content top. -->
|
slaxemulator@10
|
266 <div id="content_top">
|
slaxemulator@10
|
267 <div class="top_left"></div>
|
slaxemulator@10
|
268 <div class="top_right"></div>
|
slaxemulator@10
|
269 </div>
|
slaxemulator@10
|
270
|
slaxemulator@10
|
271 <!-- Content -->
|
slaxemulator@10
|
272 <div id="content">
|
slaxemulator@10
|
273
|
pascal@94
|
274 <h2>Floppy image set builder</h2>
|
slaxemulator@10
|
275
|
slaxemulator@10
|
276 <?php
|
slaxemulator@10
|
277 if (!isset($count)) {
|
slaxemulator@10
|
278 $max = rtrim(ini_get('upload_max_filesize'),"M");
|
slaxemulator@10
|
279 $max_post = rtrim(ini_get('post_max_size'),"M");
|
slaxemulator@10
|
280 if ($max_post < $max) $max = $max_post;
|
slaxemulator@10
|
281 $msg = "the tiny boot loader can't load more than 15 MB";
|
slaxemulator@10
|
282 if ($max < 16)
|
slaxemulator@10
|
283 $msg = "the web server can't upload more than $max MB";
|
slaxemulator@10
|
284 ?>
|
slaxemulator@10
|
285 <form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
|
slaxemulator@10
|
286 <table>
|
slaxemulator@10
|
287 <tr>
|
slaxemulator@10
|
288 <td>Linux kernel:</td>
|
slaxemulator@10
|
289 <td><input type="file" name="kernel" size="25" /> <i>required</i></td>
|
slaxemulator@10
|
290 </tr>
|
slaxemulator@10
|
291 <tr>
|
slaxemulator@10
|
292 <td>Initramfs / Initrd:</td>
|
slaxemulator@10
|
293 <td><input type="file" name="initrd" size="25" /> <i>optional</i></td>
|
slaxemulator@10
|
294 </tr>
|
slaxemulator@10
|
295 <tr>
|
slaxemulator@10
|
296 <td>Extra initramfs:</td>
|
slaxemulator@10
|
297 <td><input type="file" name="initrd2" size="25" /> <i>optional</i></td>
|
slaxemulator@10
|
298 </tr>
|
slaxemulator@10
|
299 <tr>
|
slaxemulator@10
|
300 <td>Default cmdline:</td>
|
slaxemulator@10
|
301 <td><input type="text" name="cmdline" size="36" <?php
|
slaxemulator@10
|
302 if (isset($_GET['cmdline'])) echo 'value="'.$_GET['cmdline'].'"';
|
slaxemulator@10
|
303 ?>/> <i>optional</i></td>
|
slaxemulator@10
|
304 </tr>
|
slaxemulator@10
|
305 <tr>
|
slaxemulator@10
|
306 <td>Root device:</td>
|
slaxemulator@10
|
307 <td><input type="text" name="rdev" size="8" value="<?php
|
slaxemulator@10
|
308 if (isset($_GET['rdev'])) echo $_GET['rdev'];
|
slaxemulator@10
|
309 else echo "/dev/fd0";
|
slaxemulator@10
|
310 ?>" />
|
slaxemulator@10
|
311 Root flags: <select name="flags">
|
slaxemulator@10
|
312 <option value="1">R/O</option>
|
slaxemulator@10
|
313 <option value="0" <?php
|
slaxemulator@10
|
314 if (isset($_GET['rdev']) && $_GET['rdev'] == "0")
|
slaxemulator@10
|
315 echo ' selected="selected"'
|
slaxemulator@10
|
316 ?>>R/W</option>
|
slaxemulator@10
|
317 </select>
|
slaxemulator@10
|
318 VGA mode: <select name="video">
|
slaxemulator@10
|
319 <?php
|
slaxemulator@10
|
320 $selected=-1;
|
slaxemulator@10
|
321 if (isset($_GET['video'])) $selected = $_GET['video'];
|
slaxemulator@10
|
322 $options = array();
|
slaxemulator@10
|
323 $options[-3] = "Ask";
|
slaxemulator@10
|
324 $options[-2] = "Ext";
|
slaxemulator@10
|
325 $options[-1] = "Std";
|
slaxemulator@10
|
326 for ($i = 0; $i < 64; $i++) $options[$i] = $i;
|
slaxemulator@10
|
327 foreach ($options as $key => $value) {
|
slaxemulator@10
|
328 echo '<option value="'.$key.'"';
|
slaxemulator@10
|
329 if ($key == $selected || $value == $selected)
|
slaxemulator@10
|
330 echo ' selected="selected"';
|
slaxemulator@10
|
331 echo '>'.$value."</option>\n";
|
slaxemulator@10
|
332 }
|
slaxemulator@10
|
333 ?>
|
slaxemulator@10
|
334 </select>
|
slaxemulator@10
|
335 </td>
|
slaxemulator@10
|
336 </tr>
|
slaxemulator@10
|
337 <tr>
|
slaxemulator@10
|
338 <td>Floppy size:</td>
|
slaxemulator@10
|
339 <td><select name="size">
|
slaxemulator@10
|
340 <?php
|
slaxemulator@10
|
341 foreach ($sizes as $key => $value) {
|
slaxemulator@10
|
342 echo " <option value=\"$key\"";
|
slaxemulator@10
|
343 if ($key == "1474560") echo " selected='selected'";
|
slaxemulator@10
|
344 echo ">$value</option>\n";
|
slaxemulator@10
|
345 }
|
slaxemulator@10
|
346 ?>
|
slaxemulator@10
|
347 </select>
|
slaxemulator@10
|
348 <input name="build" value="Build floppy set" type="submit" />
|
slaxemulator@10
|
349 </td>
|
slaxemulator@10
|
350 </tr>
|
slaxemulator@10
|
351 </table>
|
slaxemulator@10
|
352 </form>
|
slaxemulator@10
|
353 <?php
|
slaxemulator@10
|
354 echo <<<EOT
|
slaxemulator@10
|
355 <p>
|
slaxemulator@10
|
356 Note 1: $msg of files (kernel and initramfs) in memory.
|
slaxemulator@10
|
357 </p>
|
slaxemulator@10
|
358 <p>
|
slaxemulator@10
|
359 Note 2: the extra initramfs may be useful to add your own configuration files.
|
slaxemulator@10
|
360 </p>
|
slaxemulator@10
|
361 EOT;
|
slaxemulator@10
|
362 }
|
slaxemulator@10
|
363 else {
|
slaxemulator@10
|
364 ?>
|
pascal@94
|
365 <h4>Download image<?php if ($count >= 2) echo "s"; ?></h4>
|
pascal@94
|
366 <ul>
|
pascal@94
|
367 <?php
|
pascal@94
|
368 for ($i = 1; $i <= $count; $i++) {
|
pascal@94
|
369 echo ' <li><a href="'.$_SERVER["PHP_SELF"].
|
pascal@94
|
370 "?id=".basename($tmp_dir)."&n=$i&s=".
|
pascal@94
|
371 $_POST["size"].'">'.sprintf("fd%03d.img",$i).
|
pascal@94
|
372 show_size($_POST["size"])."</a></li>\n";
|
pascal@94
|
373 }
|
pascal@94
|
374 echo "</ul>\n".floor($padding/1024)."KB padding.\n";
|
pascal@94
|
375 ?>
|
slaxemulator@10
|
376
|
slaxemulator@10
|
377 <p>
|
slaxemulator@10
|
378 You can write floppies with SliTaz <i>bootfloppybox</i>,
|
slaxemulator@10
|
379 <a href="http://en.wikipedia.org/wiki/RaWrite">Windows rawrite</a> or simply dd:
|
slaxemulator@10
|
380 </p>
|
slaxemulator@10
|
381 <pre># dd if=fd001.img of=/dev/fd0
|
slaxemulator@10
|
382 </pre>
|
slaxemulator@10
|
383
|
slaxemulator@10
|
384 <p>
|
slaxemulator@10
|
385 Start your computer with <i>fd001.img</i>. It will show the kernel version string and
|
slaxemulator@10
|
386 the kernel cmdline line. You can edit the cmdline. Most users can just press Enter.
|
slaxemulator@10
|
387 </p>
|
slaxemulator@10
|
388
|
slaxemulator@10
|
389 <?php
|
slaxemulator@10
|
390 if ($count >= 2) {
|
slaxemulator@10
|
391 ?>
|
slaxemulator@10
|
392 <p>
|
slaxemulator@10
|
393 The floppy is then loaded into memory (one dot each 64k) and you will be prompted to
|
slaxemulator@10
|
394 insert the next floppy, <i>fd002.img</i>. And so on.
|
slaxemulator@10
|
395 </p>
|
slaxemulator@10
|
396
|
slaxemulator@10
|
397 <p>
|
slaxemulator@10
|
398 The floppy set detects disk swaps and can be used without keyboard.
|
slaxemulator@10
|
399 </p>
|
slaxemulator@10
|
400 <?php
|
slaxemulator@10
|
401 }
|
slaxemulator@10
|
402 ?>
|
slaxemulator@10
|
403 <p>
|
slaxemulator@10
|
404 Good luck.
|
slaxemulator@10
|
405 </p>
|
slaxemulator@10
|
406 <?php
|
slaxemulator@10
|
407 }
|
slaxemulator@10
|
408 ?>
|
slaxemulator@10
|
409
|
pascal@94
|
410 <div class="nav_box">
|
pascal@94
|
411 <h4>How does it work ?</h4>
|
pascal@94
|
412 <p>
|
pascal@94
|
413 This tool updates the boot sector of your kernel with
|
pascal@94
|
414 <a href="http://hg.slitaz.org/wok/raw-file/b84ff32e3457/linux/stuff/linux-header-2.6.34.u">this patch</a>.
|
pascal@94
|
415 You may add a default cmdline and an initramfs. The cmdline can be edited at boot
|
pascal@94
|
416 time but the keyboard is not mandatory.
|
pascal@94
|
417 A <a href="bootloader"> standalone version</a> is available.
|
pascal@94
|
418 </p>
|
pascal@94
|
419 <p>
|
pascal@94
|
420 Each part (boot, setup, cmdline, kernel, initramfs) is aligned to 512 bytes.
|
pascal@94
|
421 The result is split to fit the floppy size.
|
pascal@94
|
422 The last floppy image is padded with zeros.
|
pascal@94
|
423 </p>
|
pascal@94
|
424 </div>
|
pascal@94
|
425
|
slaxemulator@10
|
426 <!-- End of content with round corner -->
|
slaxemulator@10
|
427 </div>
|
slaxemulator@10
|
428 <div id="content_bottom">
|
slaxemulator@10
|
429 <div class="bottom_left"></div>
|
slaxemulator@10
|
430 <div class="bottom_right"></div>
|
slaxemulator@10
|
431 </div>
|
slaxemulator@10
|
432
|
slaxemulator@10
|
433 <!-- Start of footer and copy notice -->
|
slaxemulator@10
|
434 <div id="copy">
|
slaxemulator@10
|
435 <p>
|
slaxemulator@10
|
436 Copyright © <?php echo date('Y'); ?> <a href="http://www.slitaz.org/">SliTaz</a> -
|
slaxemulator@10
|
437 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
|
slaxemulator@10
|
438 </p>
|
slaxemulator@10
|
439 <!-- End of copy -->
|
slaxemulator@10
|
440 </div>
|
slaxemulator@10
|
441
|
slaxemulator@10
|
442 <!-- Bottom and logo's -->
|
slaxemulator@10
|
443 <div id="bottom">
|
slaxemulator@10
|
444 <p>
|
slaxemulator@10
|
445 <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>
|
slaxemulator@10
|
446 </p>
|
slaxemulator@10
|
447 </div>
|
slaxemulator@10
|
448
|
slaxemulator@10
|
449 </body>
|
slaxemulator@10
|
450 </html>
|