diff options
Diffstat (limited to 'gnu/build/linux-boot.scm')
-rw-r--r-- | gnu/build/linux-boot.scm | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 997107a67a..18d87260a9 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -37,11 +37,11 @@ #:export (mount-essential-file-systems linux-command-line find-long-option + find-long-options make-essential-device-nodes make-static-device-nodes configure-qemu-networking - bind-mount device-number boot-system)) @@ -99,6 +99,16 @@ Return the value associated with OPTION, or #f on failure." (lambda (arg) (substring arg (+ 1 (string-index arg #\=))))))) +(define (find-long-options option arguments) + "Find OPTIONs among ARGUMENTS, where OPTION is something like \"console\". +Return the values associated with OPTIONs as a list, or the empty list if +OPTION doesn't appear in ARGUMENTS." + (let ((opt (string-append option "="))) + (filter-map (lambda (arg) + (and (string-prefix? opt arg) + (substring arg (+ 1 (string-index arg #\=))))) + arguments))) + (define* (make-disk-device-nodes base major #:optional (minor 0)) "Make the block device nodes around BASE (something like \"/root/dev/sda\") with the given MAJOR number, starting with MINOR." @@ -188,7 +198,7 @@ with the given MAJOR number, starting with MINOR." (lambda args (apply report-system-error name args)))) -;; Create a device node like the <device-node> passed here on the filesystem. +;; Create a device node like the <device-node> passed here on the file system. (define create-device-node (match-lambda (($ <device-node> xname type major minor module) |