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