summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Othacehe <m.othacehe@gmail.com>2020-05-20 16:09:53 +0200
committerMathieu Othacehe <othacehe@gnu.org>2020-05-26 09:57:06 +0200
commit1b4fa7851b39f087a6433e8b5e22c479ca1da289 (patch)
treebdc6d4e96df8a0d7598f023f8dbf2eb32ffb1479
parentedb0366c16fee4767a1d007b6c38f11080910b50 (diff)
downloadpatches-1b4fa7851b39f087a6433e8b5e22c479ca1da289.tar
patches-1b4fa7851b39f087a6433e8b5e22c479ca1da289.tar.gz
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.
-rw-r--r--gnu/image.scm2
-rw-r--r--gnu/system/image.scm10
2 files changed, 10 insertions, 2 deletions
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 @@
partition?
partition-device
partition-size
+ partition-offset
partition-file-system
partition-label
partition-uuid
@@ -47,6 +48,7 @@
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 @@ used in the image."
;; 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))