All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrei Borzenkov <arvidjaar@gmail.com>
To: Chris Murphy <lists@colorremedies.com>
Cc: The development of GNU GRUB <grub-devel@gnu.org>
Subject: Re: workaround install boot on btrfs with windows partition scheme
Date: Tue, 4 Nov 2014 08:50:10 +0300	[thread overview]
Message-ID: <20141104085010.20a1a04a@opensuse.site> (raw)
In-Reply-To: <783F70DC-0992-4337-859B-82963BB48838@colorremedies.com>

В Mon, 3 Nov 2014 14:05:24 -0700
Chris Murphy <lists@colorremedies.com> пишет:

> 
> On Nov 3, 2014, at 1:29 PM, Andrei Borzenkov <arvidjaar@gmail.com> wrote:
> 
> > В Mon, 3 Nov 2014 12:36:24 -0700
> > Chris Murphy <lists@colorremedies.com> пишет:
> > 
> >> 
> >> On Nov 2, 2014, at 10:36 PM, Andrei Borzenkov <arvidjaar@gmail.com> wrote:
> >> 
> >>> В Sun, 2 Nov 2014 15:19:43 -0700
> >>> Chris Murphy <lists@colorremedies.com> пишет:
> >>> 
> >>>> 
> >>>> On Nov 1, 2014, at 11:37 PM, Andrei Borzenkov <arvidjaar@gmail.com> wrote:
> >>>>> 
> >>>>> So far nobody suggested solution for grubenv on unwritable location.
> >>>>> Not to mention implementation …
> >>>> 
> >>>> Put grubenv on 0xEA/BIOSboot as well. 
> >>> 
> >>> Please provide scheme how grub can reliably identify which of multiple
> >>> grub partitions on multiple disks is *the* partition where grubenv is
> >>> located. 
> >> 
> >> Why would the policy be any different than it is now? This isn't a new problem, we already have multiple MBR gaps and hence multiple core.img instances.
> > 
> > Exactly. We have multiple core.img but single location for grub state
> > and configuration information. It does not matter which core.img is
> > loaded as long as they all refer to the same /boot/grub.
> 
> Which is fragile, BTW, because if Linux /boot becomes corrupt, now I don't even get a GRUB menu and can't boot any other OS on the same system, e.g. Windows or a 2nd Linux instance. GRUB as installed to a device should be completely self contained, it means fewer single points of failure.

It is self contained if you treat /boot/grub as bootloader partition.
You are free to create separate filesystem for it and keep it unmounted
by default.

> 
> 
> > How can
> > multiple core.img refer to the same 0xEA partition to be sure they read
> > (and write!) the same grubenv?
> 
> There's no assurance they do this now. Multiple core.img can have multiple roots on multiple devices, so each may point to different grubenv anyway. We can't be sure they all point to the same grubenv in any case.
> 
> HOWEVER, I understand the confusion, it's my fault. 0xEA proposed by Bootloaderspec is FAT32 to be used for Linux /boot and shared. That has all sorts of problems that aren't relevant in this thread, but it's not the equivalent of BIOSboot on GPT, which is an unformatted partition.
> 
> I'm suggesting an MBR partition type, equivalent to the BIOSboot partition, for embedding core.img instead of the MBR gap, so that there is always a reliable location for GRUB. If devs want it FAT32 like on UEFI, fine. If you want it unformatted like BIOSboot, fine. I have nothing to say about that. I just want to see the primary use case for installing GRUB on MBR partition drives to actually be the primary use case, rather than seemingly always having to fallback on special cases.
> 
> For example on Fedora, since the installer change, they no longer use grub-install --force to install GRUB to ext4 /boot and this has really made a lot of users angry and most of them refuse to learn how to install it manually instead they claim to have moved to different distributions that still use --force by default. 
> 
> For example, opensuse's GUI installer still uses --force by default, which by definition is a special case. Their *default* most common case, is now using a workflow explicitly not recommended by GRUB upstream. And the reason why is because the simple case, installing to MBR gap, is unreliable. It has been for a very long time.
> 
> 
> 
> > 
> >> There is no real change other than explicitly defining a suitably
> > sized partition for GRUB's things to go in, rather than depending on
> > an unreliable location, i.e. the MBR gap which often is either too
> > small or could just as likely be used by something else since it's not
> > reserved space for anyone.
> >> 
> >>> 
> >>> And it still should work when embedding bootloader in partition. Both
> >>> with and without blocklists.
> >> 
> >> I'm not asking for any one else's workflow to become broken. I'm saying the primary workflow should be, primary, as in, consistent regardless of the file system used.
> > 
> > Please explain how grub should know when to access /boot/grub/grubenv
> > and when to access 0xEA partition.
> 
> Move core.img+grubenv+grub.cfg to the same partition. Do this for UEFI's ESP, and BIOSBoot, and a suitable explicit partition as replacement for MBR gap.
> 

How do you edit grub.cfg which is now in raw partition?

> This is also easier to replicate across multiple disks, for raid1/5/6 booting.
> 

Which of replica across multiple disks holds *the* authoritative copy
of grubenv and grub.cfg?

> 
> Chris Murphy
> 



  reply	other threads:[~2014-11-04  5:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-30  8:32 workaround install boot on btrfs with windows partition scheme Michael Chang
2014-10-30 12:42 ` Andrei Borzenkov
2014-11-02  1:34   ` Chris Murphy
2014-11-02  5:37     ` Andrei Borzenkov
2014-11-02 22:19       ` Chris Murphy
2014-11-03  5:36         ` Andrei Borzenkov
2014-11-03 19:36           ` Chris Murphy
2014-11-03 20:29             ` Andrei Borzenkov
2014-11-03 21:05               ` Chris Murphy
2014-11-04  5:50                 ` Andrei Borzenkov [this message]
2014-11-04  6:46                   ` Chris Murphy
2014-11-03  4:17   ` Michael Chang
2014-11-03 20:04     ` Chris Murphy
2014-11-04  4:50       ` Michael Chang
2014-11-04 18:21         ` Chris Murphy
2014-11-01 20:35 ` Chris Murphy
2014-11-02  5:27   ` Andrei Borzenkov
2014-11-02 22:11     ` Chris Murphy
2014-11-03  5:31       ` Andrei Borzenkov
2014-11-03 19:08         ` Chris Murphy

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=20141104085010.20a1a04a@opensuse.site \
    --to=arvidjaar@gmail.com \
    --cc=grub-devel@gnu.org \
    --cc=lists@colorremedies.com \
    /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 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.