syslinux and deps ...
This commit is contained in:
@@ -0,0 +1,182 @@
|
||||
--- syslinux-5.00-orig/utils/isohybrid.pl 2012-12-06 21:51:22.000000000 +0200
|
||||
+++ syslinux-5.00/utils/isohybrid.pl 2013-02-07 18:55:28.423760149 +0200
|
||||
@@ -44,6 +44,7 @@
|
||||
'id' => [0, 0xffffffff],
|
||||
'hd0' => [0, 2],
|
||||
'partok' => [0, 1],
|
||||
+ 'fat' => [0, 1],
|
||||
);
|
||||
|
||||
# Boolean options just set other options
|
||||
@@ -53,6 +54,7 @@
|
||||
'ctrlhd0' => ['hd0', 2],
|
||||
'nopartok' => ['partok', 0],
|
||||
'partok' => ['partok', 1],
|
||||
+ 'fatfirst' => ['fat', 1],
|
||||
);
|
||||
|
||||
sub usage() {
|
||||
@@ -66,7 +68,8 @@
|
||||
" -id Specify MBR ID (default random)\n",
|
||||
" -forcehd0 Always assume we are loaded as disk ID 0\n",
|
||||
" -ctrlhd0 Assume disk ID 0 if the Ctrl key is pressed\n",
|
||||
- " -partok Allow booting from within a partition\n";
|
||||
+ " -partok Allow booting from within a partition\n",
|
||||
+ " -fatfirst Create a small fat partition first\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
@@ -221,9 +224,9 @@
|
||||
|
||||
# Print partition table
|
||||
$offset = $opt{'offset'};
|
||||
-$psize = $c*$h*$s - $offset;
|
||||
+$psize = $c*$h*$s - $offset - 1;
|
||||
$bhead = int($offset/$s) % $h;
|
||||
-$bsect = ($offset % $s) + 1;
|
||||
+$bsect = ($offset % $s) + 1 + 1;
|
||||
$bcyl = int($offset/($h*$s));
|
||||
$bsect += ($bcyl & 0x300) >> 2;
|
||||
$bcyl &= 0xff;
|
||||
@@ -233,10 +236,29 @@
|
||||
$fstype = $opt{'type'}; # Partition type
|
||||
$pentry = $opt{'entry'}; # Partition slot
|
||||
|
||||
+$offset += $psize;
|
||||
+$psize1 = $cylsize/512;
|
||||
+$bhead1 = int(($offset+1)/$s) % $h;
|
||||
+$bsect1 = (($offset+1) % $s) + 1;
|
||||
+$bcyl1 = int(($offset+1)/($h*$s));
|
||||
+$bsect1 += ($bcyl1 & 0x300) >> 2;
|
||||
+$bcyl1 &= 0xff;
|
||||
+$ehead1 = $h-1;
|
||||
+$esect1 = $s;
|
||||
+$ecyl1 = $bcyl1;
|
||||
+print "ehead1=$ehead1 esect1=$esect1 ecyl1=$ecyl1\n";
|
||||
+
|
||||
+if ( $opt{'fat'} == 1 ) {
|
||||
+ $pentry = 2;
|
||||
+}
|
||||
+
|
||||
for ( $i = 1 ; $i <= 4 ; $i++ ) {
|
||||
- if ( $i == $pentry ) {
|
||||
+ if ( $opt{'fat'} == 1 && $i == 1 ) {
|
||||
+ $mbr .= pack("CCCCCCCCVV", 0x00, $bhead1, $bsect1, $bcyl1, 0xc,
|
||||
+ $ehead1, $esect1, $ecyl1, $offset+1, $psize1);
|
||||
+ } elsif ( $i == $pentry ) {
|
||||
$mbr .= pack("CCCCCCCCVV", 0x80, $bhead, $bsect, $bcyl, $fstype,
|
||||
- $ehead, $esect, $ecyl, $offset, $psize);
|
||||
+ $ehead, $esect, $ecyl, $offset + 1, $psize);
|
||||
} else {
|
||||
$mbr .= "\0" x 16;
|
||||
}
|
||||
@@ -251,6 +273,18 @@
|
||||
print FILE "\0" x $padding;
|
||||
}
|
||||
|
||||
+# Create fat image and put it into the file
|
||||
+if($opt{'fat'}) {
|
||||
+ open(FATFILE, "> $file.fat") or die "$0: cannot open $file.fat: $!\n";
|
||||
+ print FATFILE "\0" x ($psize1*512);
|
||||
+ close(FATFILE);
|
||||
+ system("/usr/sbin/mkfs.vfat -n RESIZE_ME $file.fat") and die "$0: cannot format fat\n";
|
||||
+ open(FATFILE, "< $file.fat");
|
||||
+ print FILE <FATFILE>;
|
||||
+ close(FATFILE);
|
||||
+ unlink("$file.fat");
|
||||
+}
|
||||
+
|
||||
# Done...
|
||||
close(FILE);
|
||||
|
||||
--- syslinux-5.00-orig/utils/isohybrid.in 2012-12-06 21:51:22.000000000 +0200
|
||||
+++ syslinux-5.00/utils/isohybrid.in 2013-02-07 18:55:28.423760149 +0200
|
||||
@@ -44,6 +44,7 @@
|
||||
'id' => [0, 0xffffffff],
|
||||
'hd0' => [0, 2],
|
||||
'partok' => [0, 1],
|
||||
+ 'fat' => [0, 1],
|
||||
);
|
||||
|
||||
# Boolean options just set other options
|
||||
@@ -53,6 +54,7 @@
|
||||
'ctrlhd0' => ['hd0', 2],
|
||||
'nopartok' => ['partok', 0],
|
||||
'partok' => ['partok', 1],
|
||||
+ 'fatfirst' => ['fat', 1],
|
||||
);
|
||||
|
||||
sub usage() {
|
||||
@@ -66,7 +68,8 @@
|
||||
" -id Specify MBR ID (default random)\n",
|
||||
" -forcehd0 Always assume we are loaded as disk ID 0\n",
|
||||
" -ctrlhd0 Assume disk ID 0 if the Ctrl key is pressed\n",
|
||||
- " -partok Allow booting from within a partition\n";
|
||||
+ " -partok Allow booting from within a partition\n",
|
||||
+ " -fatfirst Create a small fat partition first\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
@@ -221,9 +224,9 @@
|
||||
|
||||
# Print partition table
|
||||
$offset = $opt{'offset'};
|
||||
-$psize = $c*$h*$s - $offset;
|
||||
+$psize = $c*$h*$s - $offset - 1;
|
||||
$bhead = int($offset/$s) % $h;
|
||||
-$bsect = ($offset % $s) + 1;
|
||||
+$bsect = ($offset % $s) + 1 + 1;
|
||||
$bcyl = int($offset/($h*$s));
|
||||
$bsect += ($bcyl & 0x300) >> 2;
|
||||
$bcyl &= 0xff;
|
||||
@@ -233,10 +236,29 @@
|
||||
$fstype = $opt{'type'}; # Partition type
|
||||
$pentry = $opt{'entry'}; # Partition slot
|
||||
|
||||
+$offset += $psize;
|
||||
+$psize1 = $cylsize/512;
|
||||
+$bhead1 = int(($offset+1)/$s) % $h;
|
||||
+$bsect1 = (($offset+1) % $s) + 1;
|
||||
+$bcyl1 = int(($offset+1)/($h*$s));
|
||||
+$bsect1 += ($bcyl1 & 0x300) >> 2;
|
||||
+$bcyl1 &= 0xff;
|
||||
+$ehead1 = $h-1;
|
||||
+$esect1 = $s;
|
||||
+$ecyl1 = $bcyl1;
|
||||
+print "ehead1=$ehead1 esect1=$esect1 ecyl1=$ecyl1\n";
|
||||
+
|
||||
+if ( $opt{'fat'} == 1 ) {
|
||||
+ $pentry = 2;
|
||||
+}
|
||||
+
|
||||
for ( $i = 1 ; $i <= 4 ; $i++ ) {
|
||||
- if ( $i == $pentry ) {
|
||||
+ if ( $opt{'fat'} == 1 && $i == 1 ) {
|
||||
+ $mbr .= pack("CCCCCCCCVV", 0x00, $bhead1, $bsect1, $bcyl1, 0xc,
|
||||
+ $ehead1, $esect1, $ecyl1, $offset+1, $psize1);
|
||||
+ } elsif ( $i == $pentry ) {
|
||||
$mbr .= pack("CCCCCCCCVV", 0x80, $bhead, $bsect, $bcyl, $fstype,
|
||||
- $ehead, $esect, $ecyl, $offset, $psize);
|
||||
+ $ehead, $esect, $ecyl, $offset + 1, $psize);
|
||||
} else {
|
||||
$mbr .= "\0" x 16;
|
||||
}
|
||||
@@ -251,6 +273,18 @@
|
||||
print FILE "\0" x $padding;
|
||||
}
|
||||
|
||||
+# Create fat image and put it into the file
|
||||
+if($opt{'fat'}) {
|
||||
+ open(FATFILE, "> $file.fat") or die "$0: cannot open $file.fat: $!\n";
|
||||
+ print FATFILE "\0" x ($psize1*512);
|
||||
+ close(FATFILE);
|
||||
+ system("/usr/sbin/mkfs.vfat -n RESIZE_ME $file.fat") and die "$0: cannot format fat\n";
|
||||
+ open(FATFILE, "< $file.fat");
|
||||
+ print FILE <FATFILE>;
|
||||
+ close(FATFILE);
|
||||
+ unlink("$file.fat");
|
||||
+}
|
||||
+
|
||||
# Done...
|
||||
close(FILE);
|
||||
|
||||
Reference in New Issue
Block a user