diff options
author | Andy Wingo <wingo@pobox.com> | 2015-04-05 22:47:16 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-04-05 23:15:20 +0200 |
commit | 0d275f4aa3d1457658fa754e6a0c07fbcc4b88af (patch) | |
tree | ee46ca7170a2b8a30bbde43d0cf0b0c321b0ee13 | |
parent | 59446b208c9b3a9f1901cd6ba518768220903dc9 (diff) |
system: Take kernel modules from the user-specified kernel.
* gnu/system/linux-initrd.scm (base-initrd): Add #:linux option to
specify the linux kernel to use.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Propagate
#:linux to base-initrd.
* gnu/system.scm (operating-system-initrd-file): Pass #:linux to
'make-initrd'.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/system.scm | 1 | ||||
-rw-r--r-- | gnu/system/linux-initrd.scm | 13 | ||||
-rw-r--r-- | gnu/system/vm.scm | 1 |
3 files changed, 9 insertions, 6 deletions
diff --git a/gnu/system.scm b/gnu/system.scm index 0d510b623b..ece61adb2b 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -737,6 +737,7 @@ we're running in the final root." (operating-system-initrd os)) (mlet %store-monad ((initrd (make-initrd boot-file-systems + #:linux (operating-system-kernel os) #:mapped-devices mapped-devices))) (return #~(string-append #$initrd "/initrd")))) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 9feb8f73e6..0e5334cf79 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -143,16 +143,17 @@ initrd code." (define* (base-initrd file-systems #:key + (linux linux-libre) (mapped-devices '()) qemu-networking? virtio? volatile-root? (extra-modules '())) - "Return a monadic derivation that builds a generic initrd. FILE-SYSTEMS is -a list of file-systems to be mounted by the initrd, possibly in addition to -the root file system specified on the kernel command line via '--root'. -MAPPED-DEVICES is a list of device mappings to realize before FILE-SYSTEMS are -mounted. + "Return a monadic derivation that builds a generic initrd, with kernel +modules taken from LINUX. FILE-SYSTEMS is a list of file-systems to be +mounted by the initrd, possibly in addition to the root file system specified +on the kernel command line via '--root'. MAPPED-DEVICES is a list of device +mappings to realize before FILE-SYSTEMS are mounted. When QEMU-NETWORKING? is true, set up networking with the standard QEMU parameters. When VIRTIO? is true, load additional modules so the initrd can @@ -224,7 +225,7 @@ loaded at boot time in the order in which they appear." (open source target))) mapped-devices)) - (mlet %store-monad ((kodir (flat-linux-module-directory linux-libre + (mlet %store-monad ((kodir (flat-linux-module-directory linux linux-modules))) (expression->initrd #~(begin diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index c93e26d65f..e194ed6cf1 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -149,6 +149,7 @@ made available under the /xchg CIFS share." (initrd (if initrd ; use the default initrd? (return initrd) (base-initrd %linux-vm-file-systems + #:linux linux #:virtio? #t #:qemu-networking? #t)))) |