diff options
author | Mathieu Othacehe <othacehe@gnu.org> | 2022-09-05 18:12:22 +0200 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2022-09-24 14:20:36 +0200 |
commit | c009c286a23f48b56731c3e7bc4875a9e88857c4 (patch) | |
tree | 4d54290b566a05db41c82cf51703e89c7fb8a099 /gnu/system/image.scm | |
parent | f38e91a84c7d5ca72ddfccdf0ed8a3f0917054c0 (diff) | |
download | guix-c009c286a23f48b56731c3e7bc4875a9e88857c4.tar guix-c009c286a23f48b56731c3e7bc4875a9e88857c4.tar.gz |
image: Make the operating-system field mandatory.
Make the operating-system field mandatory as creating an image without it
makes no sense. Introduce a new macro, image-without-os for the specific cases
where the image is only created to be inherited from afterwards.
* gnu/image.scm (<image>)[operating-system]: Make it mandatory.
* gnu/system/image.scm (image-without-os): New macro.
(efi-disk-image, efi32-disk-image, iso9660-image, docker-image,
raw-with-offset-disk-image): Use it.
* gnu/system/images/hurd.scm (hurd-disk-image): Ditto.
Diffstat (limited to 'gnu/system/image.scm')
-rw-r--r-- | gnu/system/image.scm | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/gnu/system/image.scm b/gnu/system/image.scm index a04363a130..c59b7eafd7 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -65,6 +65,7 @@ #:use-module (ice-9 match) #:export (root-offset root-label + image-without-os esp-partition esp32-partition @@ -102,6 +103,12 @@ ;; Generic root partition label. (define root-label "Guix_image") +(define-syntax-rule (image-without-os . fields) + "Return an image record with the mandatory operating-system field set to +#false. This is useful when creating an image record that will serve as a +parent image record." + (image (operating-system #false) . fields)) + (define esp-partition (partition (size (* 40 (expt 2 20))) @@ -127,17 +134,17 @@ (initializer (gexp initialize-root-partition)))) (define efi-disk-image - (image + (image-without-os (format 'disk-image) (partitions (list esp-partition root-partition)))) (define efi32-disk-image - (image + (image-without-os (format 'disk-image) (partitions (list esp32-partition root-partition)))) (define iso9660-image - (image + (image-without-os (format 'iso9660) (partitions (list (partition @@ -146,11 +153,11 @@ (flags '(boot))))))) (define docker-image - (image + (image-without-os (format 'docker))) (define* (raw-with-offset-disk-image #:optional (offset root-offset)) - (image + (image-without-os (format 'disk-image) (partitions (list (partition |