summary refs log tree commit diff
path: root/gnu/build
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-09-08 23:46:48 +0200
committerLudovic Courtès <ludo@gnu.org>2014-09-08 23:47:29 +0200
commit42d10464bedb43a9211d8bc187e668fe33272368 (patch)
tree5920fcb26601739f079e565ba46f7cf732090eed /gnu/build
parentdf650fa84e15bfd65245adcd454c0433ad8c6121 (diff)
downloadguix-42d10464bedb43a9211d8bc187e668fe33272368.tar.gz
linux-initrd: Store Linux modules in a normal store directory.
* gnu/system/linux-initrd.scm (expression->initrd): Remove #:linux and
  #:linux-modules parameters.  Remove call to
  'float-linux-module-directory'.
  (base-initrd): Add call to 'float-linux-module-directory'.  Use it in
  #:linux-modules argument in the gexp.  Remove #:linux and
  #:linux-modules arguments to 'expression->initrd'.
* gnu/build/linux-initrd.scm (build-initrd): Remove
  #:linux-module-directory parameter.  Don't create 'modules'
  sub-directory.
* gnu/build/linux-boot.scm (boot-system): Mentin that LINUX-MODULES is a
  list of absolute file names.  Don't prepend "/modules/" to
  LINUX-MODULES.
* doc/guix.texi (Initial RAM Disk): Adjust accordingly.
Diffstat (limited to 'gnu/build')
-rw-r--r--gnu/build/linux-boot.scm13
-rw-r--r--gnu/build/linux-initrd.scm7
2 files changed, 7 insertions, 13 deletions
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 1312da6bbd..fbc683c798 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -343,10 +343,11 @@ bailing out.~%root contents: ~s~%" (scandir "/"))
                       volatile-root?
                       (mounts '()))
   "This procedure is meant to be called from an initrd.  Boot a system by
-first loading LINUX-MODULES, then setting up QEMU guest networking if
-QEMU-GUEST-NETWORKING? is true, mounting the file systems specified in MOUNTS,
-and finally booting into the new root if any.  The initrd supports kernel
-command-line options '--load', '--root', and '--repl'.
+first loading LINUX-MODULES (a list of absolute file names of '.ko' files),
+then setting up QEMU guest networking if QEMU-GUEST-NETWORKING? is true,
+mounting the file systems specified in MOUNTS, and finally booting into the
+new root if any.  The initrd supports kernel command-line options '--load',
+'--root', and '--repl'.
 
 Mount the root file system, specified by the '--root' command-line argument,
 if any.
@@ -384,9 +385,7 @@ to it are lost."
          (start-repl))
 
        (display "loading kernel modules...\n")
-       (for-each (compose load-linux-module*
-                          (cut string-append "/modules/" <>))
-                 linux-modules)
+       (for-each load-linux-module* linux-modules)
 
        (when qemu-guest-networking?
          (unless (configure-qemu-networking)
diff --git a/gnu/build/linux-initrd.scm b/gnu/build/linux-initrd.scm
index 2c0acb200e..54639bd319 100644
--- a/gnu/build/linux-initrd.scm
+++ b/gnu/build/linux-initrd.scm
@@ -104,23 +104,18 @@ This is similar to what 'compiled-file-name' in (system base compile) does."
 (define* (build-initrd output
                        #:key
                        guile init
-                       linux-module-directory
                        (references-graphs '())
                        (cpio "cpio")
                        (gzip "gzip"))
   "Write an initial RAM disk (initrd) to OUTPUT.  The initrd starts the script
 at INIT, running GUILE.  It contains all the items referred to by
-REFERENCES-GRAPHS, plus the Linux modules from LINUX-MODULE-DIRECTORY."
+REFERENCES-GRAPHS."
   (mkdir "contents")
 
   ;; Copy the closures of all the items referenced in REFERENCES-GRAPHS.
   (populate-store references-graphs "contents")
 
   (with-directory-excursion "contents"
-    ;; Copy Linux modules.
-    (mkdir "modules")
-    (copy-recursively linux-module-directory "modules")
-
     ;; Make '/init'.
     (symlink init "init")