mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
linux-initrd: Factorize 'check-device-initrd-modules'.
* gnu/system/mapped-devices.scm (check-device-initrd-modules): Move to... * gnu/system/linux-initrd.scm (check-device-initrd-modules): ... here. New procedure. * po/guix/POTFILES.in: Add it. * guix/scripts/system.scm (check-initrd-modules)[check-device]: Remove. Use 'check-device-initrd-modules' instead.
This commit is contained in:
parent
6c4458172d
commit
ca23693d28
4 changed files with 31 additions and 36 deletions
|
@ -24,6 +24,7 @@
|
|||
#:use-module (guix store)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module ((guix store)
|
||||
#:select (%store-prefix))
|
||||
#:use-module ((guix derivations)
|
||||
|
@ -37,16 +38,22 @@
|
|||
#:select (%guile-static-stripped))
|
||||
#:use-module (gnu system file-systems)
|
||||
#:use-module (gnu system mapped-devices)
|
||||
#:autoload (gnu build linux-modules)
|
||||
(device-module-aliases matching-modules)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 regex)
|
||||
#:use-module (ice-9 vlist)
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:export (expression->initrd
|
||||
%base-initrd-modules
|
||||
raw-initrd
|
||||
file-system-packages
|
||||
base-initrd))
|
||||
base-initrd
|
||||
check-device-initrd-modules))
|
||||
|
||||
|
||||
;;; Commentary:
|
||||
|
@ -343,4 +350,19 @@ loaded at boot time in the order in which they appear."
|
|||
#:volatile-root? volatile-root?
|
||||
#:on-error on-error))
|
||||
|
||||
(define (check-device-initrd-modules device linux-modules location)
|
||||
"Raise an error if DEVICE needs modules beyond LINUX-MODULES to operate.
|
||||
DEVICE must be a \"/dev\" file name."
|
||||
(let ((modules (delete-duplicates
|
||||
(append-map matching-modules
|
||||
(device-module-aliases device)))))
|
||||
(unless (every (cute member <> linux-modules) modules)
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "you may need these modules \
|
||||
in the initrd for ~a:~{ ~a~}")
|
||||
device modules)))
|
||||
(&error-location
|
||||
(location (source-properties->location location))))))))
|
||||
|
||||
;;; linux-initrd.scm ends here
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue