grub / grub2 conflicts

Matthew Garrett mjg59 at srcf.ucam.org
Sat Sep 24 02:51:56 UTC 2011


On Fri, Sep 23, 2011 at 07:42:55PM -0400, Doug Ledford wrote:
> ----- Original Message -----
> > It's a bad design because it asserts something (grub versions are
> > compatible with each other) that isn't true (they're not).

> I've stated this once already, but since you glossed over it.  It does 
> not assert that grub versions are compatible, it asserts that the 
> stage1 boot loader and the console utility are able to work with 
> paired stage1.5 and stage2 loaders.  Code inspection of the stage1 
> loader showed this compatibility assumption to be correct, and 
> experience has shown the grub utility compatibility to be correct.

There is no guarantee that any given stage 1 is compatible with any 
given stage 1.5, and there is no guarantee that any given grub is 
compatible with any given stage 1.

> This is unlikely to change.  As Peter has said, grub is dead, there is 
> no upstream, other distros including Fedora are leaving it behind, so 
> it is more or less a static target at this point in time, and we 
> already have the experience based evidence that your fears are not 
> founded in reality.  Could there be incompatibilities?  Yes.  Are 
> there?  None found yet, and based upon code inspection, analysis of 
> the code in question, the fact that upstream has been dead for years 
> which tends to cause maintainers in distros to do the absolute bare 
> minimum to keep their distros booting and discourages wild code 
> changes that might destabilize things and introduce exactly the sort 
> of incompatibilities you are afraid of, it is a reasonable engineering 
> decision to decide to go with the existing code as it is and fix up 
> any future incompatibilities that might arise, if they ever even do.

We've done rather more than the bare minimum with grub. The delta 
between Fedora and the last upstream release is rather large. Some of 
those changes have been pretty wild.

> As such, it's *not* a bad design, it's an expedient design.  It 
> benefits from a certain amount of serendipity.  It would be much 
> riskier if grub were in active development.  But it's not, we got 
> lucky, it works as it is, so go with it.  There's absolutely no reason 
> not to, especially if Richard is willing to do as I suggested and just 
> throw a current grub utility into libguestfs and be done with it.

It may work. It may not. It may leave the system unbootable. You can't 
guarantee it, and you've been told that this is behaviour that you can't 
depend on. If you choose to do so then fine, but any bugs filed against 
grub are just going to be closed. You're trying to do something 
unsupported. Depending on unsupported and undefined behaviour is bad 
design.

-- 
Matthew Garrett | mjg59 at srcf.ucam.org


More information about the devel mailing list