guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch version-1.4.0 updated: install: Make sure uvesafb can be loaded.


From: guix-commits
Subject: branch version-1.4.0 updated: install: Make sure uvesafb can be loaded.
Date: Thu, 15 Dec 2022 18:35:19 -0500

This is an automated email from the git hooks/post-receive script.

civodul pushed a commit to branch version-1.4.0
in repository guix.

The following commit(s) were added to refs/heads/version-1.4.0 by this push:
     new b1aef25453 install: Make sure uvesafb can be loaded.
b1aef25453 is described below

commit b1aef25453067004279c4267cf25e8d6d365890d
Author: Ludovic Court├Ęs <ludo@gnu.org>
AuthorDate: Thu Dec 15 23:54:10 2022 +0100

    install: Make sure uvesafb can be loaded.
    
    Fixes <https://issues.guix.gnu.org/60010>.
    Reported by pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de>.
    
    Previously, the 'modprobe' executable would try and fail to load the
    module from /lib/modules/*.  Set 'LINUX_MODULE_DIRECTORY' to make sure
    'modprobe' looks for the module in the right place.
    
    * gnu/system/install.scm (uvesafb-shepherd-service)[modprobe]: New
    variable.
    In 'start' method, invoke it instead of KMOD/bin/modprobe.
---
 gnu/system/install.scm | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index f6f1923121..3dd9e0e87b 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -284,13 +284,24 @@ templates under @file{/etc/configuration}.")))
 ;; appropriate options.  The GUI installer needs it when the machine does not
 ;; support Kernel Mode Setting.  Otherwise kmscon is missing /dev/fb0.
 (define (uvesafb-shepherd-service _)
+  (define modprobe
+    (program-file "modprobe-wrapper"
+                  #~(begin
+                      ;; Use a wrapper because shepherd 0.9.3 won't let us
+                      ;; pass environment variables to the child process:
+                      ;; <https://issues.guix.gnu.org/60106>.
+                      (setenv "LINUX_MODULE_DIRECTORY"
+                              "/run/booted-system/kernel/lib/modules")
+                      (apply execl #$(file-append kmod "/bin/modprobe")
+                             "modprobe" (cdr (command-line))))))
+
   (list (shepherd-service
          (documentation "Load the uvesafb kernel module if needed.")
          (provision '(maybe-uvesafb))
          (requirement '(file-systems))
          (start #~(lambda ()
                     (or (file-exists? "/dev/fb0")
-                        (invoke #+(file-append kmod "/bin/modprobe")
+                        (invoke #+modprobe
                                 "uvesafb"
                                 (string-append "v86d=" #$v86d "/sbin/v86d")
                                 "mode_option=1024x768"))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]