grub-devel
[Top][All Lists]
Advanced

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

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


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

On Sun, Jul 27, 2008 at 12:29:43PM -0400, Pavel Roskin wrote:
> On Sun, 2008-07-27 at 14:19 +0200, Robert Millan wrote:
> 
> > > We could also use UUID for single-drive installs and fallback to the
> > > partition prefix only if UUID is unsupported or the user requests not to
> > > use UUID.  Then it won't be a big deal if we hardcode the drive.
> > 
> > Based on the rest of your mail I assume the goal you're pursuing here is
> > deleting make_install_device().  The problem I see is that if you fallback
> > when UUIDs are unsupported, you still need to have the code to handle the
> > fallback case, even if it's rarely used.
> 
> You are right, I'm thinking how to get rid of make_install_device().  It
> looks wrong to me that we are converting binary data to text, which will
> be parsed back to the binary data.  If we want to keep the GRUB core
> aware of the textual device names, we should try to avoid the
> binary-to-text conversion.
> 
> But it turns out that the binary format can represent something that the
> text format cannot, namely "partition N on the current drive".  I think
> it's an omission, since we have representation for files on the current
> partition (the drive and partition part is omitted).

Perhaps we are over-engineering a bit here.  In the long run, maybe it makes
more sense to always use UUIDs and drop the make_install_device() complexity.

This is AFAICS the only way we can use our own disk drivers.  If we were to
use e.g. ata.mod in the core image, we'd have no way to tell what BIOS (or
EFI, or Coreboot [1]) means by "disk 1".

[1] but of course, Coreboot doesn't even bother about disks.  The Coreboot
    use case is interesting though, because using your own driver is the only
    option.

> I'm thinking of implementing grub-install for PowerPC.

Did you notice util/ieee1275/grub-install.in?  :-)

> It should work
> like yaboot because that's what it will likely replace.

I'm not satisfied with the current user interface of that script, but I
couldn't think of any better way to do it back then.  If you can improve
it that'd be much welcome.

Btw, I'm currently working on adding --prefix / uuid support to our
ieee1275 ports.  I'll send a patch RSN.

> > OTOH, since UUIDs are supported in all major FSs we have, I don't think
> > it'd be such a big deal if we abort the install when they can't be probed.
> > 
> > But then, this would need to be carefuly discussed IMHO, as it's a more
> > radical change.
> 
> I'm also concerned that UUID may not be unique.  For instance, a disk
> was cloned, and a filesystem of the clone was modified without changing
> the UUID.

I think in the long term the solution to that is that cloning software
becomes UUID-aware and picks the right option between generating or copying
the UUIDs (of course, the right option could just be what the user says!
but this is outside of our scope ;-)).

-- 
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 /.)




reply via email to

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