me
/
guix
Archived
1
0
Fork 0

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".
master
Mathieu Othacehe 2020-05-20 16:12:14 +02:00 committed by Mathieu Othacehe
parent 1b4fa7851b
commit 16f9124d1f
No known key found for this signature in database
GPG Key ID: 8354763531769CA6
1 changed files with 10 additions and 8 deletions

View File

@ -63,16 +63,18 @@
take the partition metadata size into account, take a 25% margin." take the partition metadata size into account, take a 25% margin."
(* 1.25 (file-size root))) (* 1.25 (file-size root)))
(define* (make-ext4-image partition target root (define* (make-ext-image partition target root
#:key #:key
(owner-uid 0) (owner-uid 0)
(owner-gid 0)) (owner-gid 0))
"Handle the creation of EXT4 partition images. See 'make-partition-image'." "Handle the creation of EXT2/3/4 partition images. See
'make-partition-image'."
(let ((size (partition-size partition)) (let ((size (partition-size partition))
(fs (partition-file-system partition))
(label (partition-label partition)) (label (partition-label partition))
(uuid (partition-uuid partition)) (uuid (partition-uuid partition))
(options "lazy_itable_init=1,lazy_journal_init=1")) (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) "-L" label "-U" (uuid->string uuid)
"-E" (format #f "root_owner=~a:~a,~a" "-E" (format #f "root_owner=~a:~a,~a"
owner-uid owner-gid options) owner-uid owner-gid options)
@ -105,8 +107,8 @@ ROOT directory to populate the image."
(let* ((partition (sexp->partition partition-sexp)) (let* ((partition (sexp->partition partition-sexp))
(type (partition-file-system partition))) (type (partition-file-system partition)))
(cond (cond
((string=? type "ext4") ((string-prefix? "ext" type)
(make-ext4-image partition target root)) (make-ext-image partition target root))
((string=? type "vfat") ((string=? type "vfat")
(make-vfat-image partition target root)) (make-vfat-image partition target root))
(else (else