From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 04 03:24:35 2017 Received: (at submit) by debbugs.gnu.org; 4 Oct 2017 07:24:35 +0000 Received: from localhost ([127.0.0.1]:47368 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dze2k-0001p3-Rx for submit@debbugs.gnu.org; Wed, 04 Oct 2017 03:24:35 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40127) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dze2i-0001op-KB for submit@debbugs.gnu.org; Wed, 04 Oct 2017 03:24:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dze2Y-00032G-OD for submit@debbugs.gnu.org; Wed, 04 Oct 2017 03:24:27 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:37572) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dze2Y-000322-Ki for submit@debbugs.gnu.org; Wed, 04 Oct 2017 03:24:22 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59325) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dze2X-000166-IW for guix-patches@gnu.org; Wed, 04 Oct 2017 03:24:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dze2W-00030b-KN for guix-patches@gnu.org; Wed, 04 Oct 2017 03:24:21 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51099) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dze2T-0002wm-Lh; Wed, 04 Oct 2017 03:24:17 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=39304 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dze2S-0003gR-Pz; Wed, 04 Oct 2017 03:24:17 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: guix-patches@gnu.org Subject: [PATCH 0/5] Support UUIDs for the EFI System Partition (FAT) Date: Wed, 4 Oct 2017 09:24:01 +0200 Message-Id: <20171004072401.1251-1-ludo@gnu.org> X-Mailer: git-send-email 2.14.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: dannym@scratchpost.org, =?UTF-8?q?Ludovic=20Court=C3=A8s?= , roel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hello! This patch series fixes what Roel reported at : it allows users to refer to their EFI System Partition and to FAT file systems in general by UUID. I’ve tested it on my UEFI laptop where /boot/efi is actually FAT16, not FAT32 (I suppose UEFI supports both). Let me know what you think! Ludo’. Ludovic Courtès (5): file-systems: 'mount-file-system' now takes a object. file-systems: Preserve UUID types when serializing. file-systems: Add support for FAT16. uuid: Change "fat32" to "fat". doc: Give an example with a FAT UUID. doc/guix.texi | 5 ++ gnu/build/file-systems.scm | 115 +++++++++++++++++---------- gnu/build/linux-boot.scm | 20 ++--- gnu/build/linux-container.scm | 3 +- gnu/services/base.scm | 6 +- gnu/system/examples/lightweight-desktop.tmpl | 8 +- gnu/system/file-systems.scm | 10 ++- gnu/system/linux-initrd.scm | 6 +- gnu/system/uuid.scm | 30 +++---- 9 files changed, 126 insertions(+), 77 deletions(-) -- 2.14.2 From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 04 03:26:34 2017 Received: (at 28696) by debbugs.gnu.org; 4 Oct 2017 07:26:34 +0000 Received: from localhost ([127.0.0.1]:47376 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dze4g-0001sw-7m for submit@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:34 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40549) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dze4e-0001sP-77 for 28696@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dze4X-0005RR-MV for 28696@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:26 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51118) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dze4V-0005Of-C9; Wed, 04 Oct 2017 03:26:23 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=39334 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dze4U-0003pm-JG; Wed, 04 Oct 2017 03:26:22 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 28696@debbugs.gnu.org Subject: [PATCH 2/5] file-systems: Preserve UUID types when serializing. Date: Wed, 4 Oct 2017 09:25:51 +0200 Message-Id: <20171004072554.1377-2-ludo@gnu.org> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20171004072554.1377-1-ludo@gnu.org> References: <20171004072554.1377-1-ludo@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28696 Cc: dannym@scratchpost.org, =?UTF-8?q?Ludovic=20Court=C3=A8s?= , roel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Reported by Roel Janssen at . * gnu/system/file-systems.scm (file-system->spec): When DEVICE is a UUID, serialize it in a way that preserves its type. (spec->file-system): Adjust accordingly. * gnu/build/file-systems.scm (canonicalize-device-spec): Add case for when SPEC is 'uuid?'. --- gnu/build/file-systems.scm | 11 ++++++----- gnu/system/file-systems.scm | 10 ++++++++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index 8b1a4cb19..dea5bc619 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -450,8 +450,7 @@ the following: \"/dev/sda1\"; • 'label', in which case SPEC is known to designate a partition label--e.g., \"my-root-part\"; - • 'uuid', in which case SPEC must be a UUID (a 16-byte bytevector) - designating a partition; + • 'uuid', in which case SPEC must be a UUID designating a partition; • 'any', in which case SPEC can be anything. " (define max-trials @@ -497,9 +496,11 @@ the following: (resolve find-partition-by-label spec identity)) ((uuid) (resolve find-partition-by-uuid - (if (string? spec) - (string->uuid spec) - spec) + (cond ((string? spec) + (string->uuid spec)) + ((uuid? spec) + (uuid-bytevector spec)) + (else spec)) uuid->string)) (else (error "unknown device title" title)))) diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 52f16676f..fbd2b11cd 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -18,6 +18,7 @@ (define-module (gnu system file-systems) #:use-module (ice-9 match) + #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (guix records) #:use-module (gnu system uuid) @@ -157,7 +158,7 @@ initrd code." (match fs (($ device title mount-point type flags options _ _ check?) (list (if (uuid? device) - (uuid-bytevector device) + `(uuid ,(uuid-type device) ,(uuid-bytevector device)) device) title mount-point type flags options check?)))) @@ -166,7 +167,12 @@ initrd code." (match sexp ((device title mount-point type flags options check?) (file-system - (device device) (title title) + (device (match device + (('uuid (? symbol? type) (? bytevector? bv)) + (bytevector->uuid bv type)) + (_ + device))) + (title title) (mount-point mount-point) (type type) (flags flags) (options options) (check? check?))))) -- 2.14.2 From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 04 03:26:35 2017 Received: (at 28696) by debbugs.gnu.org; 4 Oct 2017 07:26:35 +0000 Received: from localhost ([127.0.0.1]:47379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dze4g-0001sy-HQ for submit@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:34 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40555) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dze4e-0001sS-NL for 28696@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dze4Y-0005TN-Ii for 28696@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:27 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51119) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dze4W-0005Q1-9n; Wed, 04 Oct 2017 03:26:24 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=39334 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dze4V-0003pm-IX; Wed, 04 Oct 2017 03:26:23 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 28696@debbugs.gnu.org Subject: [PATCH 3/5] file-systems: Add support for FAT16. Date: Wed, 4 Oct 2017 09:25:52 +0200 Message-Id: <20171004072554.1377-3-ludo@gnu.org> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20171004072554.1377-1-ludo@gnu.org> References: <20171004072554.1377-1-ludo@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28696 Cc: dannym@scratchpost.org, =?UTF-8?q?Ludovic=20Court=C3=A8s?= , roel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) * gnu/build/file-systems.scm (check-fat32-file-system): Rename to... (check-fat-file-system): ... this. (check-file-system): Adjust accordingly. (fat16-superblock?, read-fat16-superblock) (fat16-superblock-uuid, fat16-superblock-volume-name): New procedures. (%partition-label-readers, %partition-uuid-readers): Add FAT16. --- gnu/build/file-systems.scm | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index dea5bc619..5d6c335bb 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -194,7 +194,7 @@ if DEVICE does not contain a btrfs file system." Trailing spaces are trimmed." (string-trim-right (latin1->string (sub-bytevector sblock 71 11) (lambda (c) #f)) #\space)) -(define (check-fat32-file-system device) +(define (check-fat-file-system device) "Return the health of a fat file system on DEVICE." (match (status:exit-val (system* "fsck.vfat" "-v" "-a" device)) @@ -203,6 +203,33 @@ Trailing spaces are trimmed." (_ 'fatal-error))) +;;; +;;; FAT16 file systems. +;;; + +(define (fat16-superblock? sblock) + "Return #t when SBLOCK is a fat16 boot record." + (bytevector=? (sub-bytevector sblock 54 8) + (string->utf8 "FAT16 "))) + +(define (read-fat16-superblock device) + "Return the raw contents of DEVICE's fat16 superblock as a bytevector, or +#f if DEVICE does not contain a fat16 file system." + (read-superblock device 0 62 fat16-superblock?)) + +(define (fat16-superblock-uuid sblock) + "Return the Volume ID of a fat superblock SBLOCK as a 4-byte bytevector." + (sub-bytevector sblock 39 4)) + +(define (fat16-superblock-volume-name sblock) + "Return the volume name of SBLOCK as a string of at most 11 characters, or +#f if SBLOCK has no volume name. The volume name is a latin1 string. +Trailing spaces are trimmed." + (string-trim-right (latin1->string (sub-bytevector sblock 43 11) + (lambda (c) #f)) + #\space)) + + ;;; ;;; ISO9660 file systems. ;;; @@ -386,7 +413,9 @@ partition field reader that returned a value." (partition-field-reader read-btrfs-superblock btrfs-superblock-volume-name) (partition-field-reader read-fat32-superblock - fat32-superblock-volume-name))) + fat32-superblock-volume-name) + (partition-field-reader read-fat16-superblock + fat16-superblock-volume-name))) (define %partition-uuid-readers (list (partition-field-reader read-iso9660-superblock @@ -396,7 +425,9 @@ partition field reader that returned a value." (partition-field-reader read-btrfs-superblock btrfs-superblock-uuid) (partition-field-reader read-fat32-superblock - fat32-superblock-uuid))) + fat32-superblock-uuid) + (partition-field-reader read-fat16-superblock + fat16-superblock-uuid))) (define read-partition-label (cut read-partition-field <> %partition-label-readers)) @@ -511,7 +542,7 @@ the following: (cond ((string-prefix? "ext" type) check-ext2-file-system) ((string-prefix? "btrfs" type) check-btrfs-file-system) - ((string-suffix? "fat" type) check-fat32-file-system) + ((string-suffix? "fat" type) check-fat-file-system) (else #f))) (if check-procedure -- 2.14.2 From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 04 03:26:35 2017 Received: (at 28696) by debbugs.gnu.org; 4 Oct 2017 07:26:35 +0000 Received: from localhost ([127.0.0.1]:47381 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dze4h-0001tA-21 for submit@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:35 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40553) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dze4e-0001sR-GL for 28696@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dze4X-0005RH-M0 for 28696@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:27 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51117) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dze4U-0005Np-GG; Wed, 04 Oct 2017 03:26:22 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=39334 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dze4T-0003pm-Hv; Wed, 04 Oct 2017 03:26:21 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 28696@debbugs.gnu.org Subject: [PATCH 1/5] file-systems: 'mount-file-system' now takes a object. Date: Wed, 4 Oct 2017 09:25:50 +0200 Message-Id: <20171004072554.1377-1-ludo@gnu.org> X-Mailer: git-send-email 2.14.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28696 Cc: dannym@scratchpost.org, =?UTF-8?q?Ludovic=20Court=C3=A8s?= , roel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) * gnu/build/file-systems.scm (mount-file-system): Rename 'spec' to 'fs' and assume it's a . * gnu/build/linux-boot.scm (boot-system): Assume MOUNTS is a list of and adjust accordingly. * gnu/build/linux-container.scm (mount-file-systems): Remove 'file-system->spec' call. * gnu/services/base.scm (file-system-shepherd-service): Add 'spec->file-system' call. Add (gnu system file-systems) to 'modules'. * gnu/system/linux-initrd.scm (raw-initrd): Use (gnu system file-systems). Add 'spec->file-system' call for #:mounts. --- gnu/build/file-systems.scm | 65 ++++++++++++++++++++++--------------------- gnu/build/linux-boot.scm | 20 ++++++------- gnu/build/linux-container.scm | 3 +- gnu/services/base.scm | 6 ++-- gnu/system/linux-initrd.scm | 6 +++- 5 files changed, 53 insertions(+), 47 deletions(-) diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index 32885f1d2..8b1a4cb19 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -20,9 +20,11 @@ (define-module (gnu build file-systems) #:use-module (gnu system uuid) + #:use-module (gnu system file-systems) #:use-module (guix build utils) #:use-module (guix build bournish) - #:use-module (guix build syscalls) + #:use-module ((guix build syscalls) + #:hide (file-system-type)) #:use-module (rnrs io ports) #:use-module (rnrs bytevectors) #:use-module (ice-9 match) @@ -552,11 +554,8 @@ corresponds to the symbols listed in FLAGS." (() 0)))) -(define* (mount-file-system spec #:key (root "/root")) - "Mount the file system described by SPEC under ROOT. SPEC must have the -form: - - (DEVICE TITLE MOUNT-POINT TYPE (FLAGS ...) OPTIONS CHECK?) +(define* (mount-file-system fs #:key (root "/root")) + "Mount the file system described by FS, a object, under ROOT. DEVICE, MOUNT-POINT, and TYPE must be strings; OPTIONS can be a string or #f; FLAGS must be a list of symbols. CHECK? is a Boolean indicating whether to @@ -582,34 +581,36 @@ run a file system check." (if options (string-append "," options) ""))))) - (match spec - ((source title mount-point type (flags ...) options check?) - (let ((source (canonicalize-device-spec source title)) - (mount-point (string-append root "/" mount-point)) - (flags (mount-flags->bit-mask flags))) - (when check? - (check-file-system source type)) + (let ((type (file-system-type fs)) + (options (file-system-options fs)) + (source (canonicalize-device-spec (file-system-device fs) + (file-system-title fs))) + (mount-point (string-append root "/" + (file-system-mount-point fs))) + (flags (mount-flags->bit-mask (file-system-flags fs)))) + (when (file-system-check? fs) + (check-file-system source type)) - ;; Create the mount point. Most of the time this is a directory, but - ;; in the case of a bind mount, a regular file or socket may be needed. - (if (and (= MS_BIND (logand flags MS_BIND)) - (not (file-is-directory? source))) - (unless (file-exists? mount-point) - (mkdir-p (dirname mount-point)) - (call-with-output-file mount-point (const #t))) - (mkdir-p mount-point)) + ;; Create the mount point. Most of the time this is a directory, but + ;; in the case of a bind mount, a regular file or socket may be needed. + (if (and (= MS_BIND (logand flags MS_BIND)) + (not (file-is-directory? source))) + (unless (file-exists? mount-point) + (mkdir-p (dirname mount-point)) + (call-with-output-file mount-point (const #t))) + (mkdir-p mount-point)) - (cond - ((string-prefix? "nfs" type) - (mount-nfs source mount-point type flags options)) - (else - (mount source mount-point type flags options))) + (cond + ((string-prefix? "nfs" type) + (mount-nfs source mount-point type flags options)) + (else + (mount source mount-point type flags options))) - ;; For read-only bind mounts, an extra remount is needed, as per - ;; , which still applies to Linux 4.0. - (when (and (= MS_BIND (logand flags MS_BIND)) - (= MS_RDONLY (logand flags MS_RDONLY))) - (let ((flags (logior MS_BIND MS_REMOUNT MS_RDONLY))) - (mount source mount-point type flags #f))))))) + ;; For read-only bind mounts, an extra remount is needed, as per + ;; , which still applies to Linux 4.0. + (when (and (= MS_BIND (logand flags MS_BIND)) + (= MS_RDONLY (logand flags MS_RDONLY))) + (let ((flags (logior MS_BIND MS_REMOUNT MS_RDONLY))) + (mount source mount-point type flags #f))))) ;;; file-systems.scm ends here diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 360ef3fae..3712abe91 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. @@ -27,9 +27,11 @@ #:use-module (ice-9 match) #:use-module (ice-9 ftw) #:use-module (guix build utils) - #:use-module (guix build syscalls) + #:use-module ((guix build syscalls) + #:hide (file-system-type)) #:use-module (gnu build linux-modules) #:use-module (gnu build file-systems) + #:use-module (gnu system file-systems) #:export (mount-essential-file-systems linux-command-line find-long-option @@ -349,19 +351,17 @@ supports kernel command-line options '--load', '--root', and '--repl'. Mount the root file system, specified by the '--root' command-line argument, if any. -MOUNTS must be a list suitable for 'mount-file-system'. +MOUNTS must be a list of objects. When VOLATILE-ROOT? is true, the root file system is writable but any changes to it are lost." - (define root-mount-point? - (match-lambda - ((device _ "/" _ ...) #t) - (_ #f))) + (define (root-mount-point? fs) + (string=? (file-system-mount-point fs) "/")) (define root-fs-type - (or (any (match-lambda - ((device _ "/" type _ ...) type) - (_ #f)) + (or (any (lambda (fs) + (and (root-mount-point? fs) + (file-system-type fs))) mounts) "ext4")) diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm index 95bfd92dd..70e789403 100644 --- a/gnu/build/linux-container.scm +++ b/gnu/build/linux-container.scm @@ -152,8 +152,7 @@ for the process." ;; Mount user-specified file systems. (for-each (lambda (file-system) - (mount-file-system (file-system->spec file-system) - #:root root)) + (mount-file-system file-system #:root root)) mounts) ;; Jail the process inside the container's root file system. diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 64620a9b0..541ca76f1 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -307,7 +307,8 @@ FILE-SYSTEM." '#$packages)))) (lambda () (mount-file-system - '#$(file-system->spec file-system) + (spec->file-system + '#$(file-system->spec file-system)) #:root "/")) (lambda () (setenv "PATH" $PATH))) @@ -322,9 +323,10 @@ FILE-SYSTEM." (umount #$target) #f)) - ;; We need an additional module. + ;; We need additional modules. (modules `(((gnu build file-systems) #:select (mount-file-system)) + (gnu system file-systems) ,@%default-modules))))))) (define (file-system-shepherd-services file-systems) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 5a7aec5c8..e78be8cd3 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -174,9 +174,11 @@ to it are lost." '((gnu build linux-boot) (guix build utils) (guix build bournish) + (gnu system file-systems) (gnu build file-systems))) #~(begin (use-modules (gnu build linux-boot) + (gnu system file-systems) (guix build utils) (guix build bournish) ;add the 'bournish' meta-command (srfi srfi-26) @@ -193,7 +195,9 @@ to it are lost." (set-path-environment-variable "PATH" '("bin" "sbin") '#$helper-packages))) - (boot-system #:mounts '#$(map file-system->spec file-systems) + (boot-system #:mounts + (map spec->file-system + '#$(map file-system->spec file-systems)) #:pre-mount (lambda () (and #$@device-mapping-commands)) #:linux-modules '#$linux-modules -- 2.14.2 From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 04 03:26:36 2017 Received: (at 28696) by debbugs.gnu.org; 4 Oct 2017 07:26:36 +0000 Received: from localhost ([127.0.0.1]:47383 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dze4i-0001tP-HT for submit@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:36 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40561) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dze4f-0001sT-Cd for 28696@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dze4Z-0005Ug-Im for 28696@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:28 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51120) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dze4X-0005Qj-9O; Wed, 04 Oct 2017 03:26:25 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=39334 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dze4W-0003pm-Gt; Wed, 04 Oct 2017 03:26:24 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 28696@debbugs.gnu.org Subject: [PATCH 4/5] uuid: Change "fat32" to "fat". Date: Wed, 4 Oct 2017 09:25:53 +0200 Message-Id: <20171004072554.1377-4-ludo@gnu.org> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20171004072554.1377-1-ludo@gnu.org> References: <20171004072554.1377-1-ludo@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28696 Cc: dannym@scratchpost.org, =?UTF-8?q?Ludovic=20Court=C3=A8s?= , roel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) * gnu/system/uuid.scm (%fat32-endianness): Rename to... (%fat-endianness): ... this. (fat32-uuid->string): Rename to... (fat-uuid->string): ... this. (%fat32-uuid-rx): Rename to.. (%fat-uuid-rx): ... this. (string->fat32-uuid): Rename to... (string->fat-uuid): ... this. (%uuid-parsers, %uuid-printers): Add 'fat16. --- gnu/system/uuid.scm | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/gnu/system/uuid.scm b/gnu/system/uuid.scm index 6470abb8c..26953a9a9 100644 --- a/gnu/system/uuid.scm +++ b/gnu/system/uuid.scm @@ -41,7 +41,7 @@ string->ext3-uuid string->ext4-uuid string->btrfs-uuid - string->fat32-uuid + string->fat-uuid iso9660-uuid->string ;; XXX: For lack of a better place. @@ -163,25 +163,25 @@ ISO9660 UUID representation." ;;; -;;; FAT32. +;;; FAT32/FAT16. ;;; -(define-syntax %fat32-endianness - ;; Endianness of FAT file systems. +(define-syntax %fat-endianness + ;; Endianness of FAT32/FAT16 file systems. (identifier-syntax (endianness little))) -(define (fat32-uuid->string uuid) - "Convert fat32 UUID, a 4-byte bytevector, to its string representation." - (let ((high (bytevector-uint-ref uuid 0 %fat32-endianness 2)) - (low (bytevector-uint-ref uuid 2 %fat32-endianness 2))) +(define (fat-uuid->string uuid) + "Convert FAT32/FAT16 UUID, a 4-byte bytevector, to its string representation." + (let ((high (bytevector-uint-ref uuid 0 %fat-endianness 2)) + (low (bytevector-uint-ref uuid 2 %fat-endianness 2))) (format #f "~:@(~x-~x~)" low high))) -(define %fat32-uuid-rx +(define %fat-uuid-rx (make-regexp "^([[:xdigit:]]{4})-([[:xdigit:]]{4})$")) -(define (string->fat32-uuid str) - "Parse STR, which is in FAT32 format, and return a bytevector or #f." - (match (regexp-exec %fat32-uuid-rx str) +(define (string->fat-uuid str) + "Parse STR, which is in FAT32/FAT16 format, and return a bytevector or #f." + (match (regexp-exec %fat-uuid-rx str) (#f #f) (rx-match @@ -189,7 +189,7 @@ ISO9660 UUID representation." (match:substring rx-match 2) 16) (string->number (match:substring rx-match 1) 16)) - %fat32-endianness + %fat-endianness 2)))) @@ -215,14 +215,14 @@ ISO9660 UUID representation." (define %uuid-parsers (vhashq ('dce 'ext2 'ext3 'ext4 'btrfs 'luks => string->dce-uuid) - ('fat32 'fat => string->fat32-uuid) + ('fat32 'fat16 'fat => string->fat-uuid) ('iso9660 => string->iso9660-uuid))) (define %uuid-printers (vhashq ('dce 'ext2 'ext3 'ext4 'btrfs 'luks => dce-uuid->string) ('iso9660 => iso9660-uuid->string) - ('fat32 'fat => fat32-uuid->string))) + ('fat32 'fat16 'fat => fat-uuid->string))) (define* (string->uuid str #:optional (type 'dce)) "Parse STR as a UUID of the given TYPE. On success, return the -- 2.14.2 From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 04 03:26:37 2017 Received: (at 28696) by debbugs.gnu.org; 4 Oct 2017 07:26:37 +0000 Received: from localhost ([127.0.0.1]:47385 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dze4i-0001tS-Ps for submit@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:37 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40566) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dze4g-0001sV-CB for 28696@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dze4a-0005VT-C0 for 28696@debbugs.gnu.org; Wed, 04 Oct 2017 03:26:29 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51122) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dze4Y-0005Sc-70; Wed, 04 Oct 2017 03:26:26 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=39334 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dze4X-0003pm-G9; Wed, 04 Oct 2017 03:26:25 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 28696@debbugs.gnu.org Subject: [PATCH 5/5] doc: Give an example with a FAT UUID. Date: Wed, 4 Oct 2017 09:25:54 +0200 Message-Id: <20171004072554.1377-5-ludo@gnu.org> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20171004072554.1377-1-ludo@gnu.org> References: <20171004072554.1377-1-ludo@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28696 Cc: dannym@scratchpost.org, =?UTF-8?q?Ludovic=20Court=C3=A8s?= , roel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) * gnu/system/examples/lightweight-desktop.tmpl : Add a UUID for the /boot/efi partition. * doc/guix.texi (Using the Configuration System): Mention it. --- doc/guix.texi | 5 +++++ gnu/system/examples/lightweight-desktop.tmpl | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b9d127c47..13b6d721f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8396,6 +8396,7 @@ management, power management, and more, would look like this: @include os-config-desktop.texi @end lisp +@cindex UEFI A graphical UEFI system with a choice of lightweight window managers instead of full-blown desktop environments would look like this: @@ -8403,6 +8404,10 @@ instead of full-blown desktop environments would look like this: @include os-config-lightweight-desktop.texi @end lisp +This example refers to the @file{/boot/efi} partition by its UUID, +@code{1234-ABCD}. Replace this UUID with the right UUID on your system, +as returned by the @command{blkid} command. + @xref{Desktop Services}, for the exact list of services provided by @var{%desktop-services}. @xref{X.509 Certificates}, for background information about the @code{nss-certs} package that is used here. diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl index fb7cfebf6..d13c04c76 100644 --- a/gnu/system/examples/lightweight-desktop.tmpl +++ b/gnu/system/examples/lightweight-desktop.tmpl @@ -17,16 +17,16 @@ (bootloader grub-efi-bootloader) (target "/boot/efi"))) - ;; Assume the target root file system is labelled "my-root". + ;; Assume the target root file system is labelled "my-root", + ;; and the EFI System Partition has UUID 1234-ABCD. (file-systems (cons* (file-system (device "my-root") (title 'label) (mount-point "/") (type "ext4")) (file-system - ;; Specify partition here since FAT - ;; labels are currently unsupported. - (device "/dev/sda1") + (device (uuid "1234-ABCD" 'fat)) + (title 'uuid) (mount-point "/boot/efi") (type "vfat")) %base-file-systems)) -- 2.14.2 From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 09 16:54:36 2017 Received: (at submit) by debbugs.gnu.org; 9 Oct 2017 20:54:36 +0000 Received: from localhost ([127.0.0.1]:58698 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e1f4O-000050-Ez for submit@debbugs.gnu.org; Mon, 09 Oct 2017 16:54:36 -0400 Received: from eggs.gnu.org ([208.118.235.92]:33968) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e1f4N-0008WR-A2 for submit@debbugs.gnu.org; Mon, 09 Oct 2017 16:54:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e1f4H-0006NX-6x for submit@debbugs.gnu.org; Mon, 09 Oct 2017 16:54:30 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:49911) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1e1f4H-0006NN-3R for submit@debbugs.gnu.org; Mon, 09 Oct 2017 16:54:29 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53150) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e1f4C-0002rw-Lr for guix-patches@gnu.org; Mon, 09 Oct 2017 16:54:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e1f4B-0006LS-TU for guix-patches@gnu.org; Mon, 09 Oct 2017 16:54:24 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:38248) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e1f42-0006HE-IZ; Mon, 09 Oct 2017 16:54:14 -0400 Received: from ip112-245-209-87.adsl2.static.versatel.nl ([87.209.245.112]:61707 helo=yellowstone) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1e1f42-0007La-4L; Mon, 09 Oct 2017 16:54:14 -0400 References: <20171004072401.1251-1-ludo@gnu.org> User-agent: mu4e 0.9.18; emacs 25.1.1 From: Roel Janssen To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [PATCH 0/5] Support UUIDs for the EFI System Partition (FAT) Message-ID: <87fuas9h5s.fsf@gnu.org> In-reply-to: <20171004072401.1251-1-ludo@gnu.org> Date: Mon, 09 Oct 2017 22:54:04 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: dannym@scratchpost.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Ludovic Courtès writes: > Hello! > > This patch series fixes what Roel reported at > : it > allows users to refer to their EFI System Partition and to FAT file > systems in general by UUID. > > I’ve tested it on my UEFI laptop where /boot/efi is actually FAT16, not > FAT32 (I suppose UEFI supports both). > > Let me know what you think! > > Ludo’. > > Ludovic Courtès (5): > file-systems: 'mount-file-system' now takes a object. > file-systems: Preserve UUID types when serializing. > file-systems: Add support for FAT16. > uuid: Change "fat32" to "fat". > doc: Give an example with a FAT UUID. > > doc/guix.texi | 5 ++ > gnu/build/file-systems.scm | 115 +++++++++++++++++---------- > gnu/build/linux-boot.scm | 20 ++--- > gnu/build/linux-container.scm | 3 +- > gnu/services/base.scm | 6 +- > gnu/system/examples/lightweight-desktop.tmpl | 8 +- > gnu/system/file-systems.scm | 10 ++- > gnu/system/linux-initrd.scm | 6 +- > gnu/system/uuid.scm | 30 +++---- > 9 files changed, 126 insertions(+), 77 deletions(-) Sorry for the delay. It's really awesome that you've work so hard to fix the issue I reported. I really appreciate it! I tried it with: (file-system (title 'uuid) (device (uuid "72E5-26A0" 'fat)) (mount-point "/boot/efi") (type "vfat")) And it works. These changes look good to me. Thanks again, Roel Janssen From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 11 05:13:51 2017 Received: (at 28696-done) by debbugs.gnu.org; 11 Oct 2017 09:13:51 +0000 Received: from localhost ([127.0.0.1]:33036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e2D5K-0003PQ-NH for submit@debbugs.gnu.org; Wed, 11 Oct 2017 05:13:50 -0400 Received: from eggs.gnu.org ([208.118.235.92]:54216) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e2D5J-0003PE-8c for 28696-done@debbugs.gnu.org; Wed, 11 Oct 2017 05:13:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e2D5D-0006ey-65 for 28696-done@debbugs.gnu.org; Wed, 11 Oct 2017 05:13:44 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45162) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e2D59-0006dD-Mn; Wed, 11 Oct 2017 05:13:39 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=39572 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1e2D59-0006Fa-1E; Wed, 11 Oct 2017 05:13:39 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: 28696-done@debbugs.gnu.org Subject: Re: [bug#28696] [PATCH 0/5] Support UUIDs for the EFI System Partition (FAT) References: <20171004072401.1251-1-ludo@gnu.org> Date: Wed, 11 Oct 2017 11:13:37 +0200 In-Reply-To: <20171004072401.1251-1-ludo@gnu.org> ("Ludovic \=\?utf-8\?Q\?Cour\?\= \=\?utf-8\?Q\?t\=C3\=A8s\=22's\?\= message of "Wed, 4 Oct 2017 09:24:01 +0200") Message-ID: <87efqacaim.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28696-done Cc: dannym@scratchpost.org, roel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hello, Ludovic Court=C3=A8s skribis: > This patch series fixes what Roel reported at > : it > allows users to refer to their EFI System Partition and to FAT file > systems in general by UUID. I went ahead and pushed this series. Let me know if anything=E2=80=99s wro= ng! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 11 15:49:28 2017 Received: (at submit) by debbugs.gnu.org; 11 Oct 2017 19:49:28 +0000 Received: from localhost ([127.0.0.1]:34499 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e2N0R-00066d-P1 for submit@debbugs.gnu.org; Wed, 11 Oct 2017 15:49:27 -0400 Received: from eggs.gnu.org ([208.118.235.92]:49400) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e2N0Q-00066K-6r for submit@debbugs.gnu.org; Wed, 11 Oct 2017 15:49:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e2N0K-0004GL-AG for submit@debbugs.gnu.org; Wed, 11 Oct 2017 15:49:21 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:54130) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1e2N0K-0004G5-71 for submit@debbugs.gnu.org; Wed, 11 Oct 2017 15:49:20 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40281) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e2N0F-00013f-UG for guix-patches@gnu.org; Wed, 11 Oct 2017 15:49:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e2N0F-0004CS-7E for guix-patches@gnu.org; Wed, 11 Oct 2017 15:49:15 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57524) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e2N0B-000491-QY; Wed, 11 Oct 2017 15:49:11 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=48782 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1e2N0B-0007o5-3m; Wed, 11 Oct 2017 15:49:11 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Roel Janssen Subject: Re: [PATCH 0/5] Support UUIDs for the EFI System Partition (FAT) References: <20171004072401.1251-1-ludo@gnu.org> <87fuas9h5s.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 20 =?utf-8?Q?Vend=C3=A9miaire?= an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Wed, 11 Oct 2017 21:49:08 +0200 In-Reply-To: <87fuas9h5s.fsf@gnu.org> (Roel Janssen's message of "Mon, 09 Oct 2017 22:54:04 +0200") Message-ID: <87r2u9a2iz.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: dannym@scratchpost.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi Roel, Roel Janssen skribis: > Sorry for the delay. It's really awesome that you've work so hard to > fix the issue I reported. I really appreciate it! > > I tried it with: > (file-system > (title 'uuid) > (device (uuid "72E5-26A0" 'fat)) > (mount-point "/boot/efi") > (type "vfat")) > > And it works. These changes look good to me. Awesome, thanks for testing! Most likely you can also do: (device "EFI") (title 'label) though I wouldn=E2=80=99t recommend that because if there=E2=80=99s, say, a= bootable UEFI dongle plugged in when you boot, you could end up mounting that one instead of your actual hard disk. Ludo=E2=80=99. From unknown Wed Jun 25 00:25:02 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 09 Nov 2017 12:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator