From patchwork Sat Jun 24 02:07:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Lechner X-Patchwork-Id: 51243 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id CCD1727BBE9; Sat, 24 Jun 2023 03:08:26 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id CACDC27BBEA for ; Sat, 24 Jun 2023 03:08:24 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qCsh2-0004QI-AU; Fri, 23 Jun 2023 22:08:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qCsh0-0004Pf-M6 for guix-patches@gnu.org; Fri, 23 Jun 2023 22:08:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qCsh0-0006S6-CG for guix-patches@gnu.org; Fri, 23 Jun 2023 22:08:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qCsh0-0002mV-6O for guix-patches@gnu.org; Fri, 23 Jun 2023 22:08:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#64259] [PATCH 1/2] Offer an mdadm variant of uuids. Resent-From: Felix Lechner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 24 Jun 2023 02:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64259 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 64259@debbugs.gnu.org Cc: Felix Lechner Received: via spool by 64259-submit@debbugs.gnu.org id=B64259.168757245010641 (code B ref 64259); Sat, 24 Jun 2023 02:08:02 +0000 Received: (at 64259) by debbugs.gnu.org; 24 Jun 2023 02:07:30 +0000 Received: from localhost ([127.0.0.1]:39727 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qCsgT-0002lZ-I2 for submit@debbugs.gnu.org; Fri, 23 Jun 2023 22:07:29 -0400 Received: from sail-ipv4.us-core.com ([208.82.101.137]:40014) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qCsgQ-0002lK-OH for 64259@debbugs.gnu.org; Fri, 23 Jun 2023 22:07:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=2017; bh=uy5rDqWgjexWPdw FzoVajMo/6sMUCCcljDA7Yy0bwf8=; h=references:in-reply-to:date:subject: cc:to:from; d=lease-up.com; b=rHvNoO8XIRgIuFNe4k7edm4NhN2iuIh/Kpg47dUi Osxb+E4L46Rx7K2NnSzpI/CHmaENIQJWXfwGwrnDbBs6/eJTjIImmTtdBgJM4APef0+0Fj 71bs9sqfhDjz+UkRtRgVSjZIBCPm5tR00UIQER+f9dKteRlnUSHRkAWBy9sP8= Received: by sail-ipv4.us-core.com (OpenSMTPD) with ESMTPSA id ae1dea98 (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); Sat, 24 Jun 2023 02:07:25 +0000 (UTC) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id 48153a98; Sat, 24 Jun 2023 02:07:24 +0000 (UTC) Date: Fri, 23 Jun 2023 19:07:22 -0700 Message-Id: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Felix Lechner X-ACL-Warn: , Felix Lechner via Guix-patches X-Patchwork-Original-From: Felix Lechner via Guix-patches via From: Felix Lechner Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches The main executable to set up and manage Linux MD arrays, mdadm, uses a UUID format that is different from other standards. The variant is here provided for the benefit of Guix users. * gnu/system/uuid.scm: Offer an mdadm variant of uuids. --- gnu/system/uuid.scm | 46 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/gnu/system/uuid.scm b/gnu/system/uuid.scm index 8f967387ad..dc8bb3f7b7 100644 --- a/gnu/system/uuid.scm +++ b/gnu/system/uuid.scm @@ -82,8 +82,9 @@ (define-syntax %network-byte-order (identifier-syntax (endianness big))) (define (dce-uuid->string uuid) - "Convert UUID, a 16-byte bytevector, to its string representation, something -like \"6b700d61-5550-48a1-874c-a3d86998990e\"." + "Convert UUID, a 16-byte bytevector, to its DCE string representation (see +), which looks something like +\"6b700d61-5550-48a1-874c-a3d86998990e\"." ;; See . (let ((time-low (bytevector-uint-ref uuid 0 %network-byte-order 4)) (time-mid (bytevector-uint-ref uuid 4 %network-byte-order 2)) @@ -93,7 +94,7 @@ (define (dce-uuid->string uuid) (format #f "~8,'0x-~4,'0x-~4,'0x-~4,'0x-~12,'0x" time-low time-mid time-hi clock-seq node))) -(define %uuid-rx +(define %dce-uuid-rx ;; The regexp of a UUID. (make-regexp "^([[:xdigit:]]{8})-([[:xdigit:]]{4})-([[:xdigit:]]{4})-([[:xdigit:]]{4})-([[:xdigit:]]{12})$")) @@ -101,7 +102,7 @@ (define (string->dce-uuid str) "Parse STR as a DCE UUID (see ) and return its contents as a 16-byte bytevector. Return #f if STR is not a valid UUID representation." - (and=> (regexp-exec %uuid-rx str) + (and=> (regexp-exec %dce-uuid-rx str) (lambda (match) (letrec-syntax ((hex->number (syntax-rules () @@ -167,6 +168,41 @@ (define (digits->string bytes) (parts (list year month day hour minute second hundredths))) (string-append (string-join (map digits->string parts) "-")))) + +;;; +;;; Mdadm. +;;; + +(define (mdadm-uuid->string uuid) + "Convert UUID, a 16-byte bytevector, to its Mdadm string representation, +which looks something like \"6b700d61:555048a1:874ca3d8:6998990e\"." + ;; See . + (format #f "~8,'0x:~8,'0x:~8,'0x:~8,'0x" + (bytevector-uint-ref uuid 0 %network-byte-order 4) + (bytevector-uint-ref uuid 4 %network-byte-order 4) + (bytevector-uint-ref uuid 8 %network-byte-order 4) + (bytevector-uint-ref uuid 12 %network-byte-order 4))) + +(define %mdadm-uuid-rx + (make-regexp "^([[:xdigit:]]{8}):([[:xdigit:]]{8}):([[:xdigit:]]{8}):([[:xdigit:]]{8})$")) + +(define (string->mdadm-uuid str) + "Parse STR, which is in Mdadm format, and return a bytevector or #f." + (match (regexp-exec %mdadm-uuid-rx str) + (#f + #f) + (rx-match + (uint-list->bytevector (list (string->number + (match:substring rx-match 1) 16) + (string->number + (match:substring rx-match 2) 16) + (string->number + (match:substring rx-match 3) 16) + (string->number + (match:substring rx-match 4) 16)) + %network-byte-order + 4)))) + ;;; ;;; FAT32/FAT16. @@ -259,6 +295,7 @@ (define %uuid-parsers ('dce 'ext2 'ext3 'ext4 'bcachefs 'btrfs 'f2fs 'jfs 'xfs 'luks => string->dce-uuid) ('fat32 'fat16 'fat => string->fat-uuid) + ('mdadm => string->mdadm-uuid) ('ntfs => string->ntfs-uuid) ('iso9660 => string->iso9660-uuid))) @@ -268,6 +305,7 @@ (define %uuid-printers => dce-uuid->string) ('iso9660 => iso9660-uuid->string) ('fat32 'fat16 'fat => fat-uuid->string) + ('mdadm => mdadm-uuid->string) ('ntfs => ntfs-uuid->string))) (define* (string->uuid str #:optional (type 'dce)) From patchwork Sat Jun 24 02:07:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Lechner X-Patchwork-Id: 51244 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 49F1527BBE2; Sat, 24 Jun 2023 03:08:27 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id EDAE327BBE2 for ; Sat, 24 Jun 2023 03:08:23 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qCsh2-0004Rd-Qv; Fri, 23 Jun 2023 22:08:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qCsh1-0004Po-1z for guix-patches@gnu.org; Fri, 23 Jun 2023 22:08:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qCsh0-0006SH-Pt for guix-patches@gnu.org; Fri, 23 Jun 2023 22:08:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qCsh0-0002mc-L6 for guix-patches@gnu.org; Fri, 23 Jun 2023 22:08:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#64259] [PATCH 2/2] Provide md-array-device-mapping to start MD arrays via UUID or name. Resent-From: Felix Lechner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 24 Jun 2023 02:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64259 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 64259@debbugs.gnu.org Cc: Felix Lechner Received: via spool by 64259-submit@debbugs.gnu.org id=B64259.168757245210651 (code B ref 64259); Sat, 24 Jun 2023 02:08:02 +0000 Received: (at 64259) by debbugs.gnu.org; 24 Jun 2023 02:07:32 +0000 Received: from localhost ([127.0.0.1]:39729 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qCsgW-0002li-0x for submit@debbugs.gnu.org; Fri, 23 Jun 2023 22:07:32 -0400 Received: from sail-ipv4.us-core.com ([208.82.101.137]:40014) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qCsgS-0002lK-Bj for 64259@debbugs.gnu.org; Fri, 23 Jun 2023 22:07:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=2017; bh=KOtBn5jGD+v4lQ4 avqQTJ9M2SOqc2YekIJ9XsZtcNu8=; h=references:in-reply-to:date:subject: cc:to:from; d=lease-up.com; b=a5VtM+pfFaMuez8BzP8MFF7f2OykEdM4YJcHtrzw O+GObCENEJEBEEC1hXqqDctQl1gfTZl7KHRIKmu0QCWMsbx3R6cKT/9VL1KfkXMm1ROUbS 5LXMSuFqVZEmkmGjM3z5w38tPngeasxOonkL0dz3bFPqZROPNROE6WjYgb4fc= Received: by sail-ipv4.us-core.com (OpenSMTPD) with ESMTPSA id 42987ceb (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); Sat, 24 Jun 2023 02:07:26 +0000 (UTC) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id 8cc111eb; Sat, 24 Jun 2023 02:07:25 +0000 (UTC) Date: Fri, 23 Jun 2023 19:07:23 -0700 Message-Id: <4e7eab10caeacfb1f8a0736cdab7154c517b9e36.1687571974.git.felix.lechner@lease-up.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Felix Lechner X-ACL-Warn: , Felix Lechner via Guix-patches X-Patchwork-Original-From: Felix Lechner via Guix-patches via From: Felix Lechner Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches This commit cures the most precipitous danger for users of MD arrays in GNU Guix, namely that their equipment may not boot after a drive failure. That behavior likely contradicts their primary expectation for having such a disk arrangments. In order to facilitate a smooth transition from raid-device-mapping to md-array-device-mapping, this commit introduces a new mapping rather than repurpose the old one. The new mapping here is also incompatible with raid-device-mapping in the sense that a plain string is now interpreted as the array name from the MD superblock. For details, please consult the mdadm manual page. Personally, the author prefers UUIDs over array names when identifying array components, but either will work. The system test uses the name. The name for the new device mapping was chosen instead of the traditional RAID to account for the fact that some modern technologies (like SSDs) and some array configurations, such as striping, are neither redundant nor inexpensive. Adjusts the documentation by erasing any mention of the obsolete raid-device-mapping. No one should use that any longer. Ideally, users would be a deprecation warning, but I was unable to adapt 'define-deprecated' to this use case. Please feel free to make further changes. This commit includes an updated system test for the root file system on an-md-array. More details for the motivation of these changes may be available here: https://lists.gnu.org/archive/html/guix-devel/2023-04/msg00010.html The author of this commit used to maintain mdadm in Debian. Please feel free to insert better changelog messages. I had some difficulty meeting the likely expectations of any reviewer. Please also feel free to make any other adjustments as needed without checking with me. Thanks! * gnu/system/mapped-devices.scm: New variable md-array-device-mapping. * doc/guix.texi: Mention md-array-device-mapping in the documentation.. * gnu/tests/install.scm: Adjust test for root-on-md-array. --- doc/guix.texi | 28 ++++++++++++++------------ gnu/system/mapped-devices.scm | 38 ++++++++++++++++++++++++++++++++++- gnu/tests/install.scm | 32 ++++++++++++++--------------- 3 files changed, 68 insertions(+), 30 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index c961f706ec..91125479b1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17513,18 +17513,19 @@ the system boots up. @table @code @item source -This is either a string specifying the name of the block device to be mapped, -such as @code{"/dev/sda3"}, or a list of such strings when several devices -need to be assembled for creating a new one. In case of LVM this is a -string specifying name of the volume group to be mapped. +This is either a string specifying the name of the block device to be +mapped, such as @code{"/dev/sda3"}. For MD array devices it is either +the UUID of the array or a string that is interpreted as the array name +(see Mdadm documentation). In case of LVM it is a string specifying +name of the volume group to be mapped. @item target This string specifies the name of the resulting mapped device. For kernel mappers such as encrypted devices of type @code{luks-device-mapping}, specifying @code{"my-partition"} leads to the creation of the @code{"/dev/mapper/my-partition"} device. -For RAID devices of type @code{raid-device-mapping}, the full device name -such as @code{"/dev/md0"} needs to be given. +For MD array devices of type @code{md-array-device-mapping}, the full device +name such as @code{"/dev/md18"} needs to be given. LVM logical volumes of type @code{lvm-device-mapping} need to be specified as @code{"VGNAME-LVNAME"}. @@ -17544,11 +17545,12 @@ command from the package with the same name. It relies on the @code{dm-crypt} Linux kernel module. @end defvar -@defvar raid-device-mapping +@defvar md-array-device-mapping This defines a RAID device, which is assembled using the @code{mdadm} -command from the package with the same name. It requires a Linux kernel -module for the appropriate RAID level to be loaded, such as @code{raid456} -for RAID-4, RAID-5 or RAID-6, or @code{raid10} for RAID-10. +command from the package with the same name. It requires the Linux kernel +module for the appropriate RAID level to be loaded, such as @code{raid1} +for mirroring, @code{raid456} for the checksum-based RAID levels 4, 5 or 6, +or @code{raid10} for RAID-10. @end defvar @cindex LVM, logical volume manager @@ -17606,9 +17608,9 @@ may be declared as follows: @lisp (mapped-device - (source (list "/dev/sda1" "/dev/sdb1")) - (target "/dev/md0") - (type raid-device-mapping)) + (source (uuid "33cf3e31:8e33d75b:517d64b9:0a8f7623" 'mdadm)) + (target "/dev/md17") + (type md-array-device-mapping)) @end lisp The @file{/dev/md0} device can then be used as the @code{device} of a diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm index e6b8970c12..ffe5bc00f4 100644 --- a/gnu/system/mapped-devices.scm +++ b/gnu/system/mapped-devices.scm @@ -64,6 +64,7 @@ (define-module (gnu system mapped-devices) check-device-initrd-modules ;XXX: needs a better place luks-device-mapping + md-array-device-mapping raid-device-mapping lvm-device-mapping)) @@ -317,11 +318,46 @@ (define raid-device-mapping (open open-raid-device) (close close-raid-device))) +(define (open-md-array-device source targets) + "Return a gexp that assembles SOURCE to the MD device +TARGET (e.g., \"/dev/md0\"), using 'mdadm'." + (let ((array-selector + (match source + ((? uuid?) + (string-append "--uuid=" (uuid->string source))) + ((? string?) + (string-append "--name=" source)))) + (md-device + (match targets + ((target) + target)))) + (if (and array-selector md-device) + ;; Use 'mdadm-static' rather than 'mdadm' to avoid pulling its whole + ;; closure (80 MiB) in the initrd when an MD device is needed for boot. + #~(zero? (system* #$(file-append mdadm-static "/sbin/mdadm") + "--assemble" #$md-device + "--run" + #$array-selector)) + #f))) + +(define (close-md-array-device source targets) + "Return a gexp that stops the MD device TARGET." + (match targets + ((target) + #~(zero? (system* #$(file-append mdadm-static "/sbin/mdadm") + "--stop" #$target))))) + +(define md-array-device-mapping + ;; The type of MD mapped device. + (mapped-device-kind + (open open-md-array-device) + (close close-md-array-device))) + (define (open-lvm-device source targets) #~(and (zero? (system* #$(file-append lvm2-static "/sbin/lvm") "vgchange" "--activate" "ay" #$source)) - ; /dev/mapper nodes are usually created by udev, but udev may be unavailable at the time we run this. So we create them here. + ; /dev/mapper nodes are usually created by udev, but udev may be unavailable at the time we run this. So we create them here. (zero? (system* #$(file-append lvm2-static "/sbin/lvm") "vgscan" "--mknodes")) (every file-exists? (map (lambda (file) (string-append "/dev/mapper/" file)) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 0f4204d1a6..061365fd87 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -64,7 +64,7 @@ (define-module (gnu tests install) %test-iso-image-installer %test-separate-store-os %test-separate-home-os - %test-raid-root-os + %test-md-array-root-os %test-encrypted-root-os %test-encrypted-home-os %test-encrypted-root-not-boot-os @@ -612,11 +612,11 @@ (define %test-separate-store-os ;;; -;;; RAID root device. +;;; MD root device. ;;; -(define-os-with-source (%raid-root-os %raid-root-os-source) - ;; An OS whose root partition is a RAID partition. +(define-os-with-source (%md-array-root-os %md-array-root-os-source) + ;; An OS whose root partition is a MD partition. (use-modules (gnu) (gnu tests)) (operating-system @@ -633,9 +633,9 @@ (define-os-with-source (%raid-root-os %raid-root-os-source) (initrd-modules (cons "raid1" %base-initrd-modules)) (mapped-devices (list (mapped-device - (source (list "/dev/vda2" "/dev/vda3")) + (source "marionette:mirror0") (target "/dev/md0") - (type raid-device-mapping)))) + (type md-array-device-mapping)))) (file-systems (cons (file-system (device (file-system-label "root-fs")) (mount-point "/") @@ -649,7 +649,7 @@ (define-os-with-source (%raid-root-os %raid-root-os-source) (guix combinators))))) %base-services)))) -(define %raid-root-installation-script +(define %md-array-root-installation-script ;; Installation with a separate /gnu partition. See ;; for more on RAID and ;; mdadm. @@ -665,8 +665,8 @@ (define %raid-root-installation-script mkpart primary ext2 1.6G 3.2G \\ set 1 boot on \\ set 1 bios_grub on -yes | mdadm --create /dev/md0 --verbose --level=mirror --raid-devices=2 \\ - /dev/vdb2 /dev/vdb3 +yes | mdadm --create /dev/md0 --verbose --homehost=marionette --name=mirror0 \\ + --level=mirror --raid-devices=2 /dev/vdb2 /dev/vdb3 mkfs.ext4 -L root-fs /dev/md0 mount /dev/md0 /mnt df -h /mnt @@ -677,21 +677,21 @@ (define %raid-root-installation-script sync reboot\n") -(define %test-raid-root-os +(define %test-md-array-root-os (system-test - (name "raid-root-os") + (name "md-array-root-os") (description "Test functionality of an OS installed with a RAID root partition managed by 'mdadm'.") (value - (mlet* %store-monad ((images (run-install %raid-root-os - %raid-root-os-source + (mlet* %store-monad ((images (run-install %md-array-root-os + %md-array-root-os-source #:script - %raid-root-installation-script + %md-array-root-installation-script #:target-size (* 3200 MiB))) (command (qemu-command* images))) - (run-basic-test %raid-root-os - `(,@command) "raid-root-os"))))) + (run-basic-test %md-array-root-os + `(,@command) "md-array-root-os"))))) ;;;