summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/devices.pm4
-rw-r--r--perl-install/fs.pm1
-rw-r--r--perl-install/partition_table.pm9
3 files changed, 6 insertions, 8 deletions
diff --git a/perl-install/devices.pm b/perl-install/devices.pm
index 2a0c048a4..c1a9bdaee 100644
--- a/perl-install/devices.pm
+++ b/perl-install/devices.pm
@@ -63,7 +63,7 @@ sub entry {
'c' => [22,0], 'd' => [22,64],
'e' => [33,0], 'f' => [33,64],
'g' => [34,0], 'h' => [34,64],
- }}{$1} or die "unknown device $_ (caller is " . caller . ")" };
+ }}{$1} or die "unknown device $_" };
$minor += $2 || 0;
} elsif (/^ram(.*)/) {
$type = c::S_IFBLK();
@@ -114,7 +114,7 @@ sub entry {
# "usbmouse"=> [ c::S_IFCHR(), 10, 32], #- aka hidbp-mse-0
"usbmouse"=> [ c::S_IFCHR(), 13, 32], #- aka /dev/usb/usbmouse0
"zero" => [ c::S_IFCHR(), 1, 5 ],
- }}{$_} or die "unknown device $_" };
+ }}{$_} or die "unknown device $_ (caller is " . join(":", caller()) . ")" };
}
($type, $major, $minor);
}
diff --git a/perl-install/fs.pm b/perl-install/fs.pm
index 230db934d..ef40fee4f 100644
--- a/perl-install/fs.pm
+++ b/perl-install/fs.pm
@@ -169,6 +169,7 @@ sub formatMount_all {
#- for fun :)
#- that way, when install exits via ctrl-c, it gives hand to partition
eval {
+ local $SIG{__DIE__} = 'ignore';
my ($type, $major, $minor) = devices::entry(fsedit::get_root($fstab)->{device});
output "/proc/sys/kernel/real-root-dev", makedev($major, $minor);
};
diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm
index 3cef33e29..1dc606b8e 100644
--- a/perl-install/partition_table.pm
+++ b/perl-install/partition_table.pm
@@ -275,13 +275,10 @@ sub assign_device_numbers($) {
#- first verify there's at least one primary dos partition, otherwise it
#- means it is a secondary disk and all will be false :(
my ($c, @others) = grep { isFat($_) } @{$hd->{primary}{normal}};
- $c or return;
- $i = ord 'D';
- foreach (grep { isFat($_) } map { $_->{normal} } @{$hd->{extended}}) {
- $_->{device_windobe} = chr($i++);
- }
- $c->{device_windobe} = 'C';
+ $i = ord 'C';
+ $c->{device_windobe} = chr($i++) if $c;
+ $_->{device_windobe} = chr($i++) foreach grep { isFat($_) } map { $_->{normal} } @{$hd->{extended}};
$_->{device_windobe} = chr($i++) foreach @others;
}