grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] use UUIDs for cross-disk installs (Re: Issue with boot != root a


From: Robert Millan
Subject: [PATCH] use UUIDs for cross-disk installs (Re: Issue with boot != root and chainloading)
Date: Sat, 26 Jul 2008 00:10:50 +0200
User-agent: Mutt/1.5.13 (2006-08-11)

On Fri, Jul 25, 2008 at 05:47:00PM -0400, Pavel Roskin wrote:
> On Fri, 2008-07-25 at 23:08 +0200, Robert Millan wrote:
> > On Thu, Jul 24, 2008 at 12:49:05PM -0400, Pavel Roskin wrote:
> > > 
> > > As I said, GRUB uses its internal ID instead of BIOS ID.  We need to fix
> > > it.
> > 
> > Why not just remove that logic and use UUIDs instead?  It would also 
> > simplify
> > the code both in grub-setup and in kernel, maybe even make it smaller.
> 
> I have no objections to that plan.  We'll need UUID search functionality
> on core.img.  I understand you implemented it already.  Is it committed?

Yes.  There's a virtual disk in fs_uuid.mod which can be optionaly loaded in.

> Where should we put the root UUID in core.img?

In grub_prefix.  It already supports this, since it was needed for root-in-LVM
setups.

See attached patch.  I'm afraid it doesn't make kernel smaller as promised;
I expected to get rid of make_install_device() in kernel, but later noticed
that this is still needed for non-cross installs.

2008-07-26  Robert Millan  <address@hidden>

        * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
        Increase from 0x50 to 0x60.
        * util/i386/pc/grub-install.in: Detect cross-disk installs, and
        use UUIDs to identify the root drive for them.  If that's not
        possible, abort.
        * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
        check, for cross-disk installs.

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)

Attachment: uuid_boot.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]