summaryrefslogtreecommitdiff
path: root/gnu/system/image.scm
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2020-05-29 09:05:53 +0200
committerMathieu Othacehe <othacehe@gnu.org>2020-05-29 09:10:27 +0200
commitb7b45372e713a53ffa852aec1d3bfb743bb79124 (patch)
tree31c4f17f1c09473fc22afd2ed793217ddcf40ac4 /gnu/system/image.scm
parent749381051d9b43fd4944b44e734c6fd9fced9030 (diff)
downloadguix-patches-b7b45372e713a53ffa852aec1d3bfb743bb79124.tar
guix-patches-b7b45372e713a53ffa852aec1d3bfb743bb79124.tar.gz
image: Add a post-MBR gap to the default image.
The generic 'efi-disk-image' needs to be bootable on systems without EFI. To do that, GRUB is installed in the post-MBR gap. Make sure that the first partition starts with an offset, to make this gap large enough for GRUB. * gnu/system/image.scm (root-offset, root-label): New variables, (esp-partition): use 'root-offset' as the partition offset, (root-partition): use 'root-label' as the partition label.
Diffstat (limited to 'gnu/system/image.scm')
-rw-r--r--gnu/system/image.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index 53f68c097d..02c026b88c 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -65,9 +65,17 @@
;;; Images definitions.
;;;
+;; This is the offset before the first partition. GRUB will install itself in
+;; this post-MBR gap.
+(define root-offset (* 512 2048))
+
+;; Generic root partition label.
+(define root-label "Guix_image")
+
(define esp-partition
(partition
(size (* 40 (expt 2 20)))
+ (offset root-offset)
(label "GNU-ESP") ;cosmetic only
;; Use "vfat" here since this property is used when mounting. The actual
;; FAT-ness is based on file system size (16 in this case).
@@ -78,7 +86,7 @@
(define root-partition
(partition
(size 'guess)
- (label "Guix_image")
+ (label root-label)
(file-system "ext4")
(flags '(boot))
(initializer (gexp initialize-root-partition))))