From d57cab764122af69d52d8cc9c843456044e5d7bc Mon Sep 17 00:00:00 2001 From: Josselin Poiret Date: Thu, 27 Jul 2023 18:28:18 +0200 Subject: image: Add mbr-raw-image-type and use by default. * gnu/system/image.scm (mbr-disk-image, mbr-raw-image-type): New variables. (qcow2-image-type): Inherit mbr-disk-image. * guix/scripts/system.scm (%default-options): Use mbr-raw-image-type by default. * gnu/tests/install.scm (run-install): Use mbr-raw in the tests. * doc/guix-cookbook.texi (Guix System Image API): Update the list of image types. * doc/guix.texi (Invoking guix system, System Images, image-type Reference): Add mbr-raw and switch documented default to it. --- gnu/system/image.scm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'gnu/system/image.scm') diff --git a/gnu/system/image.scm b/gnu/system/image.scm index 841e7e0c7e..5b8da2f896 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -76,6 +76,7 @@ (define-module (gnu system image) esp32-partition root-partition + mbr-disk-image efi-disk-image iso9660-image docker-image @@ -84,6 +85,7 @@ (define-module (gnu system image) raw-with-offset-disk-image image-with-os + mbr-raw-image-type efi-raw-image-type efi32-raw-image-type qcow2-image-type @@ -145,6 +147,15 @@ (define root-partition (flags '(boot)) (initializer (gexp initialize-root-partition)))) +(define mbr-disk-image + (image-without-os + (format 'disk-image) + (partition-table-type 'mbr) + (partitions + (list (partition + (inherit root-partition) + (offset root-offset)))))) + (define efi-disk-image (image-without-os (format 'disk-image) @@ -201,6 +212,11 @@ (define-syntax-rule (image-with-os base-image os) (inherit base-image) (operating-system os))) +(define mbr-raw-image-type + (image-type + (name 'mbr-raw) + (constructor (cut image-with-os mbr-disk-image <>)))) + (define efi-raw-image-type (image-type (name 'efi-raw) @@ -216,8 +232,7 @@ (define qcow2-image-type (name 'qcow2) (constructor (cut image-with-os (image - (inherit efi-disk-image) - (partition-table-type 'mbr) + (inherit mbr-disk-image) (name 'image.qcow2) (format 'compressed-qcow2)) <>)))) -- cgit v1.2.3