diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/devices.pm | 4 | ||||
-rw-r--r-- | perl-install/fs.pm | 1 | ||||
-rw-r--r-- | perl-install/partition_table.pm | 9 |
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; } |