tiny-slitaz view step5.php @ rev 28

Multi floppy support (again)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Sep 17 10:24:42 2019 +0200 (2019-09-17)
parents cb1743f12df8
children 26423b57df46
line source
1 <?php
3 function show_size($file)
4 {
5 return shell_exec("du -h ".$_POST['tmp_dir'].
6 "$file | awk '{ printf \"%s\",$1 }'");
7 }
9 if (isset($_POST['toconfigure']) && $_POST['toconfigure'] == ""
10 && $output == "") {
11 shell_exec("sudo ./helper --mkrootfs ".$_POST['tmp_dir']);
12 ?>
14 <div class="box">
15 <h3 id="get">[Step 5/5] Get Tiny SliTaz files</h3>
17 <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" name="config">
19 <?php post_hidden(); ?>
21 <table>
22 <tr><td class="first">Bootable images:</td><td>
23 <div id="floppyset">
24 </div>
25 <select name="fdsize" id="fdsize" onchange="floppy_form()">
26 <?php
27 $title="Neither Windows nor emm386 supported. Needs a real mode DOS";
28 if (!file_exists($_POST['tmp_dir']."out"))
29 shell_exec("sudo ./helper --mkimg ".$_POST['tmp_dir']);
30 if (!isset($_POST['fdsize'])) $_POST['fdsize']="1474560";
31 foreach(array("737280" => "720K", "1228800" => "1.2M",
32 "1474560" => "1.44M", "1720320" => "1.68M",
33 "1966080" => "1.92M", "2949120" => "2.88M") as $sz => $nm) {
34 echo " <option value=\"$sz\"";
35 if ($sz == $_POST['fdsize']) echo " selected";
36 echo ">$nm</option>\n";
37 } ?>
38 </select>
39 <input name="download" value="DOS/EXE" type="submit"
40 title="<?php echo $title; ?>" />
41 <?php if (file_exists("/boot/isolinux/isolinux.bin")) {
42 $title="Can be burnt on to a CD-ROM or written on to a USB Key / memory card";
43 if (file_exists("/usr/bin/iso2exe"))
44 $title .= ", or renamed with the .exe suffix and run with DOS or Windows";
45 ?>
46 <input name="download" value="ISO image" type="submit"
47 title="<?php echo $title; ?>" />
48 <?php } ?>
49 </td></tr>
52 <tr><td class="first">Files for bootloaders:</td><td>
54 <input name="download" value="Kernel (<?php echo show_size("fs/boot/bzImage");
55 ?>)" type="submit" />
56 <input name="download" value="Rootfs (<?php echo show_size("rootfs.gz");
57 ?>)" title="For the initrd= parameter" type="submit" />
58 <?php if (show_size("fs/boot/memtest") != "") { ?>
59 <input name="download" value="Memtest (<?php echo show_size("fs/boot/memtest");
60 ?>)" type="submit" />
61 <?php } ?>
62 <?php if (show_size("fs/boot/gpxe") != "") { ?>
63 <input name="download" value="GPXE (<?php echo show_size("fs/boot/gpxe");
64 ?>)" type="submit" />
65 <?php } ?>
66 <?php if (show_size("fs/boot/ipxe") != "") { ?>
67 <input name="download" value="IPXE (<?php echo show_size("fs/boot/ipxe");
68 ?>)" type="submit" />
69 <?php } ?>
70 </td></tr>
73 <tr><td class="first">Configuration info:</td><td>
75 <input name="download" value="Configuration files" type="submit" />
76 <input name="download" value="packages.conf (<?php
77 echo show_size("fs/etc/packages.conf"); ?>)" type="submit" />
78 </td></tr>
81 <?php if (show_size("fs/boot/System.map") != "") { ?>
82 <tr><td class="first">Debug info:</td><td>
84 <input name="download" value="System.map (<?php echo show_size("fs/boot/System.map");
85 ?>)" type="submit" />
86 <input name="download" value="linux.config (<?php echo show_size("fs/boot/config");
87 ?>)" type="submit" />
88 <br>
89 <input name="download" value="busybox.config (<?php echo show_size("fs/boot/config-busybox");
90 ?>)" type="submit" />
91 <input name="download" value="post_install.log (<?php echo show_size("post_install.log");
92 ?>)" type="submit" />
93 </td></tr>
95 <?php } ?>
97 </table>
98 </form>
99 </div>
101 <script>
102 function floppy_form()
103 {
104 var fds=document.getElementById("fdsize");
105 for (i=1;;i++) {
106 element=document.getElementById("Floppy"+i);
107 if (element) document.getElementById("floppyset").removeChild(element);
108 else break;
109 }
110 for (i=<?php echo filesize($_POST['tmp_dir']."out"); ?>, j=1; i > 0; j++, i -= fds.value) {
111 var element = document.createElement("input");
112 element.name = "download";
113 element.type = "submit";
114 element.value = element.id = "Floppy"+j;
115 element.title = "You can use dd or rawrite to create the floppy disk";
116 document.getElementById("floppyset").appendChild(element);
117 }
118 }
120 floppy_form();
121 </script>
123 <h2>Going further</h2>
125 <p>Tiny SliTaz should be smaller to have more functionality and/or needs less
126 RAM.<br>
127 The kernel can be <a href="http://elinux.org/Linux_Tiny">tuned/patched</a> or
128 you can use an earlier version.</p>
130 <p>You can test Tiny SliTaz without pre-historic hardware using qemu (needs the
131 <tt>ne.ko</tt> module):</p>
133 <pre>
134 qemu -cpu 486 -m 4 -net nic,model=ne2k_isa -net tap -fda slitaz.img
135 </pre>
137 <p>Or</p>
139 <pre>
140 qemu -cpu 486 -m 4 -net nic,model=ne2k_isa -net tap -kernel kernel -initrd rootfs.gz /dev/null
141 </pre>
143 <p>And the executable file <code>/etc/qemu-ifup</code>:</p>
145 <pre>
146 #!/bin/sh
148 tunctl -u $(id -un) -t $1
149 ifconfig $1 192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0
150 </pre>
152 <?php
153 }
154 ?>