vm: Use a fixed FAT serial number for 'efi.img' in ISO images.
Partly fixes <https://bugs.gnu.org/35283>. * gnu/build/vm.scm (make-iso9660-image): Set the 'GRUB_FAT_SERIAL_NUMBER' environment variable.
This commit is contained in:
parent
52b5fe5bcf
commit
605815023c
|
@ -468,6 +468,16 @@ GRUB configuration and OS-DRV as the stuff in it."
|
||||||
(time-second
|
(time-second
|
||||||
(date->time-utc (make-date 0 0 0 0 1 1 1980 0)))))
|
(date->time-utc (make-date 0 0 0 0 1 1 1980 0)))))
|
||||||
|
|
||||||
|
;; Our patched 'grub-mkrescue' honors this environment variable and passes
|
||||||
|
;; it to 'mformat', which makes it the serial number of 'efi.img'. This
|
||||||
|
;; allows for deterministic builds.
|
||||||
|
(setenv "GRUB_FAT_SERIAL_NUMBER"
|
||||||
|
(number->string (if volume-uuid
|
||||||
|
(string-hash (iso9660-uuid->string volume-uuid)
|
||||||
|
(expt 2 32))
|
||||||
|
#x77777777)
|
||||||
|
16))
|
||||||
|
|
||||||
(let ((pipe
|
(let ((pipe
|
||||||
(apply open-pipe* OPEN_WRITE
|
(apply open-pipe* OPEN_WRITE
|
||||||
grub-mkrescue "-o" target
|
grub-mkrescue "-o" target
|
||||||
|
|
Loading…
Reference in New Issue