summary refs log tree commit diff
path: root/gnu/system/image.scm
diff options
context:
space:
mode:
authorPavel Shlyak <p.shlyak@pantherx.org>2022-05-26 21:00:51 +0300
committerMathieu Othacehe <othacehe@gnu.org>2022-05-31 14:51:13 +0200
commit8b680b00d49bdd1064918ffd221ffbcc11ba902a (patch)
treeb6581a31be37d209a19d99f0580d95d2411a5123 /gnu/system/image.scm
parent6169c582d154f65a9834a4e07226de4fc98ea67f (diff)
downloadguix-8b680b00d49bdd1064918ffd221ffbcc11ba902a.tar.gz
image: Add fat32 support.
* gnu/build/image.scm (make-vfat-image): Pass fs-bits as an argument and force
1kb logical sector size only if "ESP" flag is set.
(make-partition-image): Add "fat32" partition type, support explicit "fat16"
type with vfat alias.
* gnu/system/image.scm (partition->dos-type partition): Return file system IDs
for "fat16" and "fat32" partitions.
(partition->gpt-type partition): Ditto.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Diffstat (limited to 'gnu/system/image.scm')
-rw-r--r--gnu/system/image.scm8
1 files changed, 6 insertions, 2 deletions
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index dd32e58c2d..f02f6e0b8c 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -312,7 +312,9 @@ used in the image."
         (cond
          ((member 'esp flags) "0xEF")
          ((string-prefix? "ext" file-system) "0x83")
-         ((string=? file-system "vfat") "0x0E")
+         ((or (string=? file-system "vfat")
+              (string=? file-system "fat16")) "0x0E")
+         ((string=? file-system "fat32") "0x0C")
          (else
           (raise (condition
                   (&message
@@ -329,7 +331,9 @@ used in the image."
         (cond
          ((member 'esp flags) "U")
          ((string-prefix? "ext" file-system) "L")
-         ((string=? file-system "vfat") "F")
+         ((or (string=? file-system "vfat")
+              (string=? file-system "fat16")
+              (string=? file-system "fat32")) "F")
          (else
           (raise (condition
                   (&message