linux-base.postinst: Display an (additional) note if the boot loader configuration is not recognised
svn path=/dists/sid/linux-2.6/; revision=15424
This commit is contained in:
parent
df8d209bf1
commit
43f2dc45ac
|
@ -818,32 +818,38 @@ my @config_files = ({packages => 'mount',
|
||||||
path => '/boot/grub/menu.lst',
|
path => '/boot/grub/menu.lst',
|
||||||
list => \&grub1_list,
|
list => \&grub1_list,
|
||||||
update => \&grub1_update,
|
update => \&grub1_update,
|
||||||
post_update => \&grub1_post},
|
post_update => \&grub1_post,
|
||||||
|
is_boot_loader => 1},
|
||||||
{packages => 'grub-common',
|
{packages => 'grub-common',
|
||||||
path => '/etc/default/grub',
|
path => '/etc/default/grub',
|
||||||
list => \&grub2_list,
|
list => \&grub2_list,
|
||||||
update => \&grub2_update,
|
update => \&grub2_update,
|
||||||
post_update => \&grub2_post},
|
post_update => \&grub2_post,
|
||||||
|
is_boot_loader => 1},
|
||||||
{packages => 'lilo',
|
{packages => 'lilo',
|
||||||
path => '/etc/lilo.conf',
|
path => '/etc/lilo.conf',
|
||||||
list => \&lilo_list,
|
list => \&lilo_list,
|
||||||
update => \&lilo_update,
|
update => \&lilo_update,
|
||||||
post_update => \&lilo_post},
|
post_update => \&lilo_post,
|
||||||
|
is_boot_loader => 1},
|
||||||
{packages => 'elilo',
|
{packages => 'elilo',
|
||||||
path => '/etc/elilo.conf',
|
path => '/etc/elilo.conf',
|
||||||
list => \&lilo_list,
|
list => \&lilo_list,
|
||||||
update => \&lilo_update,
|
update => \&lilo_update,
|
||||||
post_update => \&elilo_post},
|
post_update => \&elilo_post,
|
||||||
|
is_boot_loader => 1},
|
||||||
{packages => 'extlinux',
|
{packages => 'extlinux',
|
||||||
path => extlinux_old_path(),
|
path => extlinux_old_path(),
|
||||||
list => \&extlinux_old_list,
|
list => \&extlinux_old_list,
|
||||||
update => \&extlinux_old_update,
|
update => \&extlinux_old_update,
|
||||||
post_update => \&extlinux_post},
|
post_update => \&extlinux_post,
|
||||||
|
is_boot_loader => 1},
|
||||||
{packages => 'extlinux',
|
{packages => 'extlinux',
|
||||||
path => '/etc/default/extlinux',
|
path => '/etc/default/extlinux',
|
||||||
list => \&extlinux_new_list,
|
list => \&extlinux_new_list,
|
||||||
update => \&extlinux_new_update,
|
update => \&extlinux_new_update,
|
||||||
post_update => \&extlinux_post},
|
post_update => \&extlinux_post,
|
||||||
|
is_boot_loader => 1},
|
||||||
{packages => 'udev',
|
{packages => 'udev',
|
||||||
path => '/etc/udev/rules.d/70-persistent-cd.rules',
|
path => '/etc/udev/rules.d/70-persistent-cd.rules',
|
||||||
needs_update => \&udev_cd_needs_update,
|
needs_update => \&udev_cd_needs_update,
|
||||||
|
@ -1238,8 +1244,13 @@ sub transition {
|
||||||
my @found_configs = scan_config_files();
|
my @found_configs = scan_config_files();
|
||||||
my @matched_configs =
|
my @matched_configs =
|
||||||
grep({@{$_->{devices}} || $_->{id_map_text}} @found_configs);
|
grep({@{$_->{devices}} || $_->{id_map_text}} @found_configs);
|
||||||
|
my $found_boot_loader =
|
||||||
|
grep({$_->{config}->{is_boot_loader} && $_->{installed}} @found_configs);
|
||||||
|
|
||||||
if ($#matched_configs < 0) {
|
# We can skip all of this if we didn't find any configuration
|
||||||
|
# files that need conversion and we found the configuration file
|
||||||
|
# for an installed boot loader.
|
||||||
|
if (!@matched_configs && $found_boot_loader) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1257,7 +1268,7 @@ sub transition {
|
||||||
($ret, $answer) = get($question);
|
($ret, $answer) = get($question);
|
||||||
die "Error retrieving answer for $question: $answer" if $ret;
|
die "Error retrieving answer for $question: $answer" if $ret;
|
||||||
|
|
||||||
if ($answer eq 'true') {
|
if (@matched_configs && $answer eq 'true') {
|
||||||
scan_devices();
|
scan_devices();
|
||||||
assign_new_ids();
|
assign_new_ids();
|
||||||
|
|
||||||
|
@ -1326,6 +1337,20 @@ sub transition {
|
||||||
die "Error showing debconf note $question: $seen";
|
die "Error showing debconf note $question: $seen";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Also note whether some (unknown) boot loader configuration file
|
||||||
|
# must be manually converted.
|
||||||
|
if (!$found_boot_loader) {
|
||||||
|
$question = 'linux-base/disk-id-manual-boot-loader';
|
||||||
|
($ret, $seen) = input('high', $question);
|
||||||
|
if ($ret && $ret != 30) {
|
||||||
|
die "Error setting debconf note $question: $seen";
|
||||||
|
}
|
||||||
|
($ret, $seen) = go();
|
||||||
|
if ($ret && $ret != 30) {
|
||||||
|
die "Error showing debconf note $question: $seen";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
package main;
|
package main;
|
||||||
|
|
|
@ -46,3 +46,14 @@ Description: Please check these configuration files before rebooting
|
||||||
change when using the new kernel:
|
change when using the new kernel:
|
||||||
.
|
.
|
||||||
${unconverted}
|
${unconverted}
|
||||||
|
|
||||||
|
Template: linux-base/disk-id-manual-boot-loader
|
||||||
|
Type: note
|
||||||
|
Description: Check the boot loader configuration before rebooting
|
||||||
|
The boot loader configuration for this system was not recognised. These
|
||||||
|
settings in the configuration may need to be updated:
|
||||||
|
.
|
||||||
|
* The root device id passed as a kernel parameter
|
||||||
|
* The boot device id used to install and update the boot loader
|
||||||
|
.
|
||||||
|
We recommend that you identify these devices by UUID or label.
|
||||||
|
|
Loading…
Reference in New Issue