image: Add partition offset support.

* gnu/image.scm (partition-offset): New procedure,
(<partition>)[offset]: new field.
* gnu/system/image.scm (system-disk-image): Apply the partition offset.
This commit is contained in:
Mathieu Othacehe 2020-05-20 16:09:53 +02:00 committed by Mathieu Othacehe
parent edb0366c16
commit 1b4fa7851b
No known key found for this signature in database
GPG key ID: 8354763531769CA6
2 changed files with 10 additions and 2 deletions

View file

@ -22,6 +22,7 @@ (define-module (gnu image)
partition?
partition-device
partition-size
partition-offset
partition-file-system
partition-label
partition-uuid
@ -47,6 +48,7 @@ (define-record-type* <partition> partition make-partition
partition?
(device partition-device (default #f))
(size partition-size)
(offset partition-offset (default #f))
(file-system partition-file-system (default "ext4"))
(label partition-label (default #f))
(uuid partition-uuid (default #f))

View file

@ -243,11 +243,17 @@ (define (partition->config partition)
;; Return the genimage partition configuration for PARTITION.
(let ((label (partition-label partition))
(dos-type (partition->dos-type partition))
(image (partition-image partition)))
(image (partition-image partition))
(offset (partition-offset partition)))
#~(format #f "~/partition ~a {
~/~/partition-type = ~a
~/~/image = \"~a\"
~/}" #$label #$dos-type #$image)))
~/~/offset = \"~a\"
~/}"
#$label
#$dos-type
#$image
#$(or offset 0))))
(let* ((format (image-format image))
(image-type (format->image-type format))