slitaz-dev-tools rev 5
Add /var/www/mirror-info/mirror from mirror-tools stuff.
line diff
1.1 Binary file mirror-tools/var/www/slitaz/mirror/css/favicon.ico has changed
2.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/mime/Directory has changed
3.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/mime/application_octet-stream has changed
4.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/mime/file_fd has changed
5.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/mime/file_iso has changed
6.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/mime/file_md5 has changed
7.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/mime/file_tar.gz has changed
8.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/mime/file_tazpkg has changed
9.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/mime/text_plain has changed
10.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/website/header-img.png has changed
11.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/website/logo.png has changed
12.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/website/network.png has changed
13.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/website/users.png has changed
14.1 Binary file mirror-tools/var/www/slitaz/mirror/css/pics/website/xhtml10.png has changed
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 15.2 +++ b/mirror-tools/var/www/slitaz/mirror/css/slitaz.css Thu Feb 24 01:29:50 2011 +0000 15.3 @@ -0,0 +1,587 @@ 15.4 +/* 15.5 + CSS style for SliTaz GNU/Linux website 15.6 + www.slitaz.org - (c) 2011 Pankso 15.7 +*/ 15.8 + 15.9 +html { 15.10 + min-height: 102%; 15.11 +} 15.12 + 15.13 +body { 15.14 + background: #ffffff; 15.15 + color: black; 15.16 + font: 13px sans-serif, vernada, arial; 15.17 + margin: 0; 15.18 + border-top: 34px solid #f1f1f1; 15.19 +} 15.20 + 15.21 +/* Accessibility */ 15.22 + 15.23 +#access { 15.24 + position: absolute; 15.25 + top: 4px; 15.26 + right: 0px; 15.27 + text-align: right; 15.28 + width: auto; 15.29 + margin: 0; 15.30 + padding: 4px 4px 4px 20px; 15.31 + font-size: 11px; 15.32 + font-weight: bold; 15.33 +} 15.34 + 15.35 +#access a { 15.36 + background: transparent; 15.37 + color: #0F314E; 15.38 + text-decoration: none; 15.39 +} 15.40 + 15.41 +#access a:hover { 15.42 + background: inherit; 15.43 + color: #b64b22; 15.44 +} 15.45 + 15.46 +#access img { 15.47 + vertical-align: middle; 15.48 +} 15.49 + 15.50 +/* Header and title */ 15.51 + 15.52 +#header { 15.53 + /*background: #f0ba08 url(pics/website/header.png) repeat-x top;*/ 15.54 + background: #351a0a url(pics/website/header-img.png) no-repeat top right; 15.55 + color: black; 15.56 + width: 100%; 15.57 + height: 42px; 15.58 + border-top: 1px solid black; 15.59 + border-bottom: 1px solid #999; 15.60 + margin-bottom: 33px; 15.61 +} 15.62 + 15.63 +#titre { 15.64 + position: absolute; 15.65 + font-size: 14px; 15.66 + font-weight: bolder ; 15.67 + left: 180px; 15.68 + top: 4px; 15.69 +} 15.70 + 15.71 +#logo { 15.72 + position: absolute; 15.73 + float: left; 15.74 + left: 16px; 15.75 + top: -10px; 15.76 + width: 200px; 15.77 + height: 74px; 15.78 +} 15.79 + 15.80 +/* Side bar Navigation */ 15.81 + 15.82 +#nav { 15.83 + position: absolute; 15.84 + top: 102px; 15.85 + right: 80px; 15.86 + color: #555555; 15.87 + float: right; 15.88 + width: 250px; 15.89 + line-height: 1.5em; 15.90 + text-align: left; 15.91 + font-size: 12px; 15.92 +} 15.93 + 15.94 +#nav .nav_box ul { 15.95 + list-style-type: none; 15.96 + margin: 0; 15.97 + padding: 10px 24px 10px 0px; 15.98 + background-color: inherit; 15.99 +} 15.100 + 15.101 +#nav li { 15.102 + display: inline; 15.103 +} 15.104 + 15.105 +#nav h4 { 15.106 + font-size: 120%; 15.107 + color: #666666; 15.108 + font-weight: bold; 15.109 + margin: 0; 15.110 + padding: 0 0 1px 0; 15.111 + border-bottom: 1px solid #cecece; 15.112 +} 15.113 + 15.114 +#nav a { 15.115 + color: #0F314E; 15.116 + background: inherit; 15.117 + display: block; 15.118 + text-decoration: none; 15.119 + font-weight: bold; 15.120 +} 15.121 + 15.122 +#nav a:hover { 15.123 + color: #b64b22; 15.124 + text-decoration: none; 15.125 + display: block; 15.126 +} 15.127 + 15.128 +#nav ul { 15.129 + -moz-border-radius: 8px; 15.130 + -webkit-border-radius: 8px; 15.131 + border-radius: 8px; 15.132 + list-style-type: none; 15.133 + margin: 10px 0; 15.134 + padding: 10px 24px 10px 24px; 15.135 + background-color: #eaeaea; 15.136 +} 15.137 + 15.138 +.nav_box { 15.139 + margin: 10px 0; 15.140 + padding: 10px 24px 10px 24px; 15.141 + background-color: #eaeaea; 15.142 + text-align: justify; 15.143 + -moz-border-radius: 8px; 15.144 + -webkit-border-radius: 8px; 15.145 + border-radius: 8px; 15.146 + -moz-box-shadow: 0 1px 3px #666; 15.147 + -webkit-box-shadow: 0 1px 3px #666; 15.148 + box-shadow: 0 1px 3px #666; 15.149 + /* CSS3 transition */ 15.150 + -webkit-transition-property: background-color; 15.151 + -webkit-transition-duration: 2s; 15.152 + -moz-transition-property: background-color; 15.153 + -moz-transition-duration: 2s; 15.154 + transition-property: background-color; 15.155 + transition-duration: 2s; 15.156 +} 15.157 + 15.158 +.nav_box:hover { background-color: #f8f8f8; } 15.159 + 15.160 +#nav .nav_box p { 15.161 + line-height: 1.3em; 15.162 +} 15.163 + 15.164 +#nav .nav_box p a { 15.165 + display: inline; 15.166 + font-weight: normal; 15.167 + text-decoration: underline; 15.168 +} 15.169 + 15.170 +#nav .nav_box p a:hover { 15.171 + text-decoration: none; 15.172 + color: blue; 15.173 + background: inherit; 15.174 +} 15.175 + 15.176 +/* Page content */ 15.177 + 15.178 +#content { 15.179 + background: white; 15.180 + color: black; 15.181 + text-align: justify; 15.182 + height: auto; 15.183 + margin: 6px 320px 0px 0px; 15.184 + padding: 0px 40px 60px 80px; 15.185 +} 15.186 + 15.187 +#content-full { 15.188 + background: white; 15.189 + color: black; 15.190 + text-align: justify; 15.191 + height: auto; 15.192 + margin: 0; 15.193 + padding: 0px 80px 40px 80px; 15.194 +} 15.195 + 15.196 +#content li, #content-full li { 15.197 + line-height: 1.5em; 15.198 + text-align: left; 15.199 +} 15.200 + 15.201 +#news li { 15.202 + list-style-type: square; 15.203 + border-bottom: 1px dotted #BEBEBE; 15.204 + margin-left: -25px; 15.205 + padding: 4px 0px 4px 0px; 15.206 +} 15.207 + 15.208 +#news a { 15.209 + text-decoration: none; 15.210 +} 15.211 + 15.212 +#gallery { 15.213 + text-align: center; 15.214 +} 15.215 + 15.216 +/* Box and block. */ 15.217 + 15.218 +.infobox { 15.219 + margin: 20px 60px; 15.220 + padding: 12px; 15.221 + background: #f8f8f8; 15.222 +} 15.223 + 15.224 +.infobox img { vertical-align: middle; } 15.225 +/* .infobox:hover { background-color: #f2b21d; } */ 15.226 +.infobox:hover { background-color: #FBFBFB; } 15.227 + 15.228 +.block { 15.229 + /*padding-bottom: 35%;*/ 15.230 + color: black; 15.231 + min-height: 200px; 15.232 + margin-bottom: 40px; 15.233 +} 15.234 + 15.235 +.block ul { 15.236 + list-style-type: none; 15.237 + margin: 0; 15.238 + padding: 0 20px; 15.239 +} 15.240 + 15.241 +.block_left { 15.242 + width: 46%; 15.243 + float: left; 15.244 + background-color: #eaeaea; 15.245 + margin: 4px 2px; 15.246 + padding: 0 10px 10px 10px; 15.247 +} 15.248 + 15.249 +.block_right { 15.250 + width: 46%; 15.251 + float: right; 15.252 + background-color: #eaeaea; 15.253 + margin: 4px 2px; 15.254 + padding: 0 10px 10px 10px; 15.255 +} 15.256 + 15.257 +#block_top { 15.258 + color: black; 15.259 + background-color: #eaeaea; 15.260 + min-height: 180px; 15.261 + margin-bottom: 40px; 15.262 + margin-right: 340px; 15.263 + padding: 0 10px; 15.264 +} 15.265 + 15.266 +#block_nav { 15.267 + width: 300px; 15.268 + min-height: 180px; 15.269 + float: right; 15.270 + background-color: #eaeaea; 15.271 + margin: 0; 15.272 + padding: 0 10px; 15.273 +} 15.274 + 15.275 +.infobox, .block_left, .block_right, #block_top, #block_nav, #footer { 15.276 + -moz-border-radius: 8px; 15.277 + -webkit-border-radius: 8px; 15.278 + border-radius: 8px; 15.279 + -moz-box-shadow: 0 1px 3px #666; 15.280 + -webkit-box-shadow: 0 1px 3px #666; 15.281 + box-shadow: 0 1px 3px #666; 15.282 + /* CSS3 transition */ 15.283 + -webkit-transition-property: background-color; 15.284 + -webkit-transition-duration: 2s; 15.285 + -moz-transition-property: background-color; 15.286 + -moz-transition-duration: 2s; 15.287 + transition-property: background-color; 15.288 + transition-duration: 2s; 15.289 +} 15.290 + 15.291 +#block_nav { 15.292 + font-weight: bold; 15.293 +} 15.294 + 15.295 +#block_nav a { 15.296 + text-decoration: none; 15.297 +} 15.298 + 15.299 +#block_nav li a:hover { 15.300 + color: #b64b22; 15.301 +} 15.302 + 15.303 +#block_nav ul { 15.304 + margin: 0; 15.305 + list-style-type: none; 15.306 +} 15.307 + 15.308 +#block_nav h3 { 15.309 + font-size: 110%; 15.310 +} 15.311 + 15.312 +.block_left:hover, .block_right:hover, #block_top:hover, 15.313 +#block_nav:hover, #footer:hover { 15.314 + background-color: #f8f8f8; 15.315 +} 15.316 + 15.317 +.right_box { 15.318 + width: 50%; 15.319 + float: right; 15.320 +} 15.321 + 15.322 +.floor { 15.323 + color: #999999; 15.324 + font-size: 20px; 15.325 + -webkit-transform: rotate(-45deg) skew(15deg, 15deg); 15.326 + -moz-transform: rotate(-45deg) skew(15deg, 15deg); 15.327 + -o-transform: rotate(-45deg) skew(15deg, 15deg); 15.328 + -ms-transform: rotate(-45deg) skew(15deg, 15deg); 15.329 + transform: rotate(-45deg) skew(15deg, 15deg); 15.330 +} 15.331 + 15.332 +/* Button */ 15.333 + 15.334 +.button { margin-left: 20px; } 15.335 + 15.336 +.button a { 15.337 + background-color: #b64b22; 15.338 + color: #ffffff; 15.339 + margin-right: 6px; 15.340 + padding: 6px 10px; 15.341 + font-size: 14px; 15.342 + -moz-border-radius: 4px; 15.343 + -webkit-border-radius: 4px; 15.344 + border-radius: 4px; 15.345 + -moz-box-shadow: 0 1px 3px #666; 15.346 + -webkit-box-shadow: 0 1px 3px #666; 15.347 + box-shadow: 0 1px 3px #666; 15.348 +} 15.349 + 15.350 +.button a:hover, input[type=submit]:hover { 15.351 + background-color: #a3431f; 15.352 + color: #ffffff; 15.353 +} 15.354 + 15.355 +input[type=submit] { 15.356 + border: 1px solid #b64b22; 15.357 + background-color: #b64b22; 15.358 + color: white; 15.359 + font-weight: bold; 15.360 + cursor: pointer; 15.361 + padding: 2px 10px; 15.362 + font-size: 14px; 15.363 + -moz-border-radius: 2px; 15.364 + -webkit-border-radius: 2px; 15.365 + border-radius: 2px; 15.366 + -moz-box-shadow: 0 0 5px #666; 15.367 + -webkit-box-shadow: 0 0 5px#666; 15.368 + box-shadow: 0 0 5px #666; 15.369 +} 15.370 + 15.371 +input[type=text] { 15.372 + border: 1px solid #333333; 15.373 + padding: 3px; 15.374 + width: 100%; 15.375 + max-width: 500px; 15.376 +} 15.377 + 15.378 +/* Clouds */ 15.379 + 15.380 +#cloud { 15.381 + padding: 10px 0px; 15.382 + line-height: 3em; 15.383 + text-align: center; 15.384 +} 15.385 +#cloud a { padding: 0 2px; color: #956411; } 15.386 +#cloud a.tag1 { font-size: 0.7em; font-weight: 100; } 15.387 +#cloud a.tag2 { font-size: 0.8em; font-weight: 200; } 15.388 +#cloud a.tag3 { font-size: 0.9em; font-weight: 300; } 15.389 +#cloud a.tag4 { font-size: 1.0em; font-weight: 400; } 15.390 +#cloud a.tag5 { font-size: 1.2em; font-weight: 500; } 15.391 +#cloud a.tag6 { font-size: 1.4em; font-weight: 600; } 15.392 +#cloud a.tag7 { font-size: 1.6em; font-weight: 700; } 15.393 +#cloud a.tag8 { font-size: 1.8em; font-weight: 800; } 15.394 +#cloud a.tag9 { font-size: 2.2em; font-weight: 900; } 15.395 +#cloud a.tag10 { font-size: 2.5em; font-weight: 900; } 15.396 + 15.397 +/* Slideshow. */ 15.398 + 15.399 +#slideshow 15.400 +{ 15.401 + overflow: hidden; 15.402 + margin: 10px auto 10px; 15.403 + position: relative; 15.404 + width: 260px; 15.405 + height: 163px; 15.406 +} 15.407 + 15.408 +#slideshow img 15.409 +{ 15.410 + border: 0; 15.411 + width: 260px; 15.412 + height: 163px; 15.413 +} 15.414 + 15.415 +#twitter { 15.416 + margin-top: 20px; 15.417 + -moz-border-radius: 8px; 15.418 + -webkit-border-radius: 8px; 15.419 + border-radius: 8px; 15.420 + -moz-box-shadow: 0 1px 3px #666; 15.421 + -webkit-box-shadow: 0 1px 3px #666; 15.422 + box-shadow: 0 1px 3px #666; 15.423 +} 15.424 + 15.425 +/* HTML styles */ 15.426 + 15.427 +h1 { 15.428 + color: #444444; 15.429 + background: transparent; 15.430 + text-align: left; 15.431 + margin: 0px 0px 4px 0px; 15.432 + font-size: 150%; 15.433 + font-weight: bold; 15.434 + padding: 5px 0 0 10px; 15.435 +} 15.436 + 15.437 +h2 { 15.438 + color: #b64b22; 15.439 + padding: 0; 15.440 + margin: 20px 0 0 0; 15.441 + font-size: 130%; 15.442 + font-weight: bold; 15.443 +} 15.444 + 15.445 +h3 { 15.446 + font-weight: bold; 15.447 + color: #666666; 15.448 + background: transparent; 15.449 +} 15.450 + 15.451 +h3 img { 15.452 + vertical-align: middle; 15.453 + width: 20px; 15.454 + height: 20px; 15.455 + padding-right: 4px; 15.456 +} 15.457 + 15.458 +a { 15.459 + text-decoration: underline; 15.460 + color: #103A5E; 15.461 + background: inherit; 15.462 +} 15.463 + 15.464 +a:hover { 15.465 + text-decoration: none; 15.466 + color: blue; 15.467 + background: inherit; 15.468 +} 15.469 + 15.470 +code { 15.471 + font-size: 12px; 15.472 + color: #669900; 15.473 + background: inherit; 15.474 +} 15.475 + 15.476 +tt { 15.477 + color: #15EE15; 15.478 + background: inherit; 15.479 +} 15.480 + 15.481 +img { 15.482 + border: 0pt none; 15.483 +} 15.484 + 15.485 +fieldset { 15.486 + background: #E2ECf6; 15.487 + color: black; 15.488 + margin-top: 25px; 15.489 + border: 1px solid black; 15.490 +} 15.491 + 15.492 +legend { 15.493 + border: 1px solid black; 15.494 + color: #6c0023; 15.495 + background: #eaeaea; 15.496 + font-weight: bold; 15.497 +} 15.498 + 15.499 +pre { 15.500 + padding: 5px; 15.501 + color: black; 15.502 + background: #E1E0B0; 15.503 +} 15.504 + 15.505 +pre.script { 15.506 + padding: 10px; 15.507 + color: black; 15.508 + background: #E8E8E8; 15.509 + border: 1px inset #606060; 15.510 +} 15.511 + 15.512 +textarea { 15.513 + background: #E5E5E5; 15.514 + margin-top: 12px; 15.515 +} 15.516 + 15.517 +/* Packages pages */ 15.518 + 15.519 +.pkg_nav { 15.520 + border-top: 1px solid black; 15.521 + margin-top: 10px; 15.522 + padding-top: 10px; 15.523 +} 15.524 + 15.525 +pre.package { 15.526 + padding: 0px; 15.527 + color: black; 15.528 + background: white; 15.529 +} 15.530 + 15.531 +p.get { 15.532 + text-align: center; 15.533 + padding: 10px; 15.534 + color: black; 15.535 + background: #F3F3F3; 15.536 + border: 1px solid #DEDEDE; 15.537 + border-radius: 4px; 15.538 + -moz-border-radius: 4px; 15.539 + -webkit-border-radius: 4px; 15.540 +} 15.541 + 15.542 +p.get a { 15.543 + font-weight: bold; 15.544 + text-decoration: none; 15.545 +} 15.546 + 15.547 +.pkgs-search { 15.548 + text-align: center; 15.549 + padding: 40px 20px 80px 20px; 15.550 +} 15.551 + 15.552 +.year:after { 15.553 + /* content: "2007-2011"; */ 15.554 + content: "2011"; 15.555 +} 15.556 + 15.557 +/* Footer */ 15.558 + 15.559 +#footer { 15.560 + margin: 0px 80px 80px 80px; 15.561 + padding: 10px; 15.562 + background: #eaeaea; 15.563 + color: #666666; 15.564 + height: 180px; 15.565 + clear: both; 15.566 + border-radius: 8px; 15.567 + -moz-border-radius: 8px; 15.568 + -webkit-border-radius: 8px; 15.569 + -moz-box-shadow: 0 1px 3px #666; 15.570 + -webkit-box-shadow: 0 1px 3px #666; 15.571 + box-shadow: 0 1px 3px #666; 15.572 +} 15.573 +#footer a { 15.574 + background: inherit; 15.575 + color: #666666; 15.576 +} 15.577 +#footer a:hover { 15.578 + background: inherit; 15.579 + color: #333333; 15.580 +} 15.581 +#footer ul { 15.582 + list-style-type: none; 15.583 +} 15.584 +#footer li { 15.585 + padding: 2px; 15.586 +} 15.587 +#footer h4 { 15.588 + margin: 0 20px; 15.589 + font-size: 125%; 15.590 +}
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 16.2 +++ b/mirror-tools/var/www/slitaz/mirror/dir-generator.php Thu Feb 24 01:29:50 2011 +0000 16.3 @@ -0,0 +1,442 @@ 16.4 +<?php 16.5 +function redirect() 16.6 +{ 16.7 +?> 16.8 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 16.9 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 16.10 +<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"> 16.11 +<head> 16.12 + <title>SliTaz mirror redirection</title> 16.13 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 16.14 + <meta name="description" content="slitaz mirror redirection" /> 16.15 + <meta name="robots" content="index, nofollow" /> 16.16 + <meta name="author" content="SliTaz Contributors" /> 16.17 + <meta http-equiv="Refresh" content="0;url=http://mirror.slitaz.org/"> 16.18 +</head> 16.19 +<?php 16.20 +} 16.21 + 16.22 +$VERSION = "0.2-slitaz"; 16.23 + 16.24 +/* Lighttpd Enhanced Directory Listing Script 16.25 + * ------------------------------------------ 16.26 + * Authors: Evan Fosmark <me@evanfosmark.com>, 16.27 + * Pascal Bellard <pascal.bellard@slitaz.org> 16.28 + * Christophe Lincoln <pankso@slitaz.org> 16.29 + * 16.30 + * 16.31 + * GNU License Agreement 16.32 + * --------------------- 16.33 + * This program is free software; you can redistribute it and/or modify 16.34 + * it under the terms of the GNU General Public License as published by 16.35 + * the Free Software Foundation; either version 2 of the License, or 16.36 + * (at your option) any later version. 16.37 + * 16.38 + * This program is distributed in the hope that it will be useful, 16.39 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 16.40 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16.41 + * GNU General Public License for more details. 16.42 + * 16.43 + * You should have received a copy of the GNU General Public License 16.44 + * along with this program; if not, write to the Free Software 16.45 + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 16.46 + * 16.47 + * http://www.gnu.org/licenses/gpl.txt 16.48 + */ 16.49 + 16.50 +// Get the path (cut out the query string from the request_uri) 16.51 +list($path) = explode('?', $_SERVER['REQUEST_URI']); 16.52 + 16.53 + 16.54 +// Get the path that we're supposed to show. 16.55 +$path = ltrim(rawurldecode($path), '/'); 16.56 + 16.57 + 16.58 +if(strlen($path) == 0) { 16.59 + $path = "./"; 16.60 +} 16.61 + 16.62 + 16.63 +// Can't call the script directly since REQUEST_URI won't be a directory 16.64 +if($_SERVER['PHP_SELF'] == '/'.$path) { 16.65 + redirect(); 16.66 +// die("Unable to call " . $path . " directly."); 16.67 +} 16.68 + 16.69 + 16.70 +$vpath = ($path != "./")?$path:""; 16.71 +// Make sure it is valid. 16.72 +if(!is_dir($path)) { 16.73 +// die("<b>" . $path . "</b> is not a valid path."); 16.74 + $path = dirname($_SERVER["SCRIPT_FILENAME"]); 16.75 + list($vpath) = explode('?', $_SERVER['REQUEST_URI']); 16.76 + $vpath = ltrim(rawurldecode($vpath), '/'); 16.77 +} 16.78 + 16.79 + 16.80 +// 16.81 +// This function returns the file size of a specified $file. 16.82 +// 16.83 +function format_bytes($size, $precision=1) { 16.84 + $sizes = array('Y', 'Z', 'E', 'P', 'T', 'G', 'M', 'K', ''); 16.85 + $total = count($sizes); 16.86 + 16.87 + while($total-- && $size > 1024) $size /= 1024; 16.88 + if ($sizes[$total] == '') { 16.89 + $size /= 1024; 16.90 + $total--; 16.91 + } 16.92 + return sprintf('%.'.$precision.'f', $size).$sizes[$total]; 16.93 +} 16.94 + 16.95 + 16.96 +// 16.97 +// Get some variables from /etc/lighttpd/lighttpd.conf 16.98 +// 16.99 +$conf_lightty = file_get_contents("/etc/lighttpd/lighttpd.conf"); 16.100 + 16.101 +function get_conf($var,$start,$stop,$default='') { 16.102 + global $conf_lightty; 16.103 + 16.104 + if (!preg_match('/'.$var.'/',$conf_lightty)) return $default; 16.105 + $filter = '/(.*\n)*'.$var.'\s*=\s*'.$start.'(([^'.$stop.']*\n*)*)'.$stop.'(.*\n)*/'; 16.106 + return preg_replace($filter,'$2',$conf_lightty); 16.107 +} 16.108 + 16.109 +$encoding = get_conf('dir-listing.encoding','"','"','ascii'); 16.110 +$external_css = get_conf('dir-listing.external-css','"','"'); 16.111 + 16.112 +$show_hidden_files = false; 16.113 +if (get_conf('dir-listing.hide-dotfile','"','"','disable') == "disable") { 16.114 + $show_hidden_files = true; 16.115 +} 16.116 +// get_conf('dir-listing.exclude','\(','\)'); 16.117 +// get_conf('dir-listing.set-footer','"','"'); 16.118 + 16.119 +$mime_types = array(); 16.120 +foreach (explode(',',get_conf('mimetype.assign','\(','\)')) as $item) { 16.121 + $filter = '/\s*"(.*)"\s*=>\s*"(.*)".*/'; 16.122 + $val = explode(',',preg_replace($filter,'$1,$2',$item)); 16.123 + if (isset($val[1])) $mime_types[$val[0]] = $val[1]; 16.124 +} 16.125 + 16.126 +// 16.127 +// This function returns the mime type of $file. 16.128 +// 16.129 +function get_file_type($file) { 16.130 + global $mime_types; 16.131 + 16.132 + $file = basename($file); 16.133 + $default_type = "application/octet-stream"; 16.134 + if (isset($mime_types[$file])) { 16.135 + return $mime_types[$file]; 16.136 + } 16.137 + $pos = strrpos($file, "."); 16.138 + if ($pos === false) { 16.139 + return $default_type; 16.140 + } 16.141 +//FIXME .tar.gz 16.142 + $ext = '.'.rtrim(substr($file, $pos+1), "~"); 16.143 + if (isset($mime_types[$ext])) { 16.144 + return $mime_types[$ext]; 16.145 + } 16.146 + return $default_type; 16.147 +} 16.148 + 16.149 +//$slitaz_style = (dirname($_SERVER["PHP_SELF"]) == '/'); 16.150 +$slitaz_style = ($_SERVER["SERVER_NAME"] == "mirror.slitaz.org"); 16.151 +if ($slitaz_style) { 16.152 + $fvalue = ""; 16.153 + if (isset($_GET[f])) $fvalue = 'value="'.$_GET[f].'"'; 16.154 + print <<<EOT 16.155 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 16.156 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 16.157 +<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"> 16.158 +<head> 16.159 + <title>Index of /$vpath</title> 16.160 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 16.161 + <meta name="description" content=">Index of /$vpath" /> 16.162 + <meta name="robots" content="index, nofollow" /> 16.163 + <meta name="author" content="SliTaz Contributors" /> 16.164 + <link rel="shortcut icon" href="/css/favicon.ico" /> 16.165 + <link rel="stylesheet" type="text/css" href="/css/slitaz.css" /> 16.166 + <style type='text/css'> 16.167 + div.list { background-color: white; padding-bottom: 14px;} 16.168 + table {width: 100% ;} 16.169 + th, td { font: 90% monospace; text-align: left;} 16.170 + th { font-weight: bold; padding-right: 14px; padding-bottom: 3px;} 16.171 + td {padding-right: 14px;} 16.172 + td.s, th.s {text-align: right;} 16.173 + </style> 16.174 +</head> 16.175 +<body> 16.176 + 16.177 +<!-- Header --> 16.178 +<div id="header"> 16.179 + <a href="http://mirror.slitaz.org/"><img id="logo" 16.180 + src="/css/pics/website/logo.png" 16.181 + title="mirror.slitaz.org" alt="mirror.slitaz.org" /></a> 16.182 + <p id="titre">#!/Mirror/${vpath}</p> 16.183 +</div> 16.184 + 16.185 +<!-- Content --> 16.186 +<div id="content-full"> 16.187 + 16.188 +<!-- Block begin --> 16.189 +<div class="block"> 16.190 + <!-- Nav block begin --> 16.191 + <div id="block_nav"> 16.192 + <h3><img src="/css/pics/website/users.png" alt="users.png" />Community</h3> 16.193 + <ul> 16.194 + <li><a href="http://pizza.slitaz.org/">Live Builder</a></li> 16.195 + <li><a href="http://boot.slitaz.org/">Web Boot</a></li> 16.196 + </ul> 16.197 + <h3>Search</h3> 16.198 + <form class="search" action="${_SERVER["REQUEST_URI"]}" method="get" > 16.199 + <p><input type="text" name="f" $fvalue /></p> 16.200 + </form> 16.201 + <!-- Nav block end --> 16.202 + </div> 16.203 + <!-- Top block begin --> 16.204 + <div id="block_top"> 16.205 + <h1>About Mirror</h1> 16.206 + <p>Welcome to Open Source! 16.207 +EOT; 16.208 + if ($_SERVER["SERVER_NAME"] == "mirror.slitaz.org") print <<<EOT 16.209 + This is the SliTaz GNU/Linux main mirror. The server runs naturally SliTaz 16.210 + (stable) in an lguest virtual machine provided by 16.211 + <a href="http://www.ads-lu.com/">ADS</a>. 16.212 +EOT; 16.213 + print <<<EOT 16.214 + </p> 16.215 + <p><img src="/css/pics/website/network.png" 16.216 + alt=".png" style="vertical-align:middle;"/>Mirrors: 16.217 +EOT; 16.218 + $mirrors = array(); 16.219 + $fp = @fopen(dirname($_SERVER["SCRIPT_FILENAME"])."/mirrors","r"); 16.220 + if ($fp) { 16.221 + while (($line = fgets($fp)) !== false) { 16.222 + $line = chop($line); 16.223 + $url = parse_url($line); 16.224 + if ($_SERVER["SERVER_NAME"] == $url['host']) continue; 16.225 + $host = explode('.',$url['host']); 16.226 + $mirrors[$host[count($host)-2].".". 16.227 + $host[count($host)-1]] = $line; 16.228 + } 16.229 + } 16.230 + fclose($fp); 16.231 + foreach($mirrors as $name => $url) { 16.232 + echo "<a href=\"$url$vpath\" title=\"$name mirror\">$name</a>\n"; 16.233 + } 16.234 + print <<<EOT 16.235 + </p> 16.236 + <!-- Top block end --> 16.237 + </div> 16.238 +<!-- Block end --> 16.239 +</div> 16.240 + 16.241 +EOT; 16.242 +} 16.243 +else { 16.244 + 16.245 +// Print the heading stuff 16.246 +print "<?xml version='1.0' encoding='$encoding'?> 16.247 +<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'> 16.248 +<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'> 16.249 + <head> 16.250 + <title>Index of /" .$vpath. "</title> 16.251 +"; 16.252 +if ($external_css != '') { 16.253 +print " <link rel='stylesheet' type='text/css' href='".$external_css."' /> 16.254 +"; 16.255 +} 16.256 +else { 16.257 +print " <style type='text/css'> 16.258 + a, a:active {text-decoration: none; color: blue;} 16.259 + a:visited {color: #48468F;} 16.260 + a:hover, a:focus {text-decoration: underline; color: red;} 16.261 + body {background-color: #F5F5F5;} 16.262 + h2 {margin-bottom: 12px;} 16.263 + table {margin-left: 12px;} 16.264 + th, td { font: 90% monospace; text-align: left;} 16.265 + th { font-weight: bold; padding-right: 14px; padding-bottom: 3px;} 16.266 + td {padding-right: 14px;} 16.267 + td.s, th.s {text-align: right;} 16.268 + div.list { background-color: white; border-top: 1px solid #646464; border-bottom: 1px solid #646464; padding-top: 10px; padding-bottom: 14px;} 16.269 + div.foot { font: 90% monospace; color: #787878; padding-top: 4px;} 16.270 + </style> 16.271 +"; 16.272 +} 16.273 +print " </head> 16.274 + <boby> 16.275 + <h2>Index of /" . $vpath ."</h2> 16.276 +"; 16.277 +} 16.278 + 16.279 +print " <div class='list'> 16.280 + <table summary='Directory Listing' cellpadding='0' cellspacing='0'> 16.281 +"; 16.282 + 16.283 + 16.284 + 16.285 +// Get all of the folders and files. 16.286 +$folderlist = array(); 16.287 +$filelist = array(); 16.288 +if($handle = @opendir($path)) { 16.289 + while(($item = readdir($handle)) !== false) { 16.290 + if ($item == "index.php") continue; 16.291 + if ($item == "dir-generator.php") continue; 16.292 + if (isset($_GET['f'])) { 16.293 + $filter = $_GET['f']; 16.294 + if (substr($filter,0,1) != '/') 16.295 + $filter = '/'.$filter.'/i'; 16.296 + if (!preg_match($filter,$item)) continue; 16.297 + } 16.298 + if(is_dir($path.'/'.$item) and $item != '.' and $item != '..') { 16.299 + $folderlist[] = array( 16.300 + 'name' => $item, 16.301 + 'size' => 0, 16.302 + 'modtime'=> filemtime($path.'/'.$item), 16.303 + 'file_type' => "Directory" 16.304 + ); 16.305 + } 16.306 + elseif(is_file($path.'/'.$item)) { 16.307 + if(!$show_hidden_files) { 16.308 + if(substr($item, 0, 1) == "." or substr($item, -1) == "~") { 16.309 + continue; 16.310 + } 16.311 + } 16.312 + $filelist[] = array( 16.313 + 'name'=> $item, 16.314 + 'size'=> filesize($path.'/'.$item), 16.315 + 'modtime'=> filemtime($path.'/'.$item), 16.316 + 'file_type' => get_file_type($path.'/'.$item) 16.317 + ); 16.318 + } 16.319 + } 16.320 + closedir($handle); 16.321 +} 16.322 + 16.323 + 16.324 +if(!isset($_GET['s'])) { 16.325 + $_GET['s'] = 'name'; 16.326 +} 16.327 + 16.328 +// Figure out what to sort files by 16.329 +$file_order_by = array(); 16.330 +foreach ($filelist as $key=>$row) { 16.331 + $file_order_by[$key] = $row[$_GET['s']]; 16.332 +} 16.333 + 16.334 +// Figure out what to sort folders by 16.335 +$folder_order_by = array(); 16.336 +foreach ($folderlist as $key=>$row) { 16.337 + $folder_order_by[$key] = $row[$_GET['s']]; 16.338 +} 16.339 + 16.340 +// Order the files and folders 16.341 +$sort_type = SORT_ASC; 16.342 +$order = "&o=d"; 16.343 +if(isset($_GET['o'])) { 16.344 + $sort_type = SORT_DESC; 16.345 + $order = ""; 16.346 +} 16.347 +array_multisort($folder_order_by, $sort_type, $folderlist); 16.348 +array_multisort($file_order_by, $sort_type, $filelist); 16.349 + 16.350 + 16.351 +// Show sort methods 16.352 +print "<thead><tr>"; 16.353 + 16.354 +$sort_methods = array(); 16.355 +$sort_methods['name'] = "Name"; 16.356 +$sort_methods['modtime'] = "Last Modified"; 16.357 +$sort_methods['size'] = "Size"; 16.358 +$sort_methods['file_type'] = "Type"; 16.359 + 16.360 +foreach($sort_methods as $key=>$item) { 16.361 + if ($_GET['s'] == $key) $key = "$key$order"; 16.362 + print "<th class='n'><a href='?s=$key'>$item</a></th>"; 16.363 +} 16.364 +print "</tr></thead>\n<tbody>\n"; 16.365 + 16.366 + 16.367 + 16.368 +// Parent directory link 16.369 +if($path != "./") { 16.370 + print "<tr><td class='n'><a href='..'>Parent Directory</a>/</td>"; 16.371 + print "<td class='m'> </td>"; 16.372 + print "<td class='s'>- </td>"; 16.373 + print "<td class='t'>Directory</td></tr>\n"; 16.374 +} 16.375 + 16.376 + 16.377 + 16.378 +// Print folder information 16.379 +foreach($folderlist as $folder) { 16.380 + print "<tr><td class='n'><a href='" . addslashes($folder['name']). "'>" .htmlentities($folder['name']). "</a>/</td>"; 16.381 + print "<td class='m'>" . date('Y-M-d H:m:s', $folder['modtime']) . "</td>"; 16.382 + print "<td class='s'>- </td>"; 16.383 + print "<td class='t'>" . $folder['file_type'] . "</td></tr>\n"; 16.384 +} 16.385 + 16.386 + 16.387 +// Print file information 16.388 +foreach($filelist as $file) { 16.389 + print "<tr><td class='n'><a href='" . addslashes($file['name']). "'>" .htmlentities($file['name']). "</a></td>"; 16.390 + print "<td class='m'>" . date('Y-M-d H:m:s', $file['modtime']) . "</td>"; 16.391 + print "<td class='s'>" . format_bytes($file['size']) . "</td>"; 16.392 + print "<td class='t'>" . $file['file_type'] . "</td></tr>\n"; 16.393 +} 16.394 + 16.395 +// Print ending stuff 16.396 +$soft = explode('/',$_SERVER["SERVER_SOFTWARE"]); 16.397 +$tag = get_conf('server.tag','"','"',$soft[0].' <'.$soft[1].'>'); 16.398 +print "</tbody> 16.399 + </table> 16.400 + </div>"; 16.401 +if ($slitaz_style) { ?> 16.402 + 16.403 +<!-- End of content --> 16.404 +</div> 16.405 + 16.406 +<!-- Footer --> 16.407 +<div id="footer"> 16.408 + <div class="right_box"> 16.409 + <h4>SliTaz Network</h4> 16.410 + <ul> 16.411 + <li><a href="http://www.slitaz.org/">Main Website</a></li> 16.412 + <li><a href="http://doc.slitaz.org/">Documentation</a></li> 16.413 + <li><a href="http://forum.slitaz.org/">Support Forum</a></li> 16.414 + <li><a href="http://scn.slitaz.org/">Community Network</a></li> 16.415 + <li><a href="http://pkgs.slitaz.org/">Packages</a></li> 16.416 + <li><a href="http://labs.slitaz.org/">Laboratories</a></li> 16.417 + </ul> 16.418 + </div> 16.419 + <h4>SliTaz Website</h4> 16.420 + <ul> 16.421 + <li><a href="#header">Top of the page</a></li> 16.422 + <li>Copyright © <span class="year"></span> 16.423 + <a href="http://www.slitaz.org/">SliTaz</a></li> 16.424 + <li><a href="about/">About the project</a></li> 16.425 + <li><a href="netmap.php">Network Map</a></li> 16.426 + <li>Page modified the <?php echo date('r'); ?></li> 16.427 + <li><a href="http://validator.w3.org/check?uri=referer"><img 16.428 + src="pics/website/xhtml10.png" alt="Valid XHTML 1.0" 16.429 + title="Code validé XHTML 1.0" 16.430 + style="width: 80px; height: 15px; vertical-align: middle;" /></a></li> 16.431 + </ul> 16.432 +</div> 16.433 + 16.434 +<?php } 16.435 +else print " 16.436 + <form action='".$_SERVER["REQUEST_URI"]."' method='get'> 16.437 + <div class='foot'>".$tag." 16.438 + <input type='text' name='f'/> 16.439 + <!-- <input type='submit' value='Filter' /> --> 16.440 + </div> 16.441 + </form> 16.442 +"; 16.443 +print "</body> 16.444 + </html>"; 16.445 +?>
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 17.2 +++ b/mirror-tools/var/www/slitaz/mirror/floppies/builder/bootloader Thu Feb 24 01:29:50 2011 +0000 17.3 @@ -0,0 +1,211 @@ 17.4 +#!/bin/sh 17.5 +# 17.6 +# This script creates a floppy image set from a linux bzImage and can merge 17.7 +# a cmdline and/or one or more initramfs. 17.8 +# The total size can not exceed 15M because INT 15H function 87H limitations. 17.9 +# 17.10 +# (C) 2009 Pascal Bellard - GNU General Public License v3. 17.11 + 17.12 +usage() 17.13 +{ 17.14 +cat <<EOT 17.15 +Usage: $0 bzImage [--prefix image_prefix] [--cmdline 'args'] 17.16 + [--rdev device] [--video mode] [--flags rootflags] [--tracks cnt] 17.17 + [--format 1440|1680|1920|2880 ] [--initrd initrdfile]... 17.18 + 17.19 +Default values: --format 1440 --tracks 80 --prefix floppy. 17.20 + 17.21 +Example: 17.22 +$0 /boot/vmlinuz-2.6.30.6 --rdev /dev/ram0 --video -3 --cmdline 'rw lang=fr_FR kmap=fr-latin1 laptop autologin' --initrd /boot/rootfs.gz --initrd ./myconfig.gz 17.23 +EOT 17.24 +exit 1 17.25 +} 17.26 + 17.27 +KERNEL="" 17.28 +INITRD="" 17.29 +CMDLINE="" 17.30 +PREFIX="floppy." 17.31 +FORMAT="1440" 17.32 +RDEV="" 17.33 +VIDEO="" 17.34 +FLAGS="" 17.35 +TRACKS="" 17.36 +DEBUG="" 17.37 +while [ -n "$1" ]; do 17.38 + case "$1" in 17.39 + --c*|-c*) CMDLINE="$2"; shift;; 17.40 + --i*|-i*) INITRD="$INITRD $2"; shift;; 17.41 + --p*|-p*) PREFIX="$2"; shift;; 17.42 + --fo*|-f*) FORMAT="$2"; shift;; 17.43 + --fl*) FLAGS="$2"; shift;; # 1 read-only, 0 read-write 17.44 + --r*|-r*) RDEV="$2"; shift;; # /dev/??? 17.45 + --v*|-v*) VIDEO="$2"; shift;; # -3 .. n 17.46 + --t*|-t*) TRACKS="$2"; shift;; # likely 81 .. 84 17.47 + --debug) DEBUG="1";; 17.48 + *) KERNEL="$1";; 17.49 + esac 17.50 + shift 17.51 +done 17.52 +[ -n "$KERNEL" -a -f "$KERNEL" ] || usage 17.53 +if [ -n "$TRACKS" ]; then 17.54 + if [ $(( $FORMAT % $TRACKS )) -ne 0 ]; then 17.55 + echo "Invalid track count for format $FORMAT." 17.56 + usage 17.57 + fi 17.58 +fi 17.59 + 17.60 +# write a 16 bits data 17.61 +# usage: store16 offset data16 file 17.62 +store16() 17.63 +{ 17.64 + echo $(( $2 + 0x10000 )) | \ 17.65 + awk '{ printf "\\\\x%02X\\\\x%02X",$1%256,($1/256)%256 }' | \ 17.66 + xargs echo -en | \ 17.67 + dd bs=2 conv=notrunc of=$3 seek=$(( $1 / 2 )) 2> /dev/null 17.68 + [ -n "$DEBUG" ] && printf "store16(%04X) = %04X\n" $1 $2 1>&2 17.69 +} 17.70 + 17.71 +# write a 32 bits data 17.72 +# usage: storelong offset data32 file 17.73 +storelong() 17.74 +{ 17.75 + echo $2 | awk '{ printf "\\\\x%02X\\\\x%02X\\\\x%02X\\\\x%02X", 17.76 + $1%256,($1/256)%256,($1/256/256)%256,($1/256/256/256)%256 }' | \ 17.77 + xargs echo -en | \ 17.78 + dd bs=4 conv=notrunc of=$3 seek=$(( $1 / 4 )) 2> /dev/null 17.79 + [ -n "$DEBUG" ] && printf "storelong(%04X) = %08X\n" $1 $2 1>&2 17.80 +} 17.81 + 17.82 +# read a 32 bits data 17.83 +# usage: getlong offset file 17.84 +getlong() 17.85 +{ 17.86 + dd if=$2 bs=1 skip=$(( $1 )) count=4 2> /dev/null | \ 17.87 + hexdump -e '"" 1/4 "%d" "\n"' 17.88 +} 17.89 + 17.90 +floppyset() 17.91 +{ 17.92 + # bzImage offsets 17.93 + CylinderCount=496 17.94 + SetupSzOfs=497 17.95 + FlagsOfs=498 17.96 + SyssizeOfs=500 17.97 + VideoModeOfs=506 17.98 + RootDevOfs=508 17.99 + CodeAdrOfs=0x214 17.100 + RamfsAdrOfs=0x218 17.101 + RamfsLenOfs=0x21C 17.102 + ArgPtrOfs=0x228 17.103 + 17.104 + # boot+setup address 17.105 + SetupBase=0x90000 17.106 + 17.107 + stacktop=0x9E00 17.108 + 17.109 + bs=/tmp/bs$$ 17.110 + 17.111 + # Get and patch boot sector 17.112 + # See http://hg.slitaz.org/wok/raw-file/711d076b277c/linux/stuff/linux-header-2.6.34.u 17.113 + dd if=$KERNEL bs=512 count=1 of=$bs 2> /dev/null 17.114 + uudecode <<EOT | dd of=$bs conv=notrunc 2> /dev/null 17.115 +begin-base64 644 - 17.116 +/L+6nWgAkAcGF4n8McC5HQDzq1sfD6mg8X1ABlfFd3ixBvOlZWaPR3gGH8ZF 17.117 ++D/6l1hB6DQBvgACA3QO6HYBWwseKAJ0LFNH6AoBXuhmAbAgzRCwCM0QTuhl 17.118 +ATwIdAOIBK05NigCdPDoPgE8CnXgiHz+ieb/TBD/TBi/9AGBTRz/gMdFMACc 17.119 +sBCxBUi0k4lEHLABiUQUmGaY0+BIZgMFZtPoaAAQB7+AACn4nHMCAccx21BW 17.120 +6J4AXrkAgLSH/kQczRVYnXfcoRoCvxwCsQk4RBxyuJPNE+oAACCQsEYoyL7b 17.121 +AejSAF3rI4D5E3IEOMF3a4D+AnIEOOZ3bGCB/QAGdCoGUlFTlrQCULEGtQTB 17.122 +xQSwDyHoBJAnFEAn6IwA/s117LAgzRDitOiWAJjNE2FSUCjIdwKwAZg5+HIC 17.123 +ifhQtALNE5VeWFpyoJVBjuGAxwJPdFFOdfSM4ZU4wXVFiMj+xrEBOOZ1O4j0 17.124 +/sW2AID9UHIwOi7wAXIqtQBgvt4B/kQMU+gxAFvoOAB1FlKYzRO4AQLNE1rQ 17.125 +1Dpk/nXqRgjkdeVh64sWB7AxLAO0DrsHAM0QPA1088OwDejv/6wIwHX4w79s 17.126 +BLFbZQINuA0BZToNdArNFnT0mM0Wju9Hw1g6AEluc2VydCBkaXNrIDEuBw0A 17.127 +AA== 17.128 +==== 17.129 +EOT 17.130 + 17.131 + # Get setup 17.132 + setupsz=$(getlong $SetupSzOfs $bs) 17.133 + setupszb=$(( $setupsz & 255 )) 17.134 + dd if=$KERNEL bs=512 skip=1 count=$setupszb 2> /dev/null >> $bs 17.135 + 17.136 + if [ -n "$TRACKS" ]; then 17.137 + [ -n "$DEBUG" ] && echo -n "--tracks " 1>&2 17.138 + n=$(getlong $CylinderCount $bs) 17.139 + store16 $CylinderCount $(( ($n & -256) + $TRACKS )) $bs 17.140 + fi 17.141 + if [ -n "$FLAGS" ]; then 17.142 + [ -n "$DEBUG" ] && echo -n "--flags " 1>&2 17.143 + store16 $FlagsOfs $FLAGS $bs 17.144 + fi 17.145 + if [ -n "$VIDEO" ]; then 17.146 + [ -n "$DEBUG" ] && echo -n "--video " 1>&2 17.147 + store16 $VideoModeOfs $VIDEO $bs 17.148 + fi 17.149 + if [ -n "$RDEV" ]; then 17.150 + if [ "$(dirname $RDEV)" == "/dev" -a -b $RDEV ]; then 17.151 + [ -n "$DEBUG" ] && echo -n "--rdev " 1>&2 17.152 + RDEV=$(stat -c '0x%02t%02T' $RDEV 2> /dev/null) 17.153 + store16 $RootDevOfs $RDEV $bs 17.154 + fi 17.155 + fi 17.156 + 17.157 + # Store cmdline after setup 17.158 + if [ -n "$CMDLINE" ]; then 17.159 + [ -n "$DEBUG" ] && echo -n "--cmdline '$CMDLINE' " 1>&2 17.160 + echo -n "$CMDLINE" | dd bs=512 count=1 conv=sync 2> /dev/null >> $bs 17.161 + storelong $ArgPtrOfs $(( $SetupBase + $stacktop )) $bs 17.162 + fi 17.163 + 17.164 + # Compute initramfs size 17.165 + initrdlen=0 17.166 + for i in $( echo $INITRD | sed 's/,/ /' ); do 17.167 + [ -s "$i" ] || continue 17.168 + [ -n "$DEBUG" ] && echo "--initrd $i " 1>&2 17.169 + initrdlen=$(( ($initrdlen + $(stat -c %s $i) + 3) & -4 )) 17.170 + done 17.171 + if [ $initrdlen -ne 0 ]; then 17.172 + [ -n "$DEBUG" ] && echo "initrdlen = $initrdlen " 1>&2 17.173 + storelong $RamfsAdrOfs \ 17.174 + $(( (0x1000000 - $initrdlen) & 0xFFFF0000 )) $bs 17.175 + storelong $RamfsLenOfs $initrdlen $bs 17.176 + fi 17.177 + 17.178 + # Output boot sector + setup + cmdline 17.179 + dd if=$bs 2> /dev/null 17.180 + 17.181 + # Output kernel code 17.182 + dd if=$KERNEL bs=512 skip=$(( $setupszb + 1 )) 2> /dev/null 17.183 + 17.184 + # Pad to next sector 17.185 + Kpad=$(( 512 - ($(stat -c %s $KERNEL) & 511) )) 17.186 + [ $Kpad -eq 512 ] || dd if=/dev/zero bs=1 count=$Kpad 2> /dev/null 17.187 + 17.188 + # Output initramfs 17.189 + padding=0 17.190 + for i in $( echo $INITRD | sed 's/,/ /' ); do 17.191 + [ -s "$i" ] || continue 17.192 + [ $padding -ne 0 ] && dd if=/dev/zero bs=1 count=$padding 2> /dev/null 17.193 + dd if=$i 2> /dev/null 17.194 + padding=$(( 4 - ($(stat -c %s $i) & 3) )) 17.195 + [ $padding -eq 4 ] && padding=0 17.196 + done 17.197 + 17.198 + # Cleanup 17.199 + rm -f $bs 17.200 +} 17.201 + 17.202 +if [ "$FORMAT" == "0" ]; then # unsplitted 17.203 + floppyset > $PREFIX 17.204 + exit 17.205 +fi 17.206 +floppyset | split -b ${FORMAT}k /dev/stdin floppy$$ 17.207 +i=1 17.208 +ls floppy$$* | while read file ; do 17.209 + output=$PREFIX$(printf "%03d" $i) 17.210 + cat $file /dev/zero | dd bs=1k count=$FORMAT conv=sync of=$output 2> /dev/null 17.211 + echo $output 17.212 + rm -f $file 17.213 + i=$(( $i + 1 )) 17.214 +done
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 18.2 +++ b/mirror-tools/var/www/slitaz/mirror/floppies/builder/index.php Thu Feb 24 01:29:50 2011 +0000 18.3 @@ -0,0 +1,440 @@ 18.4 +<?php 18.5 +if (false) { // no php support on this mirror ! 18.6 +?> 18.7 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 18.8 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 18.9 +<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"> 18.10 +<head> 18.11 + <title>SliTaz Boot Floppies redirection</title> 18.12 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 18.13 + <meta name="description" content="slitaz boot floppies builder redirection" /> 18.14 + <meta name="robots" content="index, nofollow" /> 18.15 + <meta name="author" content="SliTaz Contributors" /> 18.16 + <meta http-equiv="Refresh" content="0;url=http://mirror.slitaz.org/floppies/builder/index.php"> 18.17 +</head> 18.18 +<?php 18.19 +} 18.20 +ini_set('upload_max_filesize','16M'); 18.21 +ini_set('post_max_size','16M'); 18.22 +if (isset($_GET['id']) && is_file("/tmp/".$_GET['id']."/fd")) { 18.23 + 18.24 + // Download a floppy image 18.25 + 18.26 + $size = $_GET['s']; 18.27 + if ($size == 0) 18.28 + $size = filesize("/tmp/".$_GET['id']."/fd"); 18.29 + header("Content-Type: application/octet-stream"); 18.30 + header("Content-Length: ".$size); 18.31 + header("Content-Disposition: attachment; filename=". 18.32 + sprintf("fd%03d.img",$_GET['n'])); 18.33 + $cmd = "cat /tmp/".$_GET['id']."/fd"; 18.34 + if ($_GET['s'] != 0) { 18.35 + $cmd .= " /dev/zero | dd count=1 bs=".$_GET['s']; 18.36 + if ($_GET['n'] > 1) 18.37 + $cmd .= " skip=".($_GET['n']-1); 18.38 + } 18.39 + echo `$cmd 2> /dev/null`; 18.40 + exit; 18.41 +} 18.42 +?> 18.43 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 18.44 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 18.45 +<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"> 18.46 +<head> 18.47 + <title>SliTaz Boot Floppies</title> 18.48 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 18.49 + <meta name="description" content="slitaz boot floppies builder" /> 18.50 + <meta name="robots" content="index, nofollow" /> 18.51 + <meta name="author" content="SliTaz Contributors" /> 18.52 + <link rel="shortcut icon" href="../../css/favicon.ico" /> 18.53 + <link rel="stylesheet" type="text/css" href="../../css/slitaz.css" /> 18.54 + <style> 18.55 +input[type=text] { 18.56 + width: inherit; 18.57 +} 18.58 + </style> 18.59 +</head> 18.60 +<body bgcolor="#ffffff"> 18.61 +<!-- Header --> 18.62 +<div id="header"> 18.63 + <a name="top"></a> 18.64 +<!-- Access --> 18.65 +<div id="access"> 18.66 + <a href="bootloader" title="Build your floppy sets without Internet">Shell builder</a> | 18.67 + <a href="../../boot/floppy-grub4dos" title="Boot tools">Generic boot floppy</a> 18.68 +</div> 18.69 + <a href="http://www.slitaz.org/"><img id="logo" src="../../css/pics/website/logo.png" title="www.slitaz.org" alt="www.slitaz.org" style="border: 0px solid ; width: 200px; height: 74px;" /></a> 18.70 + <p id="titre">#!/boot/floppies/builder</p> 18.71 +</div> 18.72 + 18.73 +<!-- Navigation menu --> 18.74 +<div id="nav"> 18.75 + 18.76 +<?php 18.77 + 18.78 + // Cleanup old sessions 18.79 + 18.80 + $dir = opendir("/tmp"); 18.81 + while (($name = readdir($dir)) !== false) { 18.82 + if (preg_match('/^fdbuild/',$name) == 0) continue; 18.83 + if (filemtime("/tmp/$name") > strtotime("-1 hour")) continue; 18.84 + system("rm -rf /tmp/$name"); 18.85 + } 18.86 + closedir($dir); 18.87 + 18.88 +function get_long($file, $offset) 18.89 +{ 18.90 + $value = 0; 18.91 + if ($fp = fopen($file,"r")) { 18.92 + fseek($fp,$offset,SEEK_SET); 18.93 + for ($i = 0; $i < 32; $i += 8) { 18.94 + $value += ord(fgetc($fp)) << $i; 18.95 + } 18.96 + fclose($fp); 18.97 + } 18.98 + return $value; 18.99 +} 18.100 + 18.101 +function error($string, $title="Error") 18.102 +{ 18.103 + echo <<<EOT 18.104 +<div class="nav_box"> 18.105 +<h4>$title</h4> 18.106 +<p> 18.107 +$string 18.108 +</p> 18.109 +</div> 18.110 +EOT; 18.111 +} 18.112 + 18.113 + $size = 0; 18.114 + $initrd_size = 0; 18.115 + 18.116 + // Upload kernel 18.117 + 18.118 + foreach($_FILES as $data) { 18.119 + $msg="The file ".$_FILES["kernel"]['name']." "; 18.120 + switch ($data["error"]) { 18.121 + case UPLOAD_ERR_INI_SIZE : 18.122 + error($msg."exceeds upload_max_filesize."); 18.123 + break; 18.124 + case UPLOAD_ERR_FORM_SIZE : 18.125 + error($msg."exceeds max_post_size."); 18.126 + break; 18.127 + case UPLOAD_ERR_PARTIAL : 18.128 + error($msg."was only partially uploaded."); 18.129 + break; 18.130 + case UPLOAD_ERR_NO_TMP_DIR : 18.131 + error("Missing a temporary folder."); 18.132 + break; 18.133 + case UPLOAD_ERR_CANT_WRITE : 18.134 + error("Failed to write file to disk."); 18.135 + break; 18.136 + } 18.137 + } 18.138 + if (isset($_FILES["kernel"]['tmp_name']) && 18.139 + is_uploaded_file($_FILES["kernel"]['tmp_name'])) { 18.140 + $tmp_dir = tempnam('','fdbuild'); 18.141 + if (file_exists($tmp_dir)) unlink($tmp_dir); 18.142 + mkdir($tmp_dir); 18.143 + $tmp_dir .= '/'; 18.144 + move_uploaded_file($_FILES["kernel"]['tmp_name'], 18.145 + $tmp_dir."kernel"); 18.146 + $kernel = $tmp_dir."kernel"; 18.147 + $boot_version = get_long($kernel,0x206) & 255; 18.148 + $size = get_long($kernel,0x1F4); // syssize paragraphs 18.149 + if ($boot_version < 4) $size &= 0xFFFF; // 16 bits before 2.4 18.150 + $size = ($size + 0xFFF) & 0xFFFF000; // round up to 64K 18.151 + $size <<= 4; // paragraphs -> bytes 18.152 + if (get_long($kernel,0x202) != 0x53726448 || // 'HdrS' magic 18.153 + (get_long($kernel,0x211) & 1 != 1)) { // bzImage flag 18.154 + error("The file ".$_FILES["kernel"]['name']. 18.155 + " is not a bzImage Linux kernel."); 18.156 + $size = 0; 18.157 + } 18.158 + else if ($boot_version < 2 && $_POST['cmdline']) { // before 2.2 18.159 + unset($_POST['cmdline']); 18.160 + error("This boot loader does not support Linux kernel ". 18.161 + "prior 2.4.0-test3-pre3 command line.", 18.162 + "Warning"); 18.163 + } 18.164 + $msg = "The size of the file ".$_FILES["kernel"]['name']; 18.165 + } 18.166 + 18.167 + // Upload initrd 18.168 + 18.169 + if ($size && isset($_FILES["initrd"]['tmp_name']) && 18.170 + is_uploaded_file($_FILES["initrd"]['tmp_name'])) { 18.171 + move_uploaded_file($_FILES["initrd"]['tmp_name'], 18.172 + $tmp_dir."initrd"); 18.173 + $initrd_size = $_FILES["initrd"]['size']; 18.174 + $size += $initrd_size; 18.175 + $msg = "The total size of the files ".$_FILES["kernel"]['name']. 18.176 + " and ".$_FILES["initrd"]['name']; 18.177 + } 18.178 + if ($initrd_size && isset($_FILES["initrd2"]['tmp_name']) && 18.179 + is_uploaded_file($_FILES["initrd2"]['tmp_name'])) { 18.180 + move_uploaded_file($_FILES["initrd2"]['tmp_name'], 18.181 + $tmp_dir."initrd2"); 18.182 + $initrd2_size = $_FILES["initrd2"]['size']; 18.183 + $size += $initrd2_size; 18.184 + $msg = "The total size of the files ".$_FILES["kernel"]['name']. 18.185 + ", ".$_FILES["initrd"]['name']. 18.186 + " and ".$_FILES["initrd2"]['name']; 18.187 + } 18.188 + if ($size >= 15 * 1024 * 1024) { 18.189 + error($msg." exceeds 15 MB."); 18.190 + $size = 0; 18.191 + } 18.192 + if ($size == 0) { 18.193 + if (isset($tmp_dir)) 18.194 + system("rm -f $tmp_dir"); 18.195 + } 18.196 + else { 18.197 + $cmd = "./bootloader ".$tmp_dir."kernel --prefix " 18.198 + . $tmp_dir."fd --format 0 --flags ".$_POST['flags'] 18.199 + . " --video ".$_POST['video']; 18.200 + if ($_POST['cmdline']) 18.201 + $cmd .= " --cmdline '".$_POST['cmdline']."'"; 18.202 + if (file_exists($_POST['rdev'])) 18.203 + $cmd .= " --rdev ".$_POST['rdev']; 18.204 + if ($initrd_size) 18.205 + $cmd .= " --initrd ".$tmp_dir."initrd"; 18.206 + if ($initrd2_size) 18.207 + $cmd .= " --initrd ".$tmp_dir."initrd2"; 18.208 + switch ($_POST['size']) { 18.209 + case 1763328 : 18.210 + case 2015232 : 18.211 + case 3526656 : 18.212 + case 4030464 : 18.213 + $cmd .= " --tracks 82"; break; 18.214 + case 1784832 : 18.215 + $cmd .= " --tracks 83"; break; 18.216 + } 18.217 + shell_exec($cmd); 18.218 + $count = 1; 18.219 + if ($_POST['size'] != 0) { 18.220 + $count += (filesize($tmp_dir."fd") -1) / $_POST['size']; 18.221 + $padding = $_POST['size'] - 18.222 + (filesize($tmp_dir."fd") % $_POST['size']); 18.223 + } 18.224 + } 18.225 + $sizes = array( 18.226 + "368640" => "360 KB", "737280" => "720 KB", 18.227 + "1228800" => "1.20 MB", 18.228 + "1474560" => "1.44 MB", "1638400" => "1.60 MB", 18.229 + "1720320" => "1.68 MB", "1763328" => "1.72 MB", 18.230 + "1784832" => "1.74 MB", "1802240" => "1.76 MB", 18.231 + "1884160" => "1.84 MB", "1966080" => "1.92 MB", 18.232 + "2015232" => "1.96 MB", "2949120" => "2.88 MB", 18.233 + "3440640" => "3.36 MB", "3526656" => "3.44 MB", 18.234 + "3932160" => "3.84 MB", "4030464" => "3.92 MB", 18.235 + "0" => "no limit" 18.236 + ); 18.237 + 18.238 +function show_size($size) 18.239 +{ 18.240 + global $sizes; 18.241 + if ($size != 0) return " ".$sizes[$size]; 18.242 +} 18.243 + if (!isset($count)) { 18.244 +?> 18.245 +<div class="nav_box"> 18.246 +<h4>How does it work ?</h4> 18.247 +<p> 18.248 +This tool updates the boot sector of your kernel with 18.249 +<a href="http://hg.slitaz.org/wok/raw-file/b84ff32e3457/linux/stuff/linux-header-2.6.34.u">this patch</a>. 18.250 +You may add a default cmdline and an initramfs. The cmdline can be edited at boot 18.251 +time but the keyboard is not mandatory. 18.252 +A <a href="bootloader"> standalone version</a> is available. 18.253 +</p> 18.254 +<p> 18.255 +Each part (boot, setup, cmdline, kernel, initramfs) is aligned to 512 bytes. 18.256 +The result is split to fit the floppy size. 18.257 +The last floppy image is padded with zeros. 18.258 +</p> 18.259 +</div> 18.260 +<?php 18.261 + } 18.262 + else { 18.263 +?> 18.264 +<div class="nav_box"> 18.265 +<h4>Download image<?php if ($count >= 2) echo "s"; ?></h4> 18.266 +<ul> 18.267 +<?php 18.268 + for ($i = 1; $i <= $count; $i++) { 18.269 + echo ' <li><a href="'.$_SERVER["PHP_SELF"]. 18.270 + "?id=".basename($tmp_dir)."&n=$i&s=". 18.271 + $_POST["size"].'">'.sprintf("fd%03d.img",$i). 18.272 + show_size($_POST["size"])."</a></li>\n"; 18.273 + } 18.274 + echo "</ul>\n".floor($padding/1024)."KB padding.\n"; 18.275 +?> 18.276 +</div> 18.277 +<?php 18.278 + } 18.279 +?> 18.280 + 18.281 +<!-- End navigation menu --> 18.282 +</div> 18.283 + 18.284 +<!-- Content top. --> 18.285 +<div id="content_top"> 18.286 +<div class="top_left"></div> 18.287 +<div class="top_right"></div> 18.288 +</div> 18.289 + 18.290 +<!-- Content --> 18.291 +<div id="content"> 18.292 + 18.293 +<h1><font color="#3e1220">Boot</font></h1> 18.294 +<h2><font color="#df8f06">Floppy image set builder</font></h2> 18.295 + 18.296 +<?php 18.297 + if (!isset($count)) { 18.298 + $max = rtrim(ini_get('upload_max_filesize'),"M"); 18.299 + $max_post = rtrim(ini_get('post_max_size'),"M"); 18.300 + if ($max_post < $max) $max = $max_post; 18.301 + $msg = "the tiny boot loader can't load more than 15 MB"; 18.302 + if ($max < 16) 18.303 + $msg = "the web server can't upload more than $max MB"; 18.304 +?> 18.305 +<form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>"> 18.306 +<table> 18.307 + <tr> 18.308 + <td>Linux kernel:</td> 18.309 + <td><input type="file" name="kernel" size="25" /> <i>required</i></td> 18.310 + </tr> 18.311 + <tr> 18.312 + <td>Initramfs / Initrd:</td> 18.313 + <td><input type="file" name="initrd" size="25" /> <i>optional</i></td> 18.314 + </tr> 18.315 + <tr> 18.316 + <td>Extra initramfs:</td> 18.317 + <td><input type="file" name="initrd2" size="25" /> <i>optional</i></td> 18.318 + </tr> 18.319 + <tr> 18.320 + <td>Default cmdline:</td> 18.321 + <td><input type="text" name="cmdline" size="36" <?php 18.322 + if (isset($_GET['cmdline'])) echo 'value="'.$_GET['cmdline'].'"'; 18.323 + ?>/> <i>optional</i></td> 18.324 + </tr> 18.325 + <tr> 18.326 + <td>Root device:</td> 18.327 + <td><input type="text" name="rdev" size="8" value="<?php 18.328 + if (isset($_GET['rdev'])) echo $_GET['rdev']; 18.329 + else echo "/dev/fd0"; 18.330 + ?>" /> 18.331 + Root flags: <select name="flags"> 18.332 + <option value="1">R/O</option> 18.333 + <option value="0" <?php 18.334 + if (isset($_GET['rdev']) && $_GET['rdev'] == "0") 18.335 + echo ' selected="selected"' 18.336 + ?>>R/W</option> 18.337 + </select> 18.338 + VGA mode: <select name="video"> 18.339 + <?php 18.340 + $selected=-1; 18.341 + if (isset($_GET['video'])) $selected = $_GET['video']; 18.342 + $options = array(); 18.343 + $options[-3] = "Ask"; 18.344 + $options[-2] = "Ext"; 18.345 + $options[-1] = "Std"; 18.346 + for ($i = 0; $i < 64; $i++) $options[$i] = $i; 18.347 + foreach ($options as $key => $value) { 18.348 + echo '<option value="'.$key.'"'; 18.349 + if ($key == $selected || $value == $selected) 18.350 + echo ' selected="selected"'; 18.351 + echo '>'.$value."</option>\n"; 18.352 + } 18.353 + ?> 18.354 + </select> 18.355 + </td> 18.356 + </tr> 18.357 + <tr> 18.358 + <td>Floppy size:</td> 18.359 + <td><select name="size"> 18.360 +<?php 18.361 + foreach ($sizes as $key => $value) { 18.362 + echo " <option value=\"$key\""; 18.363 + if ($key == "1474560") echo " selected='selected'"; 18.364 + echo ">$value</option>\n"; 18.365 + } 18.366 +?> 18.367 + </select> 18.368 + <input name="build" value="Build floppy set" type="submit" /> 18.369 + </td> 18.370 + </tr> 18.371 +</table> 18.372 +</form> 18.373 +<?php 18.374 + echo <<<EOT 18.375 +<p> 18.376 +Note 1: $msg of files (kernel and initramfs) in memory. 18.377 +</p> 18.378 +<p> 18.379 +Note 2: the extra initramfs may be useful to add your own configuration files. 18.380 +</p> 18.381 +EOT; 18.382 + } 18.383 + else { 18.384 +?> 18.385 + 18.386 +<p> 18.387 +You can write floppies with SliTaz <i>bootfloppybox</i>, 18.388 +<a href="http://en.wikipedia.org/wiki/RaWrite">Windows rawrite</a> or simply dd: 18.389 +</p> 18.390 +<pre># dd if=fd001.img of=/dev/fd0 18.391 +</pre> 18.392 + 18.393 +<p> 18.394 +Start your computer with <i>fd001.img</i>. It will show the kernel version string and 18.395 +the kernel cmdline line. You can edit the cmdline. Most users can just press Enter. 18.396 +</p> 18.397 + 18.398 +<?php 18.399 + if ($count >= 2) { 18.400 +?> 18.401 +<p> 18.402 +The floppy is then loaded into memory (one dot each 64k) and you will be prompted to 18.403 +insert the next floppy, <i>fd002.img</i>. And so on. 18.404 +</p> 18.405 + 18.406 +<p> 18.407 +The floppy set detects disk swaps and can be used without keyboard. 18.408 +</p> 18.409 +<?php 18.410 + } 18.411 +?> 18.412 +<p> 18.413 +Good luck. 18.414 +</p> 18.415 +<?php 18.416 + } 18.417 +?> 18.418 + 18.419 +<!-- End of content with round corner --> 18.420 +</div> 18.421 +<div id="content_bottom"> 18.422 +<div class="bottom_left"></div> 18.423 +<div class="bottom_right"></div> 18.424 +</div> 18.425 + 18.426 +<!-- Start of footer and copy notice --> 18.427 +<div id="copy"> 18.428 +<p> 18.429 +Copyright © <?php echo date('Y'); ?> <a href="http://www.slitaz.org/">SliTaz</a> - 18.430 +<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a> 18.431 +</p> 18.432 +<!-- End of copy --> 18.433 +</div> 18.434 + 18.435 +<!-- Bottom and logo's --> 18.436 +<div id="bottom"> 18.437 +<p> 18.438 +<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> 18.439 +</p> 18.440 +</div> 18.441 + 18.442 +</body> 18.443 +</html>
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 19.2 +++ b/mirror-tools/var/www/slitaz/mirror/floppies/index.html Thu Feb 24 01:29:50 2011 +0000 19.3 @@ -0,0 +1,206 @@ 19.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 19.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 19.6 +<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"> 19.7 +<head> 19.8 + <title>SliTaz Boot Floppies</title> 19.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 19.10 + <meta name="description" content="slitaz boot floppies" /> 19.11 + <meta name="robots" content="index, nofollow" /> 19.12 + <meta name="author" content="SliTaz Contributors" /> 19.13 + <link rel="shortcut icon" href="../css/favicon.ico" /> 19.14 + <link rel="stylesheet" type="text/css" href="../css/slitaz.css" /> 19.15 +</head> 19.16 +<body bgcolor="#ffffff"> 19.17 +<!-- Header --> 19.18 +<div id="header"> 19.19 + <a name="top"></a> 19.20 +<!-- Access --> 19.21 +<div id="access"> 19.22 + <a href="../boot/floppy-grub4dos" title="Boot tools">Generic boot floppy</a> | 19.23 + <a href="http://pizza.slitaz.org/tiny/" title="SliTaz for (very) old PC">Tiny SliTaz</a> | 19.24 + <a href="loram/index.html" title="Floppy image sets for low ram systems">Loram floppies</a> | 19.25 + <a href="builder/index.php" title="Build floppies with your own kernel and initramfs">Floppy set web builder</a> | 19.26 + <a href="builder/bootloader" title="Build your floppy sets without Internet">Shell builder</a> 19.27 +</div> 19.28 + <a href="http://www.slitaz.org/"><img id="logo" 19.29 + src="../css/pics/website/logo.png" title="www.slitaz.org" 19.30 + alt="www.slitaz.org" 19.31 + style="border: 0px solid ; width: 200px; height: 74px;" /></a> 19.32 + <p id="titre">#!/boot/floppies</p> 19.33 +</div> 19.34 + 19.35 +<!-- Navigation menu --> 19.36 +<div id="nav"> 19.37 + 19.38 +<div class="nav_box"> 19.39 +<h4>Download images 3.0</h4> 19.40 +<ul> 19.41 + <li><a href="3.0/fd001.img">fd001.img 1.44Mb</a></li> 19.42 + <li><a href="3.0/fd002.img">fd002.img 1.44Mb</a></li> 19.43 + <li><a href="3.0/fd003.img">fd003.img 1.44Mb</a></li> 19.44 + <li><a href="3.0/fd004.img">fd004.img 1.44Mb</a></li> 19.45 + <li><a href="3.0/fd005.img">fd005.img 1.44Mb</a><br /></li> 19.46 + <li><a href="3.0/fd100.img">fd100.img 1.44Mb</a></li> 19.47 + <li><a href="3.0/fd101.img">fd101.img 1.44Mb</a></li> 19.48 + <li><a href="3.0/fd102.img">fd102.img 1.44Mb</a></li> 19.49 + <li><a href="3.0/fd103.img">fd103.img 1.44Mb</a></li> 19.50 + <li><a href="3.0/fd104.img">fd104.img 1.44Mb</a></li> 19.51 + <li><a href="3.0/fd105.img">fd105.img 1.44Mb</a><br /></li> 19.52 + <li><a href="3.0/fd200.img">fd200.img 1.44Mb</a></li> 19.53 + <li><a href="3.0/fd201.img">fd201.img 1.44Mb</a></li> 19.54 + <li><a href="3.0/fd202.img">fd202.img 1.44Mb</a></li> 19.55 + <li><a href="3.0/fd203.img">fd203.img 1.44Mb</a></li> 19.56 + <li><a href="3.0/fd204.img">fd204.img 1.44Mb</a></li> 19.57 + <li><a href="3.0/fd205.img">fd205.img 1.44Mb</a></li> 19.58 + <li><a href="3.0/fd206.img">fd206.img 1.44Mb</a></li> 19.59 + <li><a href="3.0/fd207.img">fd207.img 1.44Mb</a></li> 19.60 + <li><a href="3.0/fd208.img">fd208.img 1.44Mb</a></li> 19.61 + <li><a href="3.0/fd209.img">fd209.img 1.44Mb</a></li> 19.62 + <li><a href="3.0/fd210.img">fd210.img 1.44Mb</a><br /></li> 19.63 + <li><a href="3.0/md5sum">md5sum</a></li> 19.64 +</ul> 19.65 +</div> 19.66 + 19.67 +<div class="nav_box"> 19.68 +<h4>Download images 2.0</h4> 19.69 +<ul> 19.70 + <li><a href="2.0/fd001.img">fd001.img 1.44Mb</a></li> 19.71 + <li><a href="2.0/fd002.img">fd002.img 1.44Mb</a></li> 19.72 + <li><a href="2.0/fd003.img">fd003.img 1.44Mb</a></li> 19.73 + <li><a href="2.0/fd004.img">fd004.img 1.44Mb</a></li> 19.74 + <li><a href="2.0/fd005.img">fd005.img 1.44Mb</a><br /></li> 19.75 + <li><a href="2.0/fd100.img">fd100.img 1.44Mb</a></li> 19.76 + <li><a href="2.0/fd101.img">fd101.img 1.44Mb</a></li> 19.77 + <li><a href="2.0/fd102.img">fd102.img 1.44Mb</a></li> 19.78 + <li><a href="2.0/fd103.img">fd103.img 1.44Mb</a></li> 19.79 + <li><a href="2.0/fd104.img">fd104.img 1.44Mb</a></li> 19.80 + <li><a href="2.0/fd105.img">fd105.img 1.44Mb</a><br /></li> 19.81 + <li><a href="2.0/fd200.img">fd200.img 1.44Mb</a></li> 19.82 + <li><a href="2.0/fd201.img">fd201.img 1.44Mb</a></li> 19.83 + <li><a href="2.0/fd202.img">fd202.img 1.44Mb</a></li> 19.84 + <li><a href="2.0/fd203.img">fd203.img 1.44Mb</a></li> 19.85 + <li><a href="2.0/fd204.img">fd204.img 1.44Mb</a></li> 19.86 + <li><a href="2.0/fd205.img">fd205.img 1.44Mb</a></li> 19.87 + <li><a href="2.0/fd206.img">fd206.img 1.44Mb</a></li> 19.88 + <li><a href="2.0/fd207.img">fd207.img 1.44Mb</a></li> 19.89 + <li><a href="2.0/fd208.img">fd208.img 1.44Mb</a></li> 19.90 + <li><a href="2.0/fd209.img">fd209.img 1.44Mb</a></li> 19.91 + <li><a href="2.0/fd210.img">fd210.img 1.44Mb</a><br /></li> 19.92 + <li><a href="2.0/md5sum">md5sum</a></li> 19.93 +</ul> 19.94 +</div> 19.95 + 19.96 +<div class="nav_box"> 19.97 +<h4>Download images 1.0</h4> 19.98 +<ul> 19.99 + <li><a href="1.0/fd001.img">fd001.img 1.44Mb</a></li> 19.100 + <li><a href="1.0/fd002.img">fd002.img 1.44Mb</a><br /></li> 19.101 + <li><a href="1.0/fd100.img">fd100.img 1.44Mb</a></li> 19.102 + <li><a href="1.0/fd101.img">fd101.img 1.44Mb</a></li> 19.103 + <li><a href="1.0/fd102.img">fd102.img 1.44Mb</a></li> 19.104 + <li><a href="1.0/fd103.img">fd103.img 1.44Mb</a></li> 19.105 + <li><a href="1.0/fd104.img">fd104.img 1.44Mb</a></li> 19.106 + <li><a href="1.0/fd105.img">fd105.img 1.44Mb</a></li> 19.107 + <li><a href="1.0/fd106.img">fd106.img 1.44Mb</a></li> 19.108 + <li><a href="1.0/fd107.img">fd107.img 1.44Mb</a></li> 19.109 + <li><a href="1.0/fd108.img">fd108.img 1.44Mb</a></li> 19.110 + <li><a href="1.0/fd109.img">fd109.img 1.44Mb</a></li> 19.111 + <li><a href="1.0/fd110.img">fd110.img 1.44Mb</a></li> 19.112 + <li><a href="1.0/fd111.img">fd111.img 1.44Mb</a></li> 19.113 + <li><a href="1.0/fd112.img">fd112.img 1.44Mb</a></li> 19.114 + <li><a href="1.0/fd113.img">fd113.img 1.44Mb</a></li> 19.115 + <li><a href="1.0/fd114.img">fd114.img 1.44Mb</a></li> 19.116 + <li><a href="1.0/fd115.img">fd115.img 1.44Mb</a><br /></li> 19.117 + <li><a href="1.0/md5sum">md5sum</a></li> 19.118 +</ul> 19.119 +</div> 19.120 + 19.121 +<!-- End navigation menu --> 19.122 +</div> 19.123 + 19.124 +<!-- Content top. --> 19.125 +<div id="content_top"> 19.126 +<div class="top_left"></div> 19.127 +<div class="top_right"></div> 19.128 +</div> 19.129 + 19.130 +<!-- Content --> 19.131 +<div id="content"> 19.132 + 19.133 +<h1><font color="#3e1220">Boot</font></h1> 19.134 +<h2><font color="#df8f06">Floppy image set</font></h2> 19.135 + 19.136 +<p> 19.137 +This floppy set will boot a Slitaz stable version. You can write floppies 19.138 +with SliTaz <i>bootfloppybox</i>, 19.139 +<a href="http://en.wikipedia.org/wiki/RaWrite">Windows rawrite</a> or simply dd: 19.140 +</p><pre># dd if=fd001.img of=/dev/fd0 19.141 +</pre> 19.142 + 19.143 +<p> 19.144 +If you have a CD-ROM, an USB port and an USB key or a network card, but you 19.145 +can't boot these devices directly, then try 19.146 +<a href="http://mirror.slitaz.org/boot/floppy-grub4dos">floppy-grub4dos</a> 19.147 +first. This 1.44Mb floppy provides tiny programs to boot these devices without BIOS 19.148 +support and some other tools. 19.149 +</p> 19.150 +<p> 19.151 +You can start with one of the 3 following flavors : 19.152 +</p><ul> 19.153 + <li> 19.154 + <b>base</b> needs 32Mb of RAM and 5 floppies: <i>fd001.img</i> to <i>fd005.img</i>.<br /> 19.155 + base provides the minimum slitaz distribution subset in text mode. 19.156 + </li> 19.157 + <li> 19.158 + <b>justx</b> needs 96M of RAM and 11 floppies: <i>fd001.img</i> to <i>fd105.img</i>.<br /> 19.159 + justx provides the minimum slitaz distribution subset with X11 support. 19.160 + </li> 19.161 + <li> 19.162 + <b>core</b> needs 160M of RAM and 22 floppies: <i>fd001.img</i> to <i>fd210.img</i>.<br /> 19.163 + core provides the default slitaz distribution. 19.164 + </li> 19.165 +</ul> 19.166 + 19.167 +Start your computer with <i>fd001.img</i>. It will show the kernel version string and 19.168 +the kernel cmdline line. You can edit the cmdline. Most users can just press Enter. 19.169 + 19.170 +<p> 19.171 +The floppy is then loaded into memory (one dot each 64k) and you will be prompted to 19.172 +insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd005.img</i>. 19.173 +</p> 19.174 +<p> 19.175 +The base flavor will then start and you will be prompted to insert extra floppies 19.176 +for justx and core flavors. You can bypass this by using Q and Enter. 19.177 +</p> 19.178 +<p> 19.179 +Each floppy set detects disk swaps and can be used without a keyboard. 19.180 +</p> 19.181 +<p> 19.182 +Good luck. 19.183 +</p> 19.184 + 19.185 +<!-- End of content with round corner --> 19.186 +</div> 19.187 +<div id="content_bottom"> 19.188 +<div class="bottom_left"></div> 19.189 +<div class="bottom_right"></div> 19.190 +</div> 19.191 + 19.192 +<!-- Start of footer and copy notice --> 19.193 +<div id="copy"> 19.194 +<p> 19.195 +Copyright © <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a> - 19.196 +<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a> 19.197 +</p> 19.198 +<!-- End of copy --> 19.199 +</div> 19.200 + 19.201 +<!-- Bottom and logo's --> 19.202 +<div id="bottom"> 19.203 +<p> 19.204 +<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> 19.205 +</p> 19.206 +</div> 19.207 + 19.208 +</body> 19.209 +</html>
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 20.2 +++ b/mirror-tools/var/www/slitaz/mirror/floppies/loram/index.html Thu Feb 24 01:29:50 2011 +0000 20.3 @@ -0,0 +1,155 @@ 20.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 20.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 20.6 +<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"> 20.7 +<head> 20.8 + <title>SliTaz Boot Floppies</title> 20.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 20.10 + <meta name="description" content="slitaz loram boot floppies" /> 20.11 + <meta name="robots" content="index, nofollow" /> 20.12 + <meta name="author" content="SliTaz Contributors" /> 20.13 + <link rel="shortcut icon" href="../../css/favicon.ico" /> 20.14 + <link rel="stylesheet" type="text/css" href="../../css/slitaz.css" /> 20.15 +</head> 20.16 +<body bgcolor="#ffffff"> 20.17 +<!-- Header --> 20.18 +<div id="header"> 20.19 + <a name="top"></a> 20.20 +<!-- Access --> 20.21 +<div id="access"> 20.22 + <a href="../../boot/floppy-grub4dos" title="Boot tools">Generic boot floppy</a> | 20.23 + <a href="http://pizza.slitaz.org/tiny/" title="SliTaz for (very) old PC">Tiny SliTaz</a> | 20.24 + <a href="../builder/index.php" title="Build floppies with your own kernel and initramfs">Floppy set web builder</a> | 20.25 + <a href="../builder/bootloader" title="Build your floppy sets without Internet">Shell builder</a> 20.26 +</div> 20.27 + <a href="http://www.slitaz.org/"><img id="logo" 20.28 + src="../../css/pics/website/logo.png" title="www.slitaz.org" 20.29 + alt="www.slitaz.org" 20.30 + style="border: 0px solid ; width: 200px; height: 74px;" /></a> 20.31 + <p id="titre">#!/boot/floppies/loram</p> 20.32 +</div> 20.33 + 20.34 +<!-- Navigation menu --> 20.35 +<div id="nav"> 20.36 + 20.37 +<div class="nav_box"> 20.38 +<h4>Images loram 3.0</h4> 20.39 +<ul> 20.40 + <li><a href="fd001.img">fd001.img 1.44Mb</a></li> 20.41 + <li><a href="fd002.img">fd002.img 1.44Mb</a></li> 20.42 + <li><a href="fd003.img">fd003.img 1.44Mb</a><br /></li> 20.43 + <li><a href="fd100.img">fd100.img 1.44Mb</a></li> 20.44 + <li><a href="fd101.img">fd101.img 1.44Mb</a></li> 20.45 + <li><a href="fd102.img">fd102.img 1.44Mb</a></li> 20.46 + <li><a href="fd103.img">fd103.img 1.44Mb</a><br /></li> 20.47 + <li><a href="fd200.img">fd200.img 1.44Mb</a></li> 20.48 + <li><a href="fd201.img">fd201.img 1.44Mb</a></li> 20.49 + <li><a href="fd202.img">fd202.img 1.44Mb</a></li> 20.50 + <li><a href="fd203.img">fd203.img 1.44Mb</a></li> 20.51 + <li><a href="fd204.img">fd204.img 1.44Mb</a></li> 20.52 + <li><a href="fd205.img">fd205.img 1.44Mb</a></li> 20.53 + <li><a href="fd206.img">fd206.img 1.44Mb</a><br /></li> 20.54 + <li><a href="fd300.img">fd300.img 1.44Mb</a></li> 20.55 + <li><a href="fd301.img">fd301.img 1.44Mb</a></li> 20.56 + <li><a href="fd302.img">fd302.img 1.44Mb</a></li> 20.57 + <li><a href="fd303.img">fd303.img 1.44Mb</a></li> 20.58 + <li><a href="fd304.img">fd304.img 1.44Mb</a></li> 20.59 + <li><a href="fd305.img">fd305.img 1.44Mb</a></li> 20.60 + <li><a href="fd306.img">fd306.img 1.44Mb</a></li> 20.61 + <li><a href="fd307.img">fd307.img 1.44Mb</a></li> 20.62 + <li><a href="fd308.img">fd308.img 1.44Mb</a></li> 20.63 + <li><a href="fd309.img">fd309.img 1.44Mb</a></li> 20.64 + <li><a href="fd310.img">fd310.img 1.44Mb</a></li> 20.65 + <li><a href="fd311.img">fd311.img 1.44Mb</a><br /></li> 20.66 + <li><a href="md5sum">md5sum</a></li> 20.67 +</ul> 20.68 +</div> 20.69 + 20.70 +<!-- End navigation menu --> 20.71 +</div> 20.72 + 20.73 +<!-- Content top. --> 20.74 +<div id="content_top"> 20.75 +<div class="top_left"></div> 20.76 +<div class="top_right"></div> 20.77 +</div> 20.78 + 20.79 +<!-- Content --> 20.80 +<div id="content"> 20.81 + 20.82 +<h1><font color="#3e1220">Boot</font></h1> 20.83 +<h2><font color="#df8f06">Floppy image set</font></h2> 20.84 + 20.85 +<p> 20.86 +This floppy set will boot a Slitaz stable loram version. You can write floppies 20.87 +with SliTaz <i>bootfloppybox</i>, 20.88 +<a href="http://en.wikipedia.org/wiki/RaWrite">Windows rawrite</a> or simply dd: 20.89 +</p><pre># dd if=fd001.img of=/dev/fd0 20.90 +</pre> 20.91 + 20.92 +<p> 20.93 +If you have a CD-ROM, an USB port and an USB key or a network card, but you 20.94 +can't boot these devices directly, then try 20.95 +<a href="http://mirror.slitaz.org/boot/floppy-grub4dos">floppy-grub4dos</a> 20.96 +first. This 1.44Mb floppy provides tiny programs to boot these devices without BIOS 20.97 +support and some other tools. 20.98 +</p> 20.99 +<p> 20.100 +You can start with one of the 3 following flavors : 20.101 +</p><ul> 20.102 + <li> 20.103 + <b>base</b> needs 22Mb of RAM and 7 floppies: <i>fd001.img</i> to <i>fd103.img</i>.<br /> 20.104 + base provides the minimum slitaz distribution subset in text mode. 20.105 + </li> 20.106 + <li> 20.107 + <b>justx</b> needs 64M of RAM and 14 floppies: <i>fd001.img</i> to <i>fd206.img</i>.<br /> 20.108 + justx provides the minimum slitaz distribution subset with X11 support. 20.109 + </li> 20.110 + <li> 20.111 + <b>core</b> needs 92M of RAM and 26 floppies: <i>fd001.img</i> to <i>fd311.img</i>.<br /> 20.112 + core provides the default slitaz distribution. 20.113 + </li> 20.114 +</ul> 20.115 + 20.116 +Start your computer with <i>fd001.img</i>. It will show the kernel version string and 20.117 +the kernel cmdline line. You can edit the cmdline. Most users can just press Enter. 20.118 + 20.119 +<p> 20.120 +The floppy is then loaded into memory (one dot each 64k) and you will be prompted to 20.121 +insert the next floppy, <i>fd002.img</i>. And so on up to <i>fd003.img</i>. 20.122 +</p> 20.123 +<p> 20.124 +The loram bootstrap will then start and you will be prompted to insert extra floppies 20.125 +for base, justx and core flavors. You can bypass this by using Q and Enter. 20.126 +</p> 20.127 +<p> 20.128 +Each floppy set detects disk swaps and can be used without a keyboard. 20.129 +</p> 20.130 +<p> 20.131 +Good luck. 20.132 +</p> 20.133 + 20.134 +<!-- End of content with round corner --> 20.135 +</div> 20.136 +<div id="content_bottom"> 20.137 +<div class="bottom_left"></div> 20.138 +<div class="bottom_right"></div> 20.139 +</div> 20.140 + 20.141 +<!-- Start of footer and copy notice --> 20.142 +<div id="copy"> 20.143 +<p> 20.144 +Copyright © <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a> - 20.145 +<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a> 20.146 +</p> 20.147 +<!-- End of copy --> 20.148 +</div> 20.149 + 20.150 +<!-- Bottom and logo's --> 20.151 +<div id="bottom"> 20.152 +<p> 20.153 +<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> 20.154 +</p> 20.155 +</div> 20.156 + 20.157 +</body> 20.158 +</html>
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 21.2 +++ b/mirror-tools/var/www/slitaz/mirror/mirrors Thu Feb 24 01:29:50 2011 +0000 21.3 @@ -0,0 +1,10 @@ 21.4 +http://mirror.slitaz.org/ 21.5 +http://mirror.switch.ch/ftp/mirror/slitaz/ 21.6 +http://www.gtlib.gatech.edu/pub/slitaz/ 21.7 +http://download.tuxfamily.org/slitaz/ 21.8 +http://mirror.lupaworld.com/slitaz/ 21.9 +http://slitaz.c3sl.ufpr.br/ 21.10 +ftp://ftp.pina.si/slitaz/ 21.11 +http://distro.ibiblio.org/pub/linux/distributions/slitaz/ 21.12 +http://ftp.ch.xemacs.org/ftp/pool/2/mirror/slitaz/ 21.13 +http://slitaz.mirror.garr.it/mirrors/slitaz/
22.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 22.2 +++ b/mirror-tools/var/www/slitaz/mirror/pxe/defaults.cfg Thu Feb 24 01:29:50 2011 +0000 22.3 @@ -0,0 +1,17 @@ 22.4 +default menu.c32 22.5 +prompt 0 22.6 + 22.7 +MENU TITLE Slitaz Web boot http://www.slitaz.org/ 22.8 +ALLOWOPTIONS 0 22.9 +MENU MARGIN 0 22.10 +MENU ROWS 17 22.11 +MENU COLOR BORDER 37;44 #40000000 #00000000 std 22.12 +MENU COLOR TITLE 1;33;44 #c00090f0 #00000000 std 22.13 +MENU COLOR SCROLLBAR 37;44 #40000000 #00000000 std 22.14 + 22.15 +#MENU COLOR TIMEOUT_MSG 1;33;44 #c00090f0 #00000000 std 22.16 +#MENU COLOR TIMEOUT 37;40 #80ffffff #00000000 std 22.17 +MENU TIMEOUTROW 25 22.18 +MENU AUTOBOOT Start cooking in # second{,s} 22.19 +timeout 100 22.20 +TOTALTIMEOUT 9000
23.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 23.2 +++ b/mirror-tools/var/www/slitaz/mirror/pxe/mkcfg.sh Thu Feb 24 01:29:50 2011 +0000 23.3 @@ -0,0 +1,176 @@ 23.4 +#!/bin/sh 23.5 + 23.6 +#usage: 23.7 +# copy /boot/isolinux/* <version> 23.8 +# remove *.cfg 23.9 +# copy then update /boot/isolinux/isolinux.cfg <version>core.cfg 23.10 + 23.11 +cd $(dirname $0) 23.12 + 23.13 +# Status functions. 23.14 +status() 23.15 +{ 23.16 + local CHECK=$? 23.17 + echo -en "\\033[70G[ " 23.18 + if [ $CHECK = 0 ]; then 23.19 + echo -en "\\033[1;33mOK" 23.20 + else 23.21 + echo -en "\\033[1;31mFailed" 23.22 + fi 23.23 + echo -e "\\033[0;39m ]" 23.24 +} 23.25 + 23.26 +directlinks() 23.27 +{ 23.28 + mkdir $1/$2 23.29 + ln -s .. $1/$2/$1 23.30 + ln -s ../$2.cfg $1/$2/default 23.31 + ln -s ../../pxelinux.0 $1/$2/pxelinux.0 23.32 + ln -s . $1/$2/pxelinux.cfg 23.33 + [ -e $1/boot ] || ln -s ../../boot $1/boot 23.34 +} 23.35 +for version in cooking $(ls ../boot | grep 0$) ; do 23.36 + 23.37 +[ "$version" = "1.0" ] && continue 23.38 +echo -n "Building $version" 23.39 +for i in splash.lss isolinux.msg core.cfg ; do 23.40 + [ -s $version/$i ] && continue 23.41 + echo -n " $version/$i not found !" 23.42 + false 23.43 + status 23.44 + continue 2 23.45 +done 23.46 +if ! grep -q $version/splash.lss $version/isolinux.msg ; then 23.47 + echo "WARNING: please update $version/isolinux.msg with $version/splash.lss" 23.48 +fi 23.49 +rm -f $version/*-*.cfg 23.50 +( cd ../boot/$version ; ls rootfs-*.gz 2> /dev/null ) | \ 23.51 +sed 's/rootfs-\(.*\).gz/\1/' | while read flavor; do 23.52 + lowcased=$(echo $flavor | tr [A-Z] [a-z]) 23.53 + if [ "$lowcased" != "$flavor" ]; then 23.54 + echo "" 23.55 + echo "Warning : renaming ../boot/$version/rootfs-$flavor.gz to ../boot/$version/rootfs-$lowcased.gz" 23.56 + mv ../boot/$version/rootfs-$flavor.gz ../boot/$version/rootfs-$lowcased.gz 23.57 + flavor=$lowcased 23.58 + fi 23.59 + [ -f $version/$flavor.cfg ] && continue 23.60 + cp $version/core.cfg $version/$flavor.cfg 23.61 + sed -i -e "s/core-common/$flavor-common/" \ 23.62 + -e "s/^label slitaz$/say Using $flavor flavor.\nlabel slitaz/" \ 23.63 + -e "s/rootfs.gz/rootfs-$flavor.gz/" $version/$flavor.cfg 23.64 + directlinks $version $flavor 23.65 +done 23.66 +for flavor in $(cd $version ; ls *.cfg | sed 's/.cfg//') ; do 23.67 + echo -n " $flavor" 23.68 + cat > $version/$flavor-common.cfg <<EOT 23.69 +default slitaz 23.70 +label deCH 23.71 + config $version/$flavor-de_CH.cfg 23.72 +label frCH 23.73 + config $version/$flavor-fr_CH.cfg 23.74 +label reboot 23.75 + com32 reboot.c32 23.76 + 23.77 +implicit 0 23.78 +prompt 1 23.79 +timeout 80 23.80 +F1 $version/help.txt 23.81 +F2 $version/options.txt 23.82 +F3 $version/isolinux.msg 23.83 +F4 $version/display.txt 23.84 +F5 $version/enhelp.txt 23.85 +F6 $version/enopts.txt 23.86 + 23.87 +EOT 23.88 + while read cfg kbd loc ; do 23.89 + if [ ! -f $version/$cfg.kbd ]; then 23.90 + echo "" 23.91 + echo "Not found: $version/$cfg.kbd" 23.92 + fi 23.93 + info="Now using $kbd keyboard and $loc locale." 23.94 + sed -e "s/^display/kbdmap $version\/$cfg.kbd\ndisplay/" \ 23.95 + -e "s/^label slitaz$/say $info\nlabel slitaz/" \ 23.96 + -e "s/gz/gz lang=$loc kmap=$kbd/" \ 23.97 + < $version/$flavor.cfg > $version/$flavor-$cfg.cfg 23.98 + cat >> $version/$flavor-common.cfg <<EOT 23.99 +label $cfg 23.100 + config $version/$flavor-$cfg.cfg 23.101 +EOT 23.102 + done <<EOT 23.103 +be be-latin1 fr_FR 23.104 +br br-abnt2 pt_PT 23.105 +ca cf fr_FR 23.106 +de de-latin1 de_DE 23.107 +de_CH de_CH-latin1 de_DE 23.108 +en uk C 23.109 +es es es_ES 23.110 +fi fi-latin1 fi 23.111 +fr fr-latin1 fr_FR 23.112 +fr_CH fr_CH-latin1 fr_FR 23.113 +hu hu hu 23.114 +it it it_IT 23.115 +jp jp106 jp_JP 23.116 +pt pt-latin1 pt_PT 23.117 +ru ru ru_RU 23.118 +us us C 23.119 +EOT 23.120 +done 23.121 +status 23.122 + 23.123 +done 23.124 + 23.125 +echo -n "Building 1.0" 23.126 +rm -f 1.0/*-*.cfg 23.127 +( cd ../boot/1.0 ; ls rootfs-*.gz 2> /dev/null ) | \ 23.128 +sed 's/rootfs-\(.*\).gz/\1/' | while read flavor; do 23.129 + [ -f 1.0/$flavor.cfg ] && continue 23.130 + cp 1.0/core.cfg 1.0/$flavor.cfg 23.131 + sed -i -e "s/core-common/$flavor-common/" \ 23.132 + -e "s/rootfs.gz/rootfs-$flavor.gz/" 1.0/$flavor.cfg 23.133 + directlinks 1.0 $flavor 23.134 +done 23.135 +directlinks 1.0 core 23.136 +for flavor in $(cd 1.0; ls *.cfg | sed 's/.cfg//') ; do 23.137 + echo -n " $flavor" 23.138 + cat > 1.0/$flavor-common.cfg <<EOT 23.139 +default slitaz 23.140 + 23.141 +label def 23.142 + config 1.0/$flavor.cfg 23.143 + 23.144 +label reboot 23.145 + com32 reboot.c32 23.146 + 23.147 +implicit 0 23.148 +prompt 1 23.149 +timeout 80 23.150 +F1 1.0/help.txt 23.151 +F2 1.0/options.txt 23.152 +F3 1.0/isolinux.msg 23.153 +F4 1.0/display.txt 23.154 +EOT 23.155 + while read cfg kbd loc ; do 23.156 + if [ ! -f 1.0/$cfg.kbd ]; then 23.157 + echo "" 23.158 + echo "Not found: 1.0/$cfg.kbd" 23.159 + fi 23.160 + sed -e "s/^display/KBDMAP 1.0\/$cfg.kbd\ndisplay/" \ 23.161 + -e "s/gz/gz lang=$loc kmap=$kbd/" \ 23.162 + < 1.0/$flavor.cfg > 1.0/$flavor-$cfg.cfg 23.163 + cat >> 1.0/$flavor-common.cfg <<EOT 23.164 +label $cfg 23.165 + config 1.0/$flavor-$cfg.cfg 23.166 +EOT 23.167 + done <<EOT 23.168 +be be fr 23.169 +ca ca fr 23.170 +de_CH fr_CH fr_CH 23.171 +en en en 23.172 +es es en 23.173 +fr fr fr 23.174 +fr_CH fr_CH fr_CH 23.175 +it it en 23.176 +us us en 23.177 +EOT 23.178 +done 23.179 +status