GNU bug report logs - #59003
[PATCH 0/7] [Installer] Warn about unsupported devices

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Thu, 3 Nov 2022 19:19:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #65 received at 59003 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 59003 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [PATCH v2 1/6] installer: Warn about hardware support after the
 welcome page.
Date: Wed,  9 Nov 2022 22:56:32 +0100
This is a followup to 682639c107908426fe6bf0a1b8404b98b7820290, which
added the uvesafb upfront, before welcome page had been displayed.

* gnu/installer/newt/welcome.scm (check-hardware-support): New
procedure.
(run-welcome-page): Use it.
---
 gnu/installer/newt/welcome.scm | 85 ++++++++++++++++++----------------
 1 file changed, 44 insertions(+), 41 deletions(-)

diff --git a/gnu/installer/newt/welcome.scm b/gnu/installer/newt/welcome.scm
index 326996b005..1c7372b3be 100644
--- a/gnu/installer/newt/welcome.scm
+++ b/gnu/installer/newt/welcome.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe <at> gmail.com>
-;;; Copyright © 2020 Ludovic Courtès <ludo <at> gnu.org>
+;;; Copyright © 2020, 2022 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2022 Florian Pelz <pelzflorian <at> pelzflorian.de>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -121,55 +121,58 @@ (define (choice->item str)
         (lambda ()
           (destroy-form-and-pop form))))))
 
-(define (run-welcome-page logo)
-  "Run a welcome page with the given textual LOGO displayed at the center of
-the page. Ask the user to choose between manual installation, graphical
-installation and reboot."
-  (begin
-    (when (member "uvesafb" (modules-loaded))
-      (run-error-page (G_ "\
+(define (check-hardware-support)
+  "Warn about unsupported devices."
+  (when (member "uvesafb" (modules-loaded))
+    (run-error-page (G_ "\
 This may be a false alarm, but possibly your graphics hardware does not
 work well with only free software.  Expect trouble.  If after installation,
 the system does not boot, perhaps you will need to add nomodeset to the
 kernel arguments and need to configure the uvesafb kernel module.")
-                      (G_ "Pre-install warning")))
-    (when (file-exists? %core-dump)
-      (match
-          (choice-window
-           (G_ "Previous installation failed")
-           (G_ "Continue")
-           (G_ "Report the failure")
-           (G_ "It seems that the previous installation exited unexpectedly \
+                    (G_ "Pre-install warning"))))
+
+(define (run-welcome-page logo)
+  "Run a welcome page with the given textual LOGO displayed at the center of
+the page. Ask the user to choose between manual installation, graphical
+installation and reboot."
+  (when (file-exists? %core-dump)
+    (match (choice-window
+            (G_ "Previous installation failed")
+            (G_ "Continue")
+            (G_ "Report the failure")
+            (G_ "It seems that the previous installation exited unexpectedly \
 and generated a core dump.  Do you want to continue or to report the failure \
 first?"))
-        (1 #t)
-        (2 (raise
-            (condition
-             (&user-abort-error))))))
-    (run-menu-page
-     (G_ "GNU Guix install")
-     (G_ "Welcome to GNU Guix system installer!
+      (1 #t)
+      (2 (raise
+          (condition
+           (&user-abort-error))))))
+
+  (run-menu-page
+   (G_ "GNU Guix install")
+   (G_ "Welcome to GNU Guix system installer!
 
 You will be guided through a graphical installation program.
 
 If you are familiar with GNU/Linux and you want tight control over \
 the installation process, you can instead choose manual installation.  \
 Documentation is accessible at any time by pressing Ctrl-Alt-F2.")
-     logo
-     #:listbox-items
-     `((,(G_ "Graphical install using a terminal based interface")
-        .
-        ,(const #t))
-       (,(G_ "Install using the shell based process")
-        .
-        ,(lambda ()
-           ;; Switch to TTY3, where a root shell is available for shell based
-           ;; install. The other root TTY's would have been ok too.
-           (system* "chvt" "3")
-           (run-welcome-page logo)))
-       (,(G_ "Reboot")
-        .
-        ,(lambda ()
-           (newt-finish)
-           (reboot))))
-     #:listbox-item->text car)))
+   logo
+   #:listbox-items
+   `((,(G_ "Graphical install using a terminal based interface")
+      .
+      ,check-hardware-support)
+     (,(G_ "Install using the shell based process")
+      .
+      ,(lambda ()
+         (check-hardware-support)
+         ;; Switch to TTY3, where a root shell is available for shell based
+         ;; install. The other root TTY's would have been ok too.
+         (system* "chvt" "3")
+         (run-welcome-page logo)))
+     (,(G_ "Reboot")
+      .
+      ,(lambda ()
+         (newt-finish)
+         (reboot))))
+   #:listbox-item->text car))
-- 
2.38.0





This bug report was last modified 2 years and 182 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.