mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 13:28:12 -05:00
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>
This commit is contained in:
parent
59446b208c
commit
0d275f4aa3
3 changed files with 9 additions and 6 deletions
|
@ -737,6 +737,7 @@ (define make-initrd
|
||||||
(operating-system-initrd os))
|
(operating-system-initrd os))
|
||||||
|
|
||||||
(mlet %store-monad ((initrd (make-initrd boot-file-systems
|
(mlet %store-monad ((initrd (make-initrd boot-file-systems
|
||||||
|
#:linux (operating-system-kernel os)
|
||||||
#:mapped-devices mapped-devices)))
|
#:mapped-devices mapped-devices)))
|
||||||
(return #~(string-append #$initrd "/initrd"))))
|
(return #~(string-append #$initrd "/initrd"))))
|
||||||
|
|
||||||
|
|
|
@ -143,16 +143,17 @@ (define (file-system->spec fs)
|
||||||
|
|
||||||
(define* (base-initrd file-systems
|
(define* (base-initrd file-systems
|
||||||
#:key
|
#:key
|
||||||
|
(linux linux-libre)
|
||||||
(mapped-devices '())
|
(mapped-devices '())
|
||||||
qemu-networking?
|
qemu-networking?
|
||||||
virtio?
|
virtio?
|
||||||
volatile-root?
|
volatile-root?
|
||||||
(extra-modules '()))
|
(extra-modules '()))
|
||||||
"Return a monadic derivation that builds a generic initrd. FILE-SYSTEMS is
|
"Return a monadic derivation that builds a generic initrd, with kernel
|
||||||
a list of file-systems to be mounted by the initrd, possibly in addition to
|
modules taken from LINUX. FILE-SYSTEMS is a list of file-systems to be
|
||||||
the root file system specified on the kernel command line via '--root'.
|
mounted by the initrd, possibly in addition to the root file system specified
|
||||||
MAPPED-DEVICES is a list of device mappings to realize before FILE-SYSTEMS are
|
on the kernel command line via '--root'. MAPPED-DEVICES is a list of device
|
||||||
mounted.
|
mappings to realize before FILE-SYSTEMS are mounted.
|
||||||
|
|
||||||
When QEMU-NETWORKING? is true, set up networking with the standard QEMU
|
When QEMU-NETWORKING? is true, set up networking with the standard QEMU
|
||||||
parameters. When VIRTIO? is true, load additional modules so the initrd can
|
parameters. When VIRTIO? is true, load additional modules so the initrd can
|
||||||
|
@ -224,7 +225,7 @@ (define device-mapping-commands
|
||||||
(open source target)))
|
(open source target)))
|
||||||
mapped-devices))
|
mapped-devices))
|
||||||
|
|
||||||
(mlet %store-monad ((kodir (flat-linux-module-directory linux-libre
|
(mlet %store-monad ((kodir (flat-linux-module-directory linux
|
||||||
linux-modules)))
|
linux-modules)))
|
||||||
(expression->initrd
|
(expression->initrd
|
||||||
#~(begin
|
#~(begin
|
||||||
|
|
|
@ -149,6 +149,7 @@ (define* (expression->derivation-in-linux-vm name exp
|
||||||
(initrd (if initrd ; use the default initrd?
|
(initrd (if initrd ; use the default initrd?
|
||||||
(return initrd)
|
(return initrd)
|
||||||
(base-initrd %linux-vm-file-systems
|
(base-initrd %linux-vm-file-systems
|
||||||
|
#:linux linux
|
||||||
#:virtio? #t
|
#:virtio? #t
|
||||||
#:qemu-networking? #t))))
|
#:qemu-networking? #t))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue