From 605815023cd21becc0156916f4ce08950b4459e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 21 Apr 2019 00:16:57 +0200 Subject: [PATCH] vm: Use a fixed FAT serial number for 'efi.img' in ISO images. Partly fixes . * gnu/build/vm.scm (make-iso9660-image): Set the 'GRUB_FAT_SERIAL_NUMBER' environment variable. --- gnu/build/vm.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index a63a5d2eea..f2953621ec 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -468,6 +468,16 @@ GRUB configuration and OS-DRV as the stuff in it." (time-second (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 (apply open-pipe* OPEN_WRITE grub-mkrescue "-o" target