tazpanel diff floppy.cgi @ rev 531
index.cgi: add renice support (again)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Aug 28 14:03:48 2015 +0200 (2015-08-28) |
parents | |
children | 551a881b8292 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/floppy.cgi Fri Aug 28 14:03:48 2015 +0200 1.3 @@ -0,0 +1,346 @@ 1.4 +#!/bin/sh 1.5 +# 1.6 +# Floppy set CGI interface 1.7 +# 1.8 +# Copyright (C) 2015 SliTaz GNU/Linux - BSD License 1.9 +# 1.10 + 1.11 +# Common functions from libtazpanel 1.12 +. lib/libtazpanel 1.13 +get_config 1.14 + 1.15 + 1.16 +case "$1" in 1.17 + menu) 1.18 + TEXTDOMAIN_original=$TEXTDOMAIN 1.19 + export TEXTDOMAIN='floppy' 1.20 + 1.21 + #which bootloader > /dev/null && 1.22 + cat <<EOT 1.23 +<li><a data-icon="slitaz" href="floppy.cgi">$(_ 'Boot floppy')</a></li> 1.24 +EOT 1.25 + export TEXTDOMAIN=$TEXTDOMAIN_original 1.26 + exit 1.27 +esac 1.28 + 1.29 + 1.30 +# 1.31 +# Commands 1.32 +# 1.33 + 1.34 +error= 1.35 +case " $(POST) " in 1.36 +*\ doformat\ *) 1.37 + fdformat $(POST fd) 1.38 + which mkfs.$(POST fstype) > /dev/null 2>&1 && 1.39 + mkfs.$(POST fstype) $(POST fd) 1.40 + ;; 1.41 +*\ write\ *) 1.42 + if [ "$(FILE fromimage tmpname)" ]; then 1.43 + dd if=$(FILE fromimage tmpname) of=$(POST tofd) 1.44 + rm -f $(FILE fromimage tmpname) 1.45 + else 1.46 + error="$(msg err 'Broken FILE support')" 1.47 + fi ;; 1.48 +*\ read\ *) 1.49 + dd if=$(POST fromfd) of=$(POST toimage) 1.50 + ;; 1.51 +*\ build\ *) 1.52 + cmd="" 1.53 + toremove="" 1.54 + while read key file ; do 1.55 + [ "$(FILE $file size)" ] || continue 1.56 + for i in $(seq 1 $(FILE $file count)); do 1.57 + cmd="$cmd $key $(FILE $file tmpname $i)" 1.58 + toremove="$toremove $(FILE $file tmpname $i)" 1.59 + done 1.60 + done <<EOT 1.61 +bootloader kernel 1.62 +--initrd initrd 1.63 +--initrd initrd2 1.64 +--info info 1.65 +EOT 1.66 + error="$(msg err 'Broken FILE support !') 1.67 + <pre>$(httpinfo)</pre>" 1.68 + if [ "$cmd" ]; then 1.69 + for key in cmdline rdev video format mem ; do 1.70 + [ "$(POST $key)" ] || continue 1.71 + cmd="$cmd --$key '$(POST $key)'" 1.72 + done 1.73 + [ "$(POST edit)" ] || cmd="$cmd --dont-edit-cmdline" 1.74 + TITLE="$(_ 'TazPanel - floppy')" 1.75 + header 1.76 + xhtml_header 1.77 + cd $(POST workdir) 1.78 + echo "<pre>" 1.79 + eval $cmd 2>&1 1.80 + echo "</pre>" 1.81 + [ "$toremove" ] && rm -f $toremove && rmdir $(dirname $toremove) 1.82 + xhtml_footer 1.83 + exit 0 1.84 + fi 1.85 + ;; 1.86 +esac 1.87 + 1.88 +listfd() 1.89 +{ 1.90 + echo "<select name=\"$1\">" 1.91 + ls /dev/fd[0-9]* | sed 's|.*|<option>&</option>|' 1.92 + echo "</select>" 1.93 +} 1.94 + 1.95 +TITLE="$(_ 'TazPanel - floppy')" 1.96 +header 1.97 +xhtml_header 1.98 +echo "$error" 1.99 + 1.100 +cat <<EOT 1.101 +<form method="post" enctype="multipart/form-data"> 1.102 +EOT 1.103 +[ -w /dev/fd0 ] && cat <<EOT 1.104 +<section> 1.105 + <header> 1.106 + $(_ 'Floppy disk format') 1.107 + </header> 1.108 + <button type="submit" name="doformat" data-icon="start" >$(_ 'Format disk' )</button> 1.109 + $(listfd fd) filesystem: 1.110 + <select name "fstype"> 1.111 + <option>$(_ 'none')</option> 1.112 + $(ls /sbin/mkfs.* | sed '/dev/d;s|.*/mkfs.\(.*\)|<option>\1</option>|') 1.113 + </select> 1.114 +</section> 1.115 + 1.116 +<section> 1.117 + <header> 1.118 + $(_ 'Floppy disk transfert') 1.119 + </header> 1.120 +<table> 1.121 + <tbody> 1.122 + <tr> 1.123 + <td> 1.124 + <button type="submit" name="write" data-icon="start" >$(_ 'Write image' )</button> 1.125 + $(listfd tofd) <<< <input name="fromimage" type="file"> 1.126 + </td> 1.127 + </tr> 1.128 + <tr> 1.129 + <td> 1.130 + <button type="submit" name="read" data-icon="start" >$(_ 'Read image' )</button> 1.131 + $(listfd fromfd) >>> <input name="toimage" type="text" value="/tmp/floppy.img"> 1.132 + <td> 1.133 + </tr> 1.134 + </tbody> 1.135 +</table> 1.136 +</section> 1.137 +EOT 1.138 +cat <<EOT 1.139 +<section> 1.140 + <header> 1.141 + $(_ 'Boot floppy set builder') 1.142 + </header> 1.143 + 1.144 +<table> 1.145 + <tbody><tr> 1.146 + <td>$(_ 'Linux kernel:')</td> 1.147 + <td><input name="kernel" size="37" type="file"> <i>$(_ 'required')</i></td> 1.148 + </tr> 1.149 + <tr> 1.150 + <td>$(_ 'Initramfs / Initrd:')</td> 1.151 + <td><input name="initrd[]" size="37" type="file" multiple> <i>$(_ 'optional')</i></td> 1.152 + </tr> 1.153 + <tr> 1.154 + <td>$(_ 'Extra initramfs:')</td> 1.155 + <td><input name="initrd2[]" size="37" type="file" multiple> <i>$(_ 'optional')</i></td> 1.156 + </tr> 1.157 + <tr> 1.158 + <td>$(_ 'Boot message:')</td> 1.159 + <td><input name="info" size="37" type="file"> <i>$(_ 'optional')</i></td> 1.160 + </tr> 1.161 + <tr> 1.162 + <td>$(_ 'Default cmdline:')</td> 1.163 + <td id="cmdline"><input name="cmdline" size="36" type="text"> <input name="edit" checked="checked" type="checkbox">$(_ 'edit') 1.164 + <i>$(_ 'optional')</i></td> 1.165 + </tr> 1.166 + <tr> 1.167 + <td>$(_ 'Root device:')</td> 1.168 + <td><input name="rdev" size="8" value="/dev/ram0" type="text"> 1.169 + $(_ 'Flags:') <select name="flags"> 1.170 + <option selected="selected" value="1">R/O</option> 1.171 + <option value="0">R/W</option> 1.172 + </select> 1.173 + VESA: <select name="video"> 1.174 + <option value="-3">Ask</option> 1.175 +<option value="-2">Extended</option> 1.176 +<option value="-1" selected="selected">Standard</option> 1.177 +<option value="0">0</option> 1.178 +<option value="1">1</option> 1.179 +<option value="2">2</option> 1.180 +<option value="3">3</option> 1.181 +<option value="4">4</option> 1.182 +<option value="5">5</option> 1.183 +<option value="6">6</option> 1.184 +<option value="7">7</option> 1.185 +<option value="8">8</option> 1.186 +<option value="9">9</option> 1.187 +<option value="10">10</option> 1.188 +<option value="11">11</option> 1.189 +<option value="12">12</option> 1.190 +<option value="13">13</option> 1.191 +<option value="14">14</option> 1.192 +<option value="15">15</option> 1.193 +<option value="3840">80x25</option> 1.194 +<option value="3841">80x50</option> 1.195 +<option value="3842">80x43</option> 1.196 +<option value="3843">80x28</option> 1.197 +<option value="3845">80x30</option> 1.198 +<option value="3846">80x34</option> 1.199 +<option value="3847">80x60</option> 1.200 +<option value="778">132x43</option> 1.201 +<option value="777">132x25</option> 1.202 +<option value="824">320x200x8</option> 1.203 +<option value="781">320x200x15</option> 1.204 +<option value="782">320x200x16</option> 1.205 +<option value="783">320x200x24</option> 1.206 +<option value="800">320x200x32</option> 1.207 +<option value="818">896x672x24</option> 1.208 +<option value="915">320x240x15</option> 1.209 +<option value="821">320x240x16</option> 1.210 +<option value="917">320x240x24</option> 1.211 +<option value="918">320x240x32</option> 1.212 +<option value="819">896x672x32</option> 1.213 +<option value="931">400x300x15</option> 1.214 +<option value="822">400x300x16</option> 1.215 +<option value="933">400x300x24</option> 1.216 +<option value="934">400x300x32</option> 1.217 +<option value="820">512x384x8</option> 1.218 +<option value="947">512x384x15</option> 1.219 +<option value="823">512x384x16</option> 1.220 +<option value="949">512x384x24</option> 1.221 +<option value="950">512x384x32</option> 1.222 +<option value="962">640x350x8</option> 1.223 +<option value="963">640x350x15</option> 1.224 +<option value="964">640x350x16</option> 1.225 +<option value="965">640x350x24</option> 1.226 +<option value="966">640x350x32</option> 1.227 +<option value="768">640x400x8</option> 1.228 +<option value="899">640x400x15</option> 1.229 +<option value="825">640x400x16</option> 1.230 +<option value="901">640x400x24</option> 1.231 +<option value="902">640x400x32</option> 1.232 +<option value="769">640x480x8</option> 1.233 +<option value="784">640x480x15</option> 1.234 +<option value="785">640x480x16</option> 1.235 +<option value="786">640x480x24</option> 1.236 +<option value="826">640x480x32</option> 1.237 +<option value="879">800x500x8</option> 1.238 +<option value="880">800x500x15</option> 1.239 +<option value="881">800x500x16</option> 1.240 +<option value="882">800x500x24</option> 1.241 +<option value="883">800x500x32</option> 1.242 +<option value="771">800x600x8</option> 1.243 +<option value="787">800x600x15</option> 1.244 +<option value="788">800x600x16</option> 1.245 +<option value="789">800x600x24</option> 1.246 +<option value="827">800x600x32</option> 1.247 +<option value="815">896x672x8</option> 1.248 +<option value="816">1600x1200x8</option> 1.249 +<option value="817">1600x1200x16</option> 1.250 +<option value="874">1024x640x8</option> 1.251 +<option value="875">1024x640x15</option> 1.252 +<option value="876">1024x640x16</option> 1.253 +<option value="877">1024x640x24</option> 1.254 +<option value="878">1024x640x32</option> 1.255 +<option value="773">1024x768x8</option> 1.256 +<option value="790">1024x768x15</option> 1.257 +<option value="791">1024x768x16</option> 1.258 +<option value="792">1024x768x24</option> 1.259 +<option value="828">1024x768x32</option> 1.260 +<option value="869">1152x720x8</option> 1.261 +<option value="870">1152x720x15</option> 1.262 +<option value="871">1152x720x16</option> 1.263 +<option value="872">1152x720x24</option> 1.264 +<option value="873">1152x720x32</option> 1.265 +<option value="775">1280x1024x8</option> 1.266 +<option value="793">1280x1024x15</option> 1.267 +<option value="794">1280x1024x16</option> 1.268 +<option value="795">1280x1024x24</option> 1.269 +<option value="829">1280x1024x32</option> 1.270 +<option value="835">1400x1050x8</option> 1.271 +<option value="837">1400x1050x16</option> 1.272 +<option value="838">1400x1040x24</option> 1.273 +<option value="864">1440x900x15</option> 1.274 +<option value="866">1440x900x16</option> 1.275 +<option value="867">1440x900x24</option> 1.276 +<option value="868">1440x900x32</option> 1.277 +<option value="893">1920x1200x8</option> 1.278 + </select> 1.279 + </td> 1.280 + </tr> 1.281 + <tr> 1.282 + <td>$(_ 'Output directory:')</td> 1.283 + <td id="workdir"><input name="workdir" size="36" type="text" value="/tmp"></td> 1.284 + </tr> 1.285 + <tr> 1.286 + <td>$(_ 'Floppy size:')</td> 1.287 + <td><select name="format"> 1.288 + <optgroup label="5¼ SD"> 1.289 + <option value="360">360 KB</option> 1.290 + </optgroup> 1.291 + <optgroup label="3½ SD"> 1.292 + <option value="720">720 KB</option> 1.293 + </optgroup> 1.294 + <optgroup label="5¼ HD"> 1.295 + <option value="1200">1.20 MB</option> 1.296 + </optgroup> 1.297 + <optgroup label="3½ HD"> 1.298 + <option value="1440" selected="selected">1.44 MB</option> 1.299 + <option value="1600">1.60 MB</option> 1.300 + <option value="1680">1.68 MB</option> 1.301 + <option value="1722">1.72 MB</option> 1.302 + <option value="1743">1.74 MB</option> 1.303 + <option value="1760">1.76 MB</option> 1.304 + <option value="1840">1.84 MB</option> 1.305 + <option value="1920">1.92 MB</option> 1.306 + <option value="1968">1.96 MB</option> 1.307 + </optgroup> 1.308 + <optgroup label="3½ ED"> 1.309 + <option value="2880">2.88 MB</option> 1.310 + <option value="3360">3.36 MB</option> 1.311 + <option value="3444">3.44 MB</option> 1.312 + <option value="3840">3.84 MB</option> 1.313 + <option value="3936">3.92 MB</option> 1.314 + </optgroup> 1.315 + <option value="0">$(_ 'no limit')</option> 1.316 + </select> 1.317 + $(_ 'RAM used') <select name="mem"> 1.318 + <option selected="selected" value="16">16 MB</option> 1.319 + <option value="15">15 MB</option> 1.320 + <option value="14">14 MB</option> 1.321 + <option value="13">13 MB</option> 1.322 + <option value="12">12 MB</option> 1.323 + <option value="11">11 MB</option> 1.324 + <option value="10">10 MB</option> 1.325 + <option value="9">9 MB</option> 1.326 + <option value="8">8 MB</option> 1.327 + <option value="7">7 MB</option> 1.328 + <option value="6">6 MB</option> 1.329 + <option value="5">5 MB</option> 1.330 + <option value="4">4 MB</option> 1.331 + </select> 1.332 + <button type="submit" name="build" data-icon="start" >$(_ 'Build floppy set' )</button> 1.333 + </td> 1.334 + </tr> 1.335 +</tbody></table> 1.336 +<footer> 1.337 +<p> 1.338 +$(_ 'Note') 1: $(_ 'the extra initramfs may be useful to add your own configuration files.') 1.339 +</p> 1.340 +<p> 1.341 +$(_ 'Note') 2: $(_ 'the keyboard is read for ESC or ENTER on every form feed (ASCII 12) in the boot message.') 1.342 +</p> 1.343 +</footer> 1.344 +</section> 1.345 +</form> 1.346 +EOT 1.347 + 1.348 +xhtml_footer 1.349 +exit 0