grub-devel
[Top][All Lists]
Advanced

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

Re: grub-probe, but in reverse?


From: Robert Millan
Subject: Re: grub-probe, but in reverse?
Date: Fri, 31 Jul 2009 18:15:12 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

On Fri, Jul 31, 2009 at 11:36:02AM +0100, Colin Watson wrote:
> On Wed, Jul 29, 2009 at 05:03:44PM -0400, Pavel Roskin wrote:
> > On Wed, 2009-07-29 at 19:35 +0100, Colin Watson wrote:
> > > $ sudo grub-probe -d /dev/sda1 -t drive
> > >   (hd0,1)
> > > 
> > > I have a reason to want to do the reverse of this: I have a
> > > libparted-based program that ensures that at least one partition on a
> > > disk is marked active (needed for some BIOSes), and would like to call
> > > it on the disk selected for installation of GRUB in d-i. Of course
> > > libparted is only going to understand OS device names. If possible I'd
> > > rather avoid reading device.map by hand to figure out how to map (hd0,1)
> > > back to /dev/sda1. Is there any way to do this with the code as it
> > > stands, and if not would it make sense to make it possible to pass GRUB
> > > device names to grub-probe?
> > 
> > I think device.map is fundamentally unreliable and should be obsoleted.
> > I don't know where you are getting the GRUB device names, but I suggest
> > that you use UUID instead.
> 
> They're entered by users choosing where to install GRUB, whom we can
> hardly expect to enter UUIDs by hand. Perhaps we can figure out how to
> give them a select list of available choices, which could then include
> UUIDs behind the scenes ...

Please don't use UUIDs for this.  UUIDs identify a dataset (filesystem), not
its container.  It's feasible for someone to install GRUB to a partition that
doesn't have any filesystem, for example.

Colin, in your specific problem, I think the best solution is to avoid using
GRUB drives entirely.  When in userland, they're meant for GRUB internal
consumption, and we don't make promises about them matching any given device
later on (when we run on BIOS).

Instead, just give a Linux device to grub-install.  E.g.:

  $ grub-install /dev/sda1

Does this work for you?

Alternatively, when using the Debian package you can just rely on its
recently-added grub-pc/install_devices template.  But I'm missing context
to your problem so I'm not sure if this helps.

-- 
Robert Millan

  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all."




reply via email to

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