summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnssi Hannula <anssi@mandriva.org>2011-04-20 23:36:11 +0000
committerAnssi Hannula <anssi@mandriva.org>2011-04-20 23:36:11 +0000
commitc7e1d7eaee207e6e47cbadb0af28e43e7e314fa8 (patch)
tree72e80e0b128a3a4a19c90264f636cc58f0b273a6
parentb85eb8487010483d9783946ec6fd596c981dda1c (diff)
downloaddrakx-c7e1d7eaee207e6e47cbadb0af28e43e7e314fa8.tar
drakx-c7e1d7eaee207e6e47cbadb0af28e43e7e314fa8.tar.gz
drakx-c7e1d7eaee207e6e47cbadb0af28e43e7e314fa8.tar.bz2
drakx-c7e1d7eaee207e6e47cbadb0af28e43e7e314fa8.tar.xz
drakx-c7e1d7eaee207e6e47cbadb0af28e43e7e314fa8.zip
service_harddrake: show a dialog about having to use nokmsboot if we couldn't
automatically reconfigure the boot loader (e.g. when booted directly from a foreign bootloader) (Mageia bug #893)
-rw-r--r--perl-install/NEWS3
-rwxr-xr-xperl-install/standalone/service_harddrake10
2 files changed, 12 insertions, 1 deletions
diff --git a/perl-install/NEWS b/perl-install/NEWS
index cbeaceb95..2e95cb477 100644
--- a/perl-install/NEWS
+++ b/perl-install/NEWS
@@ -3,6 +3,9 @@
a hardware change instead of an ldetect-lst change
o show yes/no buttons instead of ok/cancel when asking about running a
config tool
+ o show a dialog about having to use nokmsboot if we couldn't automatically
+ reconfigure the boot loader (e.g. when booted directly from a foreign
+ bootloader) (Mageia bug #893)
Version 13.45 - 17 April 2011
diff --git a/perl-install/standalone/service_harddrake b/perl-install/standalone/service_harddrake
index 51635aecb..f820c9fae 100755
--- a/perl-install/standalone/service_harddrake
+++ b/perl-install/standalone/service_harddrake
@@ -422,7 +422,15 @@ if (!$reboot_needed && text2bool($cfg{HANDLE_KMS_BOOT_CONFIG})) {
if (-x "/sbin/display_driver_helper" && system("display_driver_helper", "--check-loaded") != 0) {
# incorrect driver is loaded, X.org can't start (e.g. proprietary driver loaded while free driver in use,
# or free driver loaded while vesa is configured).
- $reboot_needed |= Xconfig::various::setup_kms();
+ my $kms_changed = Xconfig::various::setup_kms();
+ $reboot_needed |= $kms_changed;
+ if (!$reboot_needed && cat_("/proc/cmdline") !~ /\bnokmsboot\b/) {
+ # Wrong driver loaded but fixing the bootloader configuration failed.
+ # Possibly a direct boot from another bootloader.
+ dialog_with_timeout("warn", N("Display driver issue"),
+ N("The display driver currently configured requires you to use the 'nokmsboot' boot option to prevent the KMS driver of the kernel from being loaded in the boot process. Startup of the X server may now fail as that option was not specified."),
+ 60, $plymouth);
+ }
} elsif (-e "/dev/.late_kms") {
# initrd didn't load the KMS driver; non-fatal but ugly, fix it for next boot
unlink("/dev/.late_kms");