Grub Development Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Mihai Moldovan <ionic@ionic.de>
To: The development of GNU GRUB <grub-devel@gnu.org>
Subject: [PATCH v2 4/7] grub-install: hook up --emu-512b to sector size autodetection in biosdisk
Date: Sun, 24 May 2020 14:25:14 +0200	[thread overview]
Message-ID: <20200524122517.5010-5-ionic@ionic.de> (raw)
In-Reply-To: <20200524122517.5010-1-ionic@ionic.de>

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 781ad3fc0..7aec83229 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



  parent reply	other threads:[~2020-05-24 12:25 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-24 12:25 [PATCH v2 0/7] support >512b sector disks with old/buggy firmware Mihai Moldovan
2020-05-24 12:25 ` [PATCH v2 1/7] biosdisk: autodetect hardware sector size (opt-in) Mihai Moldovan
2020-05-24 12:25 ` [PATCH v2 2/7] biosdisk: restore LBA mode after read/write failures Mihai Moldovan
2020-05-24 12:25 ` [PATCH v2 3/7] setup: add support for native sector addressing w/ 512-bytes lengths Mihai Moldovan
2020-05-24 12:25 ` Mihai Moldovan [this message]
2020-05-24 12:25 ` [PATCH v2 5/7] docs/grub: document --emu-512b install option Mihai Moldovan
2020-05-24 12:25 ` [PATCH v2 6/7] diskfilter: write out currently scanned partition Mihai Moldovan
2020-05-24 12:25 ` [PATCH v2 7/7] gpt: respect native sector size if set/detected Mihai Moldovan
2020-05-27  7:29 ` [PATCH v2 0/7] support >512b sector disks with old/buggy firmware Mihai Moldovan

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=20200524122517.5010-5-ionic@ionic.de \
    --to=ionic@ionic.de \
    --cc=grub-devel@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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox