From 7e986863e67a8efa2d6ede9d6ed8360a06ba2001 Mon Sep 17 00:00:00 2001 From: Anssi Hannula Date: Wed, 20 Apr 2011 23:33:06 +0000 Subject: 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) --- perl-install/NEWS | 3 +++ perl-install/standalone/service_harddrake | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'perl-install') diff --git a/perl-install/NEWS b/perl-install/NEWS index 29efcc48f..332d7978b 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.48 - 17 April 2011 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"); -- cgit v1.2.1