diff options
author | Marius Bakke <mbakke@fastmail.com> | 2017-08-26 15:34:29 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2017-08-26 15:34:29 +0200 |
commit | 4028fd395e6d7f80f7bbeb4ff616b6b89b0bf654 (patch) | |
tree | 17bac0c3211a872d3a0292cae20347718ecdd5f7 /gnu/build/file-systems.scm | |
parent | 9d1cc6bc69d53bf8ad45ac94bc3c268125f86359 (diff) | |
parent | 72e2815d18ad688b0a16ce3b3efba1172423cec4 (diff) | |
download | patches-4028fd395e6d7f80f7bbeb4ff616b6b89b0bf654.tar patches-4028fd395e6d7f80f7bbeb4ff616b6b89b0bf654.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'gnu/build/file-systems.scm')
-rw-r--r-- | gnu/build/file-systems.scm | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index b6930497d6..203fbdfffb 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -373,15 +373,16 @@ not valid header was found." (define (disk-partitions) "Return the list of device names corresponding to valid disk partitions." - (define (last-character str) - (string-ref str (- (string-length str) 1))) - (define (partition? name major minor) - ;; Select device names that end in a digit, like libblkid's 'probe_all' - ;; function does. Checking for "/sys/dev/block/MAJOR:MINOR/partition" - ;; doesn't work for partitions coming from mapped devices. - (and (char-set-contains? char-set:digit (last-character name)) - (> major 2))) ;ignore RAM disks and floppy disks + ;; grub-mkrescue does some funny things for EFI support which + ;; makes it a lot more difficult than one would expect to support + ;; booting an ISO-9660 image from an USB flash drive. + ;; For example there's a buggy (too small) hidden partition in it + ;; which Linux mounts and then proceeds to fail while trying to + ;; fall off the edge. + ;; In any case, partition tables are supposed to be optional so + ;; here we allow checking entire disks for file systems, too. + (> major 2)) ;ignore RAM disks and floppy disks (call-with-input-file "/proc/partitions" (lambda (port) |