guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/07: vm: Use a fixed FAT serial number for 'efi.img' in ISO images.


From: guix-commits
Subject: 05/07: vm: Use a fixed FAT serial number for 'efi.img' in ISO images.
Date: Sat, 20 Apr 2019 18:52:28 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 605815023cd21becc0156916f4ce08950b4459e5
Author: Ludovic Courtès <address@hidden>
Date:   Sun Apr 21 00:16:57 2019 +0200

    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.
---
 gnu/build/vm.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index a63a5d2..f295362 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]