From df650fa84e15bfd65245adcd454c0433ad8c6121 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 8 Sep 2014 23:27:40 +0200 Subject: linux-initrd: Remove #:to-copy argument of 'expression->initrd'. * gnu/system/linux-initrd.scm (expression->initrd): Remove #:to-copy parameter. Remove 'graph-files', and adjust #:references-graphs arguments to just list INIT. (base-initrd): Remove #:to-copy argument. * doc/guix.texi (Initial RAM Disk): Adjust accordingly. --- doc/guix.texi | 10 +++++----- gnu/system/linux-initrd.scm | 19 +++++-------------- 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index e0251f5ffd..1e8a55e9a5 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3616,16 +3616,16 @@ program to run in that initrd. @deffn {Monadic Procedure} expression->initrd @var{exp} @ [#:guile %guile-static-stripped] [#:name "guile-initrd"] @ - [#:modules '()] [#:to-copy '()] [#:linux #f] @ + [#:modules '()] [#:linux #f] @ [#:linux-modules '()] Return a derivation that builds a Linux initrd (a gzipped cpio archive) containing @var{guile} and that evaluates @var{exp}, a G-expression, -upon booting. +upon booting. All the derivations referenced by @var{exp} are +automatically copied to the initrd. @var{linux-modules} is a list of @file{.ko} file names to be copied from -@var{linux} into the initrd. @var{to-copy} is a list of additional -derivations or packages to copy to the initrd. @var{modules} is a list -of Guile module names to be embedded in the initrd. +@var{linux} into the initrd. @var{modules} is a list of Guile module +names to be embedded in the initrd. @end deffn @node Invoking guix system diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index c2c8722ebb..03ac24d450 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -54,15 +54,14 @@ (name "guile-initrd") (system (%current-system)) (modules '()) - (to-copy '()) (linux #f) (linux-modules '())) "Return a derivation that builds a Linux initrd (a gzipped cpio archive) -containing GUILE and that evaluates EXP, a G-expression, upon booting. +containing GUILE and that evaluates EXP, a G-expression, upon booting. All +the derivations referenced by EXP are automatically copied to the initrd. LINUX-MODULES is a list of '.ko' file names to be copied from LINUX into the -initrd. TO-COPY is a list of additional derivations or packages to copy to -the initrd. MODULES is a list of Guile module names to be embedded in the +initrd. MODULES is a list of Guile module names to be embedded in the initrd." ;; General Linux overview in `Documentation/early-userspace/README' and @@ -71,15 +70,8 @@ initrd." (mlet* %store-monad ((init (gexp->script "init" exp #:modules modules #:guile guile)) - (to-copy -> (cons init to-copy)) (module-dir (flat-linux-module-directory linux linux-modules))) - (define graph-files - (unfold-right zero? - number->string - 1- - (length to-copy))) - (define builder #~(begin (use-modules (gnu build linux-initrd)) @@ -88,7 +80,7 @@ initrd." (build-initrd (string-append #$output "/initrd") #:guile #$guile #:init #$init - #:references-graphs '#$graph-files + #:references-graphs '("closure") #:linux-module-directory #$module-dir #:cpio (string-append #$cpio "/bin/cpio") #:gzip (string-append #$gzip "/bin/gzip")))) @@ -97,7 +89,7 @@ initrd." #:modules '((guix build utils) (guix build store-copy) (gnu build linux-initrd)) - #:references-graphs (zip graph-files to-copy)))) + #:references-graphs `(("closure" ,init))))) (define (flat-linux-module-directory linux modules) "Return a flat directory containing the Linux kernel modules listed in @@ -229,7 +221,6 @@ exception and backtrace!)." #:modules '((guix build utils) (gnu build linux-boot) (gnu build file-systems)) - #:to-copy helper-packages #:linux linux-libre #:linux-modules linux-modules)) -- cgit 1.4.1