guix-commits
[Top][All Lists]
Advanced

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

05/10: linux-modules: Add 'load-linux-modules-from-directory'.


From: guix-commits
Subject: 05/10: linux-modules: Add 'load-linux-modules-from-directory'.
Date: Fri, 16 Aug 2019 17:00:40 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit e1a9a7f2755dc23e1f4635c8aee45e1467c01619
Author: Ludovic Courtès <address@hidden>
Date:   Fri Mar 9 10:41:46 2018 +0100

    linux-modules: Add 'load-linux-modules-from-directory'.
    
    * gnu/build/linux-modules.scm (load-linux-modules-from-directory): New
    procedure.
    * gnu/build/linux-boot.scm (boot-system)[lookup-module]: Remove.
    Use 'load-linux-modules-from-directory' instead.
---
 gnu/build/linux-boot.scm    |  9 ++-------
 gnu/build/linux-modules.scm | 12 ++++++++++++
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 03f2ea2..f273957 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -471,10 +471,6 @@ upon error."
              mounts)
         "ext4"))
 
-  (define (lookup-module name)
-    (string-append linux-module-directory "/"
-                   (ensure-dot-ko name)))
-
   (display "Welcome, this is GNU's early boot Guile.\n")
   (display "Use '--repl' for an initrd REPL.\n\n")
 
@@ -489,9 +485,8 @@ upon error."
          (start-repl))
 
        (display "loading kernel modules...\n")
-       (for-each (cut load-linux-module* <>
-                      #:lookup-module lookup-module)
-                 (map lookup-module linux-modules))
+       (load-linux-modules-from-directory linux-modules
+                                          linux-module-directory)
 
        (when keymap-file
          (let ((status (system* "loadkeys" keymap-file)))
diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm
index a73ccaf..2af7c33 100644
--- a/gnu/build/linux-modules.scm
+++ b/gnu/build/linux-modules.scm
@@ -43,6 +43,7 @@
             modules-loaded
             module-loaded?
             load-linux-module*
+            load-linux-modules-from-directory
 
             current-module-debugging-port
 
@@ -314,6 +315,17 @@ appears in BLACK-LIST are not loaded."
              (or (and recursive? (= EEXIST (system-error-errno args)))
                  (apply throw args)))))))
 
+(define (load-linux-modules-from-directory modules directory)
+  "Load MODULES and their dependencies from DIRECTORY, a directory containing
+the '.ko' files.  The '.ko' suffix is automatically added to MODULES if
+needed."
+  (define (lookup-module name)
+    (string-append directory "/" (ensure-dot-ko name)))
+
+  (for-each (cut load-linux-module* <>
+                 #:lookup-module lookup-module)
+            (map lookup-module modules)))
+
 
 ;;;
 ;;; Device modules.



reply via email to

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