This enables an early failure; for i386-ieee1275 and powerpc-ieee1275 on Linux, without /dev/nvram the system may be left in an unbootable state.
Signed-off-by: Ismael Luceno <iluc...@suse.de> --- util/grub-install.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/util/grub-install.c b/util/grub-install.c index 7b04bd3c534b..da50bd58b73b 100644 --- a/util/grub-install.c +++ b/util/grub-install.c @@ -827,6 +827,16 @@ fill_core_services (const char *core_services) free (sysv_plist); } +static void +try_open (const char *path) +{ + FILE *f; + f = grub_util_fopen (path, "r+"); + if (!f) + grub_util_error (_("Unable to open %s: %s"), path, strerror(errno)); + fclose (f); +} + int main (int argc, char *argv[]) { @@ -1026,6 +1036,20 @@ main (int argc, char *argv[]) break; } + switch (platform) + { + case GRUB_INSTALL_PLATFORM_I386_IEEE1275: + case GRUB_INSTALL_PLATFORM_POWERPC_IEEE1275: +#ifdef __linux__ + /* On Linux, ensure /dev/nvram is _functional_. */ + if (update_nvram) + try_open ("/dev/nvram"); +#endif + break; + default: + break; + } + /* Find the EFI System Partition. */ if (is_efi) -- 2.37.3 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel