mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
vm: 'qemu-image' accepts a list of extra populate directives.
* gnu/build/vm.scm (root-partition-initializer): Add #:extra-directives parameter and pass it to 'populate-root-file-system'. * gnu/system/vm.scm (qemu-image): Add #:extra-directives parameter and pass it to 'root-partition-initializer'.
This commit is contained in:
parent
87241947aa
commit
82782d8cec
2 changed files with 14 additions and 4 deletions
|
@ -363,14 +363,18 @@ (define* (root-partition-initializer #:key (closures '())
|
|||
copy-closures?
|
||||
(register-closures? #t)
|
||||
system-directory
|
||||
(deduplicate? #t))
|
||||
(deduplicate? #t)
|
||||
(extra-directives '()))
|
||||
"Return a procedure to initialize a root partition.
|
||||
|
||||
If REGISTER-CLOSURES? is true, register all of CLOSURES in the partition's
|
||||
store. If DEDUPLICATE? is true, then also deduplicate files common to
|
||||
CLOSURES and the rest of the store when registering the closures. If
|
||||
COPY-CLOSURES? is true, copy all of CLOSURES to the partition.
|
||||
SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
|
||||
SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation.
|
||||
|
||||
EXTRA-DIRECTIVES is an optional list of directives to populate the root file
|
||||
system that is passed to 'populate-root-file-system'."
|
||||
(lambda (target)
|
||||
(define target-store
|
||||
(string-append target (%store-directory)))
|
||||
|
@ -403,7 +407,8 @@ (define target-store
|
|||
|
||||
;; Add the non-store directories and files.
|
||||
(display "populating...\n")
|
||||
(populate-root-file-system system-directory target)
|
||||
(populate-root-file-system system-directory target
|
||||
#:extras extra-directives)
|
||||
|
||||
;; 'register-closure' resets timestamps and everything, so no need to do it
|
||||
;; once more in that case.
|
||||
|
|
|
@ -368,6 +368,7 @@ (define* (qemu-image #:key
|
|||
(disk-image-size 'guess)
|
||||
(disk-image-format "qcow2")
|
||||
(file-system-type "ext4")
|
||||
(extra-directives '())
|
||||
file-system-label
|
||||
file-system-uuid
|
||||
os
|
||||
|
@ -392,7 +393,10 @@ (define* (qemu-image #:key
|
|||
register INPUTS in the store database of the image so that Guix can be used in
|
||||
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."
|
||||
system.
|
||||
|
||||
EXTRA-DIRECTIVES is an optional list of directives to populate the root file
|
||||
system that is passed to 'populate-root-file-system'."
|
||||
(define schema
|
||||
(and register-closures?
|
||||
(local-file (search-path %load-path
|
||||
|
@ -441,6 +445,7 @@ (define schema
|
|||
(((names . _) ...)
|
||||
names)))
|
||||
(initialize (root-partition-initializer
|
||||
#:extra-directives '#$extra-directives
|
||||
#:closures graphs
|
||||
#:copy-closures? #$copy-inputs?
|
||||
#:register-closures? #$register-closures?
|
||||
|
|
Loading…
Reference in a new issue