From: "Ludovic Courtès" <ludo@gnu.org>
To: bug-grub@gnu.org
Cc: 35283@debbugs.gnu.org
Subject: bug#35283: [PATCH] grub-mkrescue: Allow users to specify a FAT serial number
Date: Sun, 21 Apr 2019 18:32:21 +0200 [thread overview]
Message-ID: <871s1v720a.fsf_-___3693.3582670585$1555864401$gmane$org@gnu.org> (raw)
In-Reply-To: <11201672983044432889@scdbackup.webframe.org> (Thomas Schmitt's message of "Fri, 19 Apr 2019 14:46:48 +0200")
[-- Attachment #1: Type: text/plain, Size: 694 bytes --]
Hello,
While investigating reproducible ISO images for Guix¹, I found that
‘grub-mkrescue’ would invoke ’mformat’ without the ‘-N’ option.
Consequently, ‘mformat’ would pick a random serial number, thereby
making the ‘efi.img’ build process non-deterministic.
I came up with the gross hack attached: the ‘grub-mkrescue’ caller can
set the ‘GRUB_FAT_SERIAL_NUMBER’ environment variable, which
‘grub-mkrescue’ translates into a ‘-N’ flag for ‘mformat’.
We could perhaps achieve the same result differently, for instance by
adding an option to ‘grub-mkrescue’.
WDYT?
Thanks,
Ludo’.
¹ https://issues.guix.info/issue/35283
[-- Attachment #2: the patch --]
[-- Type: text/x-patch, Size: 1262 bytes --]
Change 'grub-mkrescue' to honor the 'GRUB_FAT_SERIAL_NUMBER'
environment variable. That way, the caller can specify a fixed
serial number (instead of the randomly chosen one) to create EFI
images (the 'efi.img' file) that are reproducible bit-for-bit.
Patch by Ludovic Courtès <ludo@gnu.org>.
--- grub-2.02/util/grub-mkrescue.c 2019-04-20 19:15:26.180242812 +0200
+++ grub-2.02/util/grub-mkrescue.c 2019-04-20 21:56:34.672370849 +0200
@@ -788,8 +788,15 @@ main (int argc, char *argv[])
efiimgfat = grub_util_path_concat (2, iso9660_dir, "efi.img");
int rv;
- rv = grub_util_exec ((const char * []) { "mformat", "-C", "-f", "2880", "-L", "16", "-i",
- efiimgfat, "::", NULL });
+
+ const char *fat_serial_number = getenv ("GRUB_FAT_SERIAL_NUMBER");
+ const char *mformat_args[] =
+ { "mformat", "-C", "-f", "2880", "-L", "16",
+ fat_serial_number != NULL ? "-N" : "-C",
+ fat_serial_number != NULL ? fat_serial_number : "-C",
+ "-i", efiimgfat, "::", NULL };
+
+ rv = grub_util_exec (mformat_args);
if (rv != 0)
grub_util_error ("`%s` invocation failed\n", "mformat");
rv = grub_util_exec ((const char * []) { "mcopy", "-s", "-i", efiimgfat, efidir_efi, "::/", NULL });
next prev parent reply other threads:[~2019-04-21 16:33 UTC|newest]
Thread overview: 128+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-06 0:02 bug#33639: ISO installer image is broken on i686 Ludovic Courtès
2018-12-06 7:19 ` Ludovic Courtès
2018-12-06 10:34 ` Ludovic Courtès
2018-12-06 14:08 ` Thomas Schmitt
2018-12-06 15:34 ` Ludovic Courtès
2018-12-06 16:59 ` Thomas Schmitt
2018-12-15 18:40 ` Thomas Schmitt
2018-12-15 19:24 ` Thomas Schmitt
2018-12-16 15:52 ` Ludovic Courtès
2018-12-16 16:52 ` Thomas Schmitt
2018-12-18 11:16 ` Ludovic Courtès
2018-12-18 21:45 ` Thomas Schmitt
2018-12-19 14:05 ` Ludovic Courtès
2018-12-19 14:51 ` Thomas Schmitt
2018-12-20 13:38 ` Thomas Schmitt
2018-12-21 20:44 ` Ludovic Courtès
2018-12-21 21:42 ` Thomas Schmitt
2019-04-07 20:18 ` pelzflorian (Florian Pelz)
2019-04-07 21:35 ` Thomas Schmitt
2019-04-08 8:50 ` Ludovic Courtès
2019-04-09 22:13 ` pelzflorian (Florian Pelz)
2019-04-10 11:17 ` Thomas Schmitt
2019-04-10 21:23 ` pelzflorian (Florian Pelz)
2019-04-12 21:26 ` Ludovic Courtès
2019-04-13 6:37 ` Thomas Schmitt
2019-04-13 13:46 ` pelzflorian (Florian Pelz)
2019-04-13 16:20 ` Thomas Schmitt
2019-04-14 21:43 ` Ludovic Courtès
2019-04-15 6:07 ` pelzflorian (Florian Pelz)
2019-04-15 8:16 ` Thomas Schmitt
2019-04-15 8:35 ` Thomas Schmitt
2019-04-19 11:40 ` bug#35283: ISO images are not reproducible Ludovic Courtès
2019-04-19 12:46 ` Thomas Schmitt
2019-04-20 22:57 ` Ludovic Courtès
2019-04-21 8:17 ` Thomas Schmitt
2019-04-21 16:42 ` Ludovic Courtès
2019-04-21 18:44 ` Thomas Schmitt
2019-04-20 23:03 ` bug#35283: [PATCH] mformat: initialize boot sector before writing it Ludovic Courtès
2019-04-21 16:32 ` Ludovic Courtès [this message]
2019-04-14 15:47 ` bug#33639: ISO installer image is broken on i686 Ludovic Courtès
2019-04-15 16:54 ` pelzflorian (Florian Pelz)
2019-04-15 17:55 ` Thomas Schmitt
2019-04-16 9:57 ` Gábor Boskovits
2019-04-16 9:57 ` Gábor Boskovits
2019-04-16 13:40 ` ISO installer image: GPT versus MBR partitions (was bug#33639) Thomas Schmitt
2019-04-16 16:32 ` pelzflorian (Florian Pelz)
2019-04-16 17:57 ` ISO installer image: GPT versus MBR partitions Thomas Schmitt
2019-04-16 19:55 ` pelzflorian (Florian Pelz)
2019-04-16 20:31 ` pelzflorian (Florian Pelz)
2019-04-16 21:15 ` Thomas Schmitt
2019-04-17 8:59 ` pelzflorian (Florian Pelz)
2019-04-17 10:23 ` Thomas Schmitt
2019-04-17 10:30 ` pelzflorian (Florian Pelz)
2019-04-17 15:51 ` Thomas Schmitt
2019-04-17 22:35 ` pelzflorian (Florian Pelz)
2019-04-18 6:32 ` Thomas Schmitt
2019-04-18 7:00 ` Thomas Schmitt
2019-04-18 7:07 ` pelzflorian (Florian Pelz)
2019-04-18 8:13 ` Thomas Schmitt
2019-04-18 12:19 ` pelzflorian (Florian Pelz)
2019-04-18 13:50 ` Thomas Schmitt
2019-04-18 21:28 ` Thomas Schmitt
2019-04-19 7:29 ` pelzflorian (Florian Pelz)
2019-04-19 8:03 ` pelzflorian (Florian Pelz)
2019-04-19 9:01 ` Thomas Schmitt
2019-04-19 9:39 ` pelzflorian (Florian Pelz)
2019-04-19 10:58 ` Thomas Schmitt
2019-04-19 14:57 ` pelzflorian (Florian Pelz)
2019-04-19 11:30 ` pelzflorian (Florian Pelz)
2019-04-19 18:33 ` pelzflorian (Florian Pelz)
2019-04-19 19:23 ` Thomas Schmitt
2019-04-20 10:26 ` pelzflorian (Florian Pelz)
2019-04-20 10:50 ` Thomas Schmitt
2019-04-20 11:16 ` Thomas Schmitt
2019-04-20 11:29 ` Thomas Schmitt
2019-04-20 14:23 ` Thomas Schmitt
2019-04-20 14:54 ` pelzflorian (Florian Pelz)
2019-04-20 15:17 ` pelzflorian (Florian Pelz)
2019-04-20 15:33 ` pelzflorian (Florian Pelz)
2019-04-20 16:32 ` Thomas Schmitt
2019-04-21 7:58 ` pelzflorian (Florian Pelz)
2019-04-21 9:35 ` Thomas Schmitt
2019-04-21 11:10 ` pelzflorian (Florian Pelz)
2019-04-21 11:16 ` Thomas Schmitt
2019-04-21 11:56 ` pelzflorian (Florian Pelz)
2019-04-21 12:27 ` Thomas Schmitt
2019-04-21 14:11 ` pelzflorian (Florian Pelz)
2019-04-21 14:36 ` Thomas Schmitt
2019-04-22 13:11 ` Thomas Schmitt
2019-04-23 16:40 ` pelzflorian (Florian Pelz)
2019-04-23 17:23 ` Thomas Schmitt
2019-04-17 12:24 ` Ludovic Courtès
2019-04-17 13:42 ` pelzflorian (Florian Pelz)
2019-04-23 18:14 ` Thomas Schmitt
2019-04-23 19:50 ` pelzflorian (Florian Pelz)
2019-04-23 20:18 ` Thomas Schmitt
2019-04-23 21:43 ` pelzflorian (Florian Pelz)
2019-04-24 6:56 ` Thomas Schmitt
2019-04-24 9:13 ` pelzflorian (Florian Pelz)
2019-04-24 10:34 ` Thomas Schmitt
2019-04-24 22:13 ` Danny Milosavljevic
2019-04-25 7:07 ` Thomas Schmitt
2019-04-25 9:45 ` pelzflorian (Florian Pelz)
2019-04-25 13:44 ` Thomas Schmitt
2019-04-25 14:59 ` Danny Milosavljevic
2019-04-25 16:22 ` Thomas Schmitt
2019-04-25 17:55 ` Danny Milosavljevic
2019-04-25 18:46 ` Thomas Schmitt
2019-04-25 19:01 ` Danny Milosavljevic
2019-04-25 16:34 ` Ludovic Courtès
2019-04-26 11:34 ` pelzflorian (Florian Pelz)
2019-04-26 14:41 ` Ludovic Courtès
2019-04-26 15:30 ` pelzflorian (Florian Pelz)
2019-04-26 13:57 ` Thomas Schmitt
2019-04-27 13:20 ` Ludovic Courtès
2019-04-27 16:24 ` Thomas Schmitt
2019-04-28 12:53 ` Ludovic Courtès
2019-04-25 11:49 ` pelzflorian (Florian Pelz)
2019-04-25 15:09 ` Thomas Schmitt
2019-04-25 15:58 ` pelzflorian (Florian Pelz)
2019-04-25 16:40 ` Thomas Schmitt
2019-04-16 21:01 ` bug#33639: ISO installer image is broken on i686 Ludovic Courtès
2019-04-17 9:03 ` pelzflorian (Florian Pelz)
2018-12-06 16:28 ` Ludovic Courtès
2018-12-06 17:29 ` Thomas Schmitt
2018-12-07 22:51 ` Ludovic Courtès
2018-12-08 12:42 ` Thomas Schmitt
2018-12-06 9:35 ` swedebugia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='871s1v720a.fsf_-___3693.3582670585$1555864401$gmane$org@gnu.org' \
--to=ludo@gnu.org \
--cc=35283@debbugs.gnu.org \
--cc=bug-grub@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.