Chances are that if you need the
native-sector-addressing-with-512-bytes-lengths feature, you will also
need grub to autodetect the native sector size later on.
---
 util/grub-install.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/util/grub-install.c b/util/grub-install.c
index 57ef3ef33..89e80907c 100644
--- a/util/grub-install.c
+++ b/util/grub-install.c
@@ -1362,6 +1362,32 @@ main (int argc, char *argv[])
       fprintf (load_cfg_f, "set debug='%s'\n",
              debug_image);
     }
+
+  if (emu_512b)
+    {
+      switch (platform)
+       {
+         case GRUB_INSTALL_PLATFORM_I386_PC:
+           if (!load_cfg_f)
+             {
+               load_cfg_f = grub_util_fopen (load_cfg, "wb");
+             }
+           have_load_cfg = 1;
+           /*
+            * Exporting this variable would be nice, but the export command
+            * is not part of the rescue shell, so that won't work.
+            */
+           fprintf (load_cfg_f,
+                    "set biosdisk_autodetect_sector_size='1'\n");
+           break;
+         default:
+           grub_util_error ("%s", _("native-sector-addressing with "
+                                    "512-bytes length emulation is not "
+                                    "supported on your platform"));
+           break;
+       }
+    }
+
   char *prefix_drive = NULL;
   char *install_drive = NULL;
 
-- 
2.25.1


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to