me
/
guix
Archived
1
0
Fork 0

vm: Make the device node procedure a parameter.

* gnu/build/vm.scm (root-partition-initializer): Add #:make-device-nodes
parameter and use it.
* gnu/system/vm.scm (qemu-image): Add #:device-node parameter.  Pass
 #:make-device-nodes to 'root-partition-initializer'.
master
Ludovic Courtès 2020-04-07 10:21:48 +02:00
parent ac61e876a4
commit cd45d656f1
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
2 changed files with 15 additions and 1 deletions

View File

@ -371,6 +371,8 @@ it, run its initializer, and unmount it."
(register-closures? #t)
system-directory
(deduplicate? #t)
(make-device-nodes
make-essential-device-nodes)
(extra-directives '()))
"Return a procedure to initialize a root partition.
@ -392,7 +394,7 @@ system that is passed to 'populate-root-file-system'."
target))
;; Populate /dev.
(make-essential-device-nodes target)
(make-device-nodes target)
;; Optionally, register the inputs in the image's store.
(when register-closures?

View File

@ -369,6 +369,7 @@ INPUTS is a list of inputs (as for packages)."
(disk-image-format "qcow2")
(file-system-type "ext4")
(file-system-options '())
(device-nodes 'linux)
(extra-directives '())
file-system-label
file-system-uuid
@ -397,6 +398,9 @@ the image. By default, REGISTER-CLOSURES? is set to true only if a service of
type GUIX-SERVICE-TYPE is present in the services definition of the operating
system.
When DEVICE-NODES is 'linux, create Linux-device block and character devices
under /dev. When it is 'hurd, do Hurdish things.
EXTRA-DIRECTIVES is an optional list of directives to populate the root file
system that is passed to 'populate-root-file-system'."
(define schema
@ -416,6 +420,9 @@ system that is passed to 'populate-root-file-system'."
#~(begin
(use-modules (gnu build bootloader)
(gnu build vm)
((gnu build linux-boot)
#:select (make-essential-device-nodes
make-hurd-device-nodes))
(guix store database)
(guix build utils)
(srfi srfi-26)
@ -453,6 +460,11 @@ system that is passed to 'populate-root-file-system'."
#:register-closures? #$register-closures?
#:system-directory #$os
#:make-device-nodes
#$(match device-nodes
('linux #~make-essential-device-nodes)
('hurd #~make-hurd-device-nodes))
;; Disable deduplication to speed things up,
;; and because it doesn't help much for a
;; single system generation.