aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Othacehe <m.othacehe@gmail.com>2020-05-20 16:12:14 +0200
committerMathieu Othacehe <othacehe@gnu.org>2020-05-26 09:57:10 +0200
commit16f9124d1fec7b40cdac189346e0d5021e43122b (patch)
treeae536b82146dcf257ca5ec0a7078df82be55ff09
parent1b4fa7851b39f087a6433e8b5e22c479ca1da289 (diff)
downloadguix-16f9124d1fec7b40cdac189346e0d5021e43122b.tar
guix-16f9124d1fec7b40cdac189346e0d5021e43122b.tar.gz
build: image: Add support for EXT2 and EXT3 file-systems.
* gnu/build/image.scm (make-ext4-image): Rename to ... (make-ext-image): ... it, and pass the file-system type to mke2fs, (make-partition-image): Adapt to call "make-ext-image" if the partition file-system is prefixed by "ext".
-rw-r--r--gnu/build/image.scm18
1 files changed, 10 insertions, 8 deletions
diff --git a/gnu/build/image.scm b/gnu/build/image.scm
index fe8e11aa1b..23fc56571f 100644
--- a/gnu/build/image.scm
+++ b/gnu/build/image.scm
@@ -63,16 +63,18 @@
take the partition metadata size into account, take a 25% margin."
(* 1.25 (file-size root)))
-(define* (make-ext4-image partition target root
- #:key
- (owner-uid 0)
- (owner-gid 0))
- "Handle the creation of EXT4 partition images. See 'make-partition-image'."
+(define* (make-ext-image partition target root
+ #:key
+ (owner-uid 0)
+ (owner-gid 0))
+ "Handle the creation of EXT2/3/4 partition images. See
+'make-partition-image'."
(let ((size (partition-size partition))
+ (fs (partition-file-system partition))
(label (partition-label partition))
(uuid (partition-uuid partition))
(options "lazy_itable_init=1,lazy_journal_init=1"))
- (invoke "mke2fs" "-t" "ext4" "-d" root
+ (invoke "mke2fs" "-t" fs "-d" root
"-L" label "-U" (uuid->string uuid)
"-E" (format #f "root_owner=~a:~a,~a"
owner-uid owner-gid options)
@@ -105,8 +107,8 @@ ROOT directory to populate the image."
(let* ((partition (sexp->partition partition-sexp))
(type (partition-file-system partition)))
(cond
- ((string=? type "ext4")
- (make-ext4-image partition target root))
+ ((string-prefix? "ext" type)
+ (make-ext-image partition target root))
((string=? type "vfat")
(make-vfat-image partition target root))
(else