diff --git a/gnu/image.scm b/gnu/image.scm index b05fc69dc5..3a02692950 100644 --- a/gnu/image.scm +++ b/gnu/image.scm @@ -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 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)) diff --git a/gnu/system/image.scm b/gnu/system/image.scm index 571b7af5f3..adc2b3c221 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -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))