tiny-slitaz annotate step5.php @ rev 34

index.php: no more embedded filesystem
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Feb 28 18:38:34 2020 +0100 (2020-02-28)
parents f03cb925353c
children 798a84e27cc9
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@27 31 foreach(array("737280" => "720K", "1228800" => "1.2M",
pascal@28 32 "1474560" => "1.44M", "1720320" => "1.68M",
pascal@27 33 "1966080" => "1.92M", "2949120" => "2.88M") as $sz => $nm) {
pascal@27 34 echo " <option value=\"$sz\"";
pascal@27 35 if ($sz == $_POST['fdsize']) echo " selected";
pascal@27 36 echo ">$nm</option>\n";
pascal@27 37 } ?>
pascal@27 38 </select>
pascal@29 39 </div>
pascal@6 40 <input name="download" value="DOS/EXE" type="submit"
pascal@6 41 title="<?php echo $title; ?>" />
pascal@6 42 <?php if (file_exists("/boot/isolinux/isolinux.bin")) {
paul@17 43 $title="Can be burnt on to a CD-ROM or written on to a USB Key / memory card";
pascal@6 44 if (file_exists("/usr/bin/iso2exe"))
pascal@6 45 $title .= ", or renamed with the .exe suffix and run with DOS or Windows";
pascal@6 46 ?>
pascal@6 47 <input name="download" value="ISO image" type="submit"
pascal@6 48 title="<?php echo $title; ?>" />
pascal@6 49 <?php } ?>
pascal@6 50 </td></tr>
pascal@0 51
pascal@0 52
pascal@6 53 <tr><td class="first">Files for bootloaders:</td><td>
pascal@6 54
pascal@6 55 <input name="download" value="Kernel (<?php echo show_size("fs/boot/bzImage");
pascal@31 56 ?>)" title="A bzImage with a basic embbeded initramfs.
pascal@31 57 Can boot from floppy or DOS in real mode." type="submit" />
pascal@6 58 <input name="download" value="Rootfs (<?php echo show_size("rootfs.gz");
pascal@31 59 ?>)" title="Extra initramfs for the initrd= parameter" type="submit" />
pascal@29 60 <?php echo shell_exec("sudo ./helper --boot-files ".$_POST['tmp_dir']); ?>
pascal@6 61 </td></tr>
pascal@6 62
pascal@6 63
pascal@6 64 <tr><td class="first">Configuration info:</td><td>
pascal@6 65
pascal@6 66 <input name="download" value="Configuration files" type="submit" />
pascal@6 67 <input name="download" value="packages.conf (<?php
pascal@6 68 echo show_size("fs/etc/packages.conf"); ?>)" type="submit" />
pascal@6 69 </td></tr>
pascal@6 70
pascal@0 71
pascal@0 72 <?php if (show_size("fs/boot/System.map") != "") { ?>
pascal@6 73 <tr><td class="first">Debug info:</td><td>
pascal@6 74
pascal@6 75 <input name="download" value="System.map (<?php echo show_size("fs/boot/System.map");
pascal@6 76 ?>)" type="submit" />
pascal@6 77 <input name="download" value="linux.config (<?php echo show_size("fs/boot/config");
pascal@6 78 ?>)" type="submit" />
pascal@6 79 <br>
pascal@6 80 <input name="download" value="busybox.config (<?php echo show_size("fs/boot/config-busybox");
pascal@6 81 ?>)" type="submit" />
pascal@6 82 <input name="download" value="post_install.log (<?php echo show_size("post_install.log");
pascal@6 83 ?>)" type="submit" />
pascal@6 84 </td></tr>
pascal@6 85
pascal@0 86 <?php } ?>
pascal@0 87
pascal@6 88 </table>
pascal@0 89 </form>
pascal@6 90 </div>
pascal@0 91
pascal@27 92 <script>
pascal@27 93 function floppy_form()
pascal@27 94 {
pascal@29 95 var element;
pascal@27 96 var fds=document.getElementById("fdsize");
pascal@27 97 for (i=1;;i++) {
pascal@27 98 element=document.getElementById("Floppy"+i);
pascal@27 99 if (element) document.getElementById("floppyset").removeChild(element);
pascal@27 100 else break;
pascal@27 101 }
pascal@27 102 for (i=<?php echo filesize($_POST['tmp_dir']."out"); ?>, j=1; i > 0; j++, i -= fds.value) {
pascal@29 103 element = document.createElement("input");
pascal@27 104 element.name = "download";
pascal@27 105 element.type = "submit";
pascal@27 106 element.value = element.id = "Floppy"+j;
pascal@27 107 element.title = "You can use dd or rawrite to create the floppy disk";
pascal@27 108 document.getElementById("floppyset").appendChild(element);
pascal@27 109 }
pascal@29 110 if (j == 2) element.value = "Floppy image";
pascal@27 111 }
pascal@27 112
pascal@27 113 floppy_form();
pascal@27 114 </script>
pascal@27 115
pascal@0 116 <h2>Going further</h2>
pascal@6 117
pascal@6 118 <p>Tiny SliTaz should be smaller to have more functionality and/or needs less
pascal@6 119 RAM.<br>
pascal@6 120 The kernel can be <a href="http://elinux.org/Linux_Tiny">tuned/patched</a> or
pascal@6 121 you can use an earlier version.</p>
pascal@6 122
paul@17 123 <p>You can test Tiny SliTaz without pre-historic hardware using qemu (needs the
pascal@33 124 <tt>ne.ko</tt> module, i.e select ne - Kernel module for the ne2000 driver in
pascal@33 125 Step 2/5):</p>
pascal@6 126
pascal@0 127 <pre>
pascal@5 128 qemu -cpu 486 -m 4 -net nic,model=ne2k_isa -net tap -fda slitaz.img
pascal@0 129 </pre>
pascal@6 130
pascal@6 131 <p>Or</p>
pascal@6 132
pascal@0 133 <pre>
pascal@5 134 qemu -cpu 486 -m 4 -net nic,model=ne2k_isa -net tap -kernel kernel -initrd rootfs.gz /dev/null
pascal@0 135 </pre>
pascal@6 136
pascal@6 137 <p>And the executable file <code>/etc/qemu-ifup</code>:</p>
pascal@6 138
pascal@0 139 <pre>
pascal@0 140 #!/bin/sh
pascal@0 141
pascal@6 142 tunctl -u $(id -un) -t $1
pascal@0 143 ifconfig $1 192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0
pascal@0 144 </pre>
pascal@0 145
pascal@0 146 <?php
pascal@0 147 }
pascal@0 148 ?>