summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/service_harddrake
diff options
context:
space:
mode:
authorAnssi Hannula <anssi@mageia.org>2011-04-20 23:33:06 +0000
committerAnssi Hannula <anssi@mageia.org>2011-04-20 23:33:06 +0000
commit6bd71a7b5cf689106db7364c7bbb37796eabcdc1 (patch)
treec713f2bf89b6dc1cca3e9d60089731c84a71fac6 /perl-install/standalone/service_harddrake
parentdfa344d88dcb9510cc9a65e9ef02921557d00726 (diff)
downloaddrakx-backup-do-not-use-6bd71a7b5cf689106db7364c7bbb37796eabcdc1.tar
drakx-backup-do-not-use-6bd71a7b5cf689106db7364c7bbb37796eabcdc1.tar.gz
drakx-backup-do-not-use-6bd71a7b5cf689106db7364c7bbb37796eabcdc1.tar.bz2
drakx-backup-do-not-use-6bd71a7b5cf689106db7364c7bbb37796eabcdc1.tar.xz
drakx-backup-do-not-use-6bd71a7b5cf689106db7364c7bbb37796eabcdc1.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)
Diffstat (limited to 'perl-install/standalone/service_harddrake')
-rwxr-xr-xperl-install/standalone/service_harddrake10
1 files changed, 9 insertions, 1 deletions
diff --git a/perl-install/standalone/service_harddrake b/perl-install/standalone/service_harddrake
index 48758fc17..316088431 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");