219 |
|
|
220 |
my (%config, $wait); |
my (%config, $wait); |
221 |
my $in; |
my $in; |
222 |
my $splash = -f '/proc/splash'; |
my $plymouth = -x '/bin/plymouth'; |
|
my $splash_was_silent = cat_('/proc/splash') =~ /, silent : on/; |
|
223 |
|
|
224 |
# For each hw, class, detect device, compare and offer to reconfigure if needed |
# For each hw, class, detect device, compare and offer to reconfigure if needed |
225 |
foreach my $hw_class (@harddrake::data::tree) { |
foreach my $hw_class (@harddrake::data::tree) { |
338 |
if (!$hw_class->{automatic}) { |
if (!$hw_class->{automatic}) { |
339 |
$SIG{ALRM} = sub { $no = 1; kill 15, $pid }; |
$SIG{ALRM} = sub { $no = 1; kill 15, $pid }; |
340 |
unless ($pid = fork()) { |
unless ($pid = fork()) { |
341 |
$splash and eval { output('/proc/splash', 'verbose') } and $splash = 0; |
$plymouth and system('plymouth', 'hide-splash'); |
342 |
exec("/usr/share/harddrake/confirm", $Ident, $timeout, $msg); |
exec("/usr/share/harddrake/confirm", $Ident, $timeout, $msg); |
343 |
} |
} |
344 |
alarm($timeout); |
alarm($timeout); |
378 |
log::explanations("created file $last_boot_config"); |
log::explanations("created file $last_boot_config"); |
379 |
Storable::store(\%config, $last_boot_config); |
Storable::store(\%config, $last_boot_config); |
380 |
|
|
|
# restore bootsplash mode |
|
|
$splash_was_silent and eval { output('/proc/splash', 'silent') }; |
|
|
|
|
|
|
|
381 |
$in->exit(0) if $in; |
$in->exit(0) if $in; |