mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-12 14:16:55 -05:00
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.
This commit is contained in:
parent
f38e91a84c
commit
c009c286a2
3 changed files with 14 additions and 8 deletions
|
@ -170,8 +170,7 @@ (define-record-type* <image>
|
|||
(size image-size ;size in bytes as integer
|
||||
(default 'guess)
|
||||
(sanitize validate-size))
|
||||
(operating-system image-operating-system ;<operating-system>
|
||||
(default #f))
|
||||
(operating-system image-operating-system) ;<operating-system>
|
||||
(partition-table-type image-partition-table-type ; 'mbr or 'gpt
|
||||
(default 'mbr)
|
||||
(sanitize validate-partition-table-type))
|
||||
|
|
|
@ -65,6 +65,7 @@ (define-module (gnu system image)
|
|||
#:use-module (ice-9 match)
|
||||
#:export (root-offset
|
||||
root-label
|
||||
image-without-os
|
||||
|
||||
esp-partition
|
||||
esp32-partition
|
||||
|
@ -102,6 +103,12 @@ (define root-offset (* 512 2048))
|
|||
;; 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 @@ (define root-partition
|
|||
(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 @@ (define iso9660-image
|
|||
(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
|
||||
|
|
|
@ -74,7 +74,7 @@ (define hurd-initialize-root-partition
|
|||
#:wal-mode? #f)))))
|
||||
|
||||
(define hurd-disk-image
|
||||
(image
|
||||
(image-without-os
|
||||
(format 'disk-image)
|
||||
(platform hurd)
|
||||
(partitions
|
||||
|
|
Loading…
Reference in a new issue