slitaz-dev-tools rev 5

Add /var/www/mirror-info/mirror from mirror-tools stuff.
author Christopher Rogers <slaxemulator@gmail.com>
date Thu Feb 24 01:29:50 2011 +0000 (2011-02-24)
parents d9b5be1f9ad3
children e0a09d90b2cb
files mirror-tools/var/www/slitaz/mirror/css/favicon.ico mirror-tools/var/www/slitaz/mirror/css/pics/mime/Directory mirror-tools/var/www/slitaz/mirror/css/pics/mime/application_octet-stream mirror-tools/var/www/slitaz/mirror/css/pics/mime/file_fd mirror-tools/var/www/slitaz/mirror/css/pics/mime/file_iso mirror-tools/var/www/slitaz/mirror/css/pics/mime/file_md5 mirror-tools/var/www/slitaz/mirror/css/pics/mime/file_tar.gz mirror-tools/var/www/slitaz/mirror/css/pics/mime/file_tazpkg mirror-tools/var/www/slitaz/mirror/css/pics/mime/text_plain mirror-tools/var/www/slitaz/mirror/css/pics/website/header-img.png mirror-tools/var/www/slitaz/mirror/css/pics/website/logo.png mirror-tools/var/www/slitaz/mirror/css/pics/website/network.png mirror-tools/var/www/slitaz/mirror/css/pics/website/users.png mirror-tools/var/www/slitaz/mirror/css/pics/website/xhtml10.png mirror-tools/var/www/slitaz/mirror/css/slitaz.css mirror-tools/var/www/slitaz/mirror/dir-generator.php mirror-tools/var/www/slitaz/mirror/floppies/builder/bootloader mirror-tools/var/www/slitaz/mirror/floppies/builder/index.php mirror-tools/var/www/slitaz/mirror/floppies/index.html mirror-tools/var/www/slitaz/mirror/floppies/loram/index.html mirror-tools/var/www/slitaz/mirror/mirrors mirror-tools/var/www/slitaz/mirror/pxe/defaults.cfg mirror-tools/var/www/slitaz/mirror/pxe/mkcfg.sh
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 = "&amp;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'>&nbsp;</td>";
  16.372 +	print "<td class='s'>- &nbsp;</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'>- &nbsp;</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].' &lt;'.$soft[1].'&gt;');
  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 &copy; <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)."&amp;n=$i&amp;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 +	&nbsp;&nbsp;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 +	&nbsp;&nbsp;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 &copy; <?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 &copy; <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 &copy; <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