slitaz-forge rev 596

Web floppy builder: multiple initrd upload
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon Aug 03 09:47:23 2015 +0200 (2015-08-03)
parents 8c02c699a951
children f3e084066f98
files mirror/floppies/builder/bootloader mirror/floppies/builder/index.php
line diff
     1.1 --- a/mirror/floppies/builder/bootloader	Sat Aug 01 14:23:16 2015 +0200
     1.2 +++ b/mirror/floppies/builder/bootloader	Mon Aug 03 09:47:23 2015 +0200
     1.3 @@ -283,6 +283,7 @@
     1.4  	esac
     1.5  	while [ -L "$RDEV" ]; do RDEV="$(readlink "$RDEV")"; done
     1.6  	[ -b "$RDEV" ] && RDEV=$(stat -c '0x%02t%02T' $RDEV 2> /dev/null)
     1.7 +	[ "$(echo $RDEV | tr '[0-9A-FXa-fx]' 0 | sed 's/0//g')" ] ||
     1.8  	store 16 $RootDevOfs $RDEV $bs RDEV
     1.9  
    1.10  	[ $FORMAT -lt 720  ] && store 8 0x15F 40	 $bs	360K
    1.11 @@ -329,7 +330,7 @@
    1.12  		[ $syssz -gt 32768 ] && syssz=$(get 0x1F4 $bs 2)
    1.13  		[ $syssz -eq 0 ] && syssz=$((0x7F00))
    1.14  		sysszsect=$((($syssz+31)/32))
    1.15 -		INITRD="${INITRD%%,*}"
    1.16 +		INITRD="${INITRD%% *}"
    1.17  		initrdlen=$(stat -c %s "$INITRD")
    1.18  		store 16 $OldRamfsLenOfs $(($initrdlen/1024)) $bs set oldramfs
    1.19  		INITRDDISKALIGN=$((0x40000))
     2.1 --- a/mirror/floppies/builder/index.php	Sat Aug 01 14:23:16 2015 +0200
     2.2 +++ b/mirror/floppies/builder/index.php	Mon Aug 03 09:47:23 2015 +0200
     2.3 @@ -203,24 +203,28 @@
     2.4  	
     2.5  	// Upload initrd
     2.6  	
     2.7 -	if ($size && isset($_FILES["initrd"]['tmp_name']) &&
     2.8 -	    is_uploaded_file($_FILES["initrd"]['tmp_name'])) {
     2.9 -		move_uploaded_file($_FILES["initrd"]['tmp_name'],
    2.10 -				   $tmp_dir."initrd");
    2.11 -		$initrd_size = $_FILES["initrd"]['size'];
    2.12 +	if ($size) for ($i = 0; $i < count($_FILES["initrd"]['name']); $i++)
    2.13 +	if (isset($_FILES["initrd"]['tmp_name'][$i]) &&
    2.14 +	    is_uploaded_file($_FILES["initrd"]['tmp_name'][$i])) {
    2.15 +		move_uploaded_file($_FILES["initrd"]['tmp_name'][$i],
    2.16 +				   $tmp_dir."initrd.".$i);
    2.17 +		$initrd_cmd .= " --initrd ".$tmp_dir."initrd.".$i;
    2.18 +		$initrd_size = $_FILES["initrd"]['size'][$i];
    2.19  		$size += $initrd_size;
    2.20 +		if ($i == 0)
    2.21  		$msg = "The total size of the files ".$_FILES["kernel"]['name'].
    2.22 -		       " and ".$_FILES["initrd"]['name'];
    2.23 +		       " and ".$_FILES["initrd"]['name'][$i];
    2.24 +		else $msg .= ", ".$FILE["initrd"]['name'][$i];
    2.25  	}
    2.26 -	if ($initrd_size && isset($_FILES["initrd2"]['tmp_name']) &&
    2.27 -	    is_uploaded_file($_FILES["initrd2"]['tmp_name'])) {
    2.28 -		move_uploaded_file($_FILES["initrd2"]['tmp_name'],
    2.29 -				   $tmp_dir."initrd2");
    2.30 -		$initrd2_size = $_FILES["initrd2"]['size'];
    2.31 +	if ($initrd_size) for ($i = 0; $i < count($_FILES["initrd2"]['name']); $i++)
    2.32 +	if (isset($_FILES["initrd2"]['tmp_name'][$i]) &&
    2.33 +	    is_uploaded_file($_FILES["initrd2"]['tmp_name'][$i])) {
    2.34 +		move_uploaded_file($_FILES["initrd2"]['tmp_name'][$i],
    2.35 +				   $tmp_dir."initrd2.".$i);
    2.36 +		$initrd2_cmd .= " --initrd ".$tmp_dir."initrd2.".$i;
    2.37 +		$initrd2_size = $_FILES["initrd2"]['size'][$i];
    2.38  		$size += $initrd2_size;
    2.39 -		$msg = "The total size of the files ".$_FILES["kernel"]['name'].
    2.40 -		       ", ".$_FILES["initrd"]['name'].
    2.41 -		       " and ".$_FILES["initrd2"]['name'];
    2.42 +		$msg .= ", ".$FILE["initrd2"]['name'][$i];
    2.43  	}
    2.44  	if ($size == 0) {
    2.45  		if (isset($tmp_dir))
    2.46 @@ -239,9 +243,9 @@
    2.47  		if (file_exists($_POST['rdev']))
    2.48  			$cmd .= " --rdev ".$_POST['rdev'];
    2.49  		if ($initrd_size)
    2.50 -			$cmd .= " --initrd ".$tmp_dir."initrd";
    2.51 +			$cmd .= $initrd_cmd;
    2.52  		if ($initrd2_size)
    2.53 -			$cmd .= " --initrd ".$tmp_dir."initrd2";
    2.54 +			$cmd .= $initrd2_cmd;
    2.55  		switch ($_POST['size']) {
    2.56  		case 1763328 : 
    2.57  		case 2015232 : 
    2.58 @@ -308,11 +312,11 @@
    2.59  	</tr>
    2.60  	<tr>
    2.61  	<td>Initramfs / Initrd:</td>
    2.62 -	<td><input type="file" name="initrd" size="37" /> <i>optional</i></td>
    2.63 +	<td><input type="file" name="initrd[]" size="37" multiple /> <i>optional</i></td>
    2.64  	</tr>
    2.65  	<tr>
    2.66  	<td>Extra initramfs:</td>
    2.67 -	<td><input type="file" name="initrd2" size="37" /> <i>optional</i></td>
    2.68 +	<td><input type="file" name="initrd2[]" size="37" multiple /> <i>optional</i></td>
    2.69  	</tr>
    2.70  	<tr>
    2.71  	<td>Boot message:</td>
    2.72 @@ -329,7 +333,7 @@
    2.73  	<td>Root device:</td>
    2.74  	<td><input type="text" name="rdev" size="8" value="<?php
    2.75  		if (isset($_GET['rdev'])) echo $_GET['rdev'];
    2.76 -		else echo "/dev/fd0";
    2.77 +		else echo "/dev/ram0";
    2.78  	?>" />
    2.79  	&nbsp;&nbsp;Flags: <select name="flags">
    2.80  		<option value="1">R/O</option>