1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-20 16:15:54 +02:00

image: Introduce the mbr-hybrid-raw image type.

Until 209204e23b and
d57cab7641, the default image type used by "guix
system image" was an MBR image with an ESP partition.

Having both an MBR image and an ESP partition is handy because the image will
boot on most x86 based systems using legacy BIOS and/or UEFI.

We now have a distinction between MBR images and EFI images. Introduce a new
MBR hybrid image type and default to it to restore the default behaviour.

This also fixes the images section of (gnu ci) that was trying to install a
BIOS bootloader on an EFI, GPT image and failing to do so.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This commit is contained in:
Mathieu Othacehe
2023-09-09 17:57:25 +02:00
parent 00a1ee15cd
commit e5ed1712da
4 changed files with 43 additions and 9 deletions
+14
View File
@@ -77,6 +77,7 @@
root-partition
mbr-disk-image
mbr-hybrid-disk-image
efi-disk-image
iso9660-image
docker-image
@@ -86,6 +87,7 @@
image-with-os
mbr-raw-image-type
mbr-hybrid-raw-image-type
efi-raw-image-type
efi32-raw-image-type
qcow2-image-type
@@ -156,6 +158,13 @@ parent image record."
(inherit root-partition)
(offset root-offset))))))
(define mbr-hybrid-disk-image
(image-without-os
(format 'disk-image)
(partition-table-type 'mbr)
(partitions
(list esp-partition root-partition))))
(define efi-disk-image
(image-without-os
(format 'disk-image)
@@ -217,6 +226,11 @@ set to the given OS."
(name 'mbr-raw)
(constructor (cut image-with-os mbr-disk-image <>))))
(define mbr-hybrid-raw-image-type
(image-type
(name 'mbr-hybrid-raw)
(constructor (cut image-with-os mbr-hybrid-disk-image <>))))
(define efi-raw-image-type
(image-type
(name 'efi-raw)