public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Phil Turmel <philip@turmel.org>
To: Eric.Valette@Free.fr
Cc: linux-kernel@vger.kernel.org, Florian Mickler <florian@mickler.org>
Subject: Re: Please add generic support for root=UUID= at kernel parameter command line (LABEL, BYID maybe also)
Date: Thu, 26 Aug 2010 15:53:37 -0400	[thread overview]
Message-ID: <4C76C641.30901@turmel.org> (raw)
In-Reply-To: <4C768919.30104@Free.fr>

Hi Eric,

On 08/26/2010 11:32 AM, Eric Valette wrote:
> I found a solution myself using the grub embedded "search --fs-uuid". I do it once the linux boot partition and also on one partition of the external disk. If the search on the external disk report an error, I know root=/dev/sda1 else root=/dev/sdb1. But I really think this should be linux job!

Although this works now, there's no guarantee this will continue to work.  What if you plug in an eSATA enclosure that has a port multiplier and two disks?  I think you'll find your root device on /dev/sdc1.  Or maybe someday a robust scheme for simultaneous probing will be adopted (for faster booting, presumably), and the order will vary from boot to boot.

> I also converted my /etc/fstab to LABEL=foo /foo syntax.

That's good.

> Now I'm really puzzled grub2 as a "search by fs uuid" command that linux is unable to deliver for the root device!

The key word here is "unable".  The maintainers aren't *unable* to do this.  They are *unwilling* to do this.  I don't recall the precise discussion, but basically it boils down to the fact that early userspace (aka initramfs) can do this efficiently, and it needs to be supported in initramfs for other reasons, so it is pointless to duplicate this code in the kernel.  I'm sure block folk will chime in if this isn't a fair representation (my apologies in advance if so).

Try dracut.  Seriously.  It's lean and mean just for this use-case, and you'll be protecting yourself against future changes in the block layer.  And you can put root=LABEL=foo on your kernel command line to match your fstab.

Usage (from your kernel source dir):

$ make
$ make modules
# make modules_install
# make install
# dracut [-v] [-f] '' `make kernelrelease`

HTH,

Phil

  reply	other threads:[~2010-08-26 19:53 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-23 14:37 Please add generic support for root=UUID= at kernel parameter command line (LABEL, BYID maybe also) Eric Valette
2010-08-23 21:56 ` Phil Turmel
2010-08-26 15:32   ` Eric Valette
2010-08-26 19:53     ` Phil Turmel [this message]
2010-08-27 11:59       ` Eric Valette
2010-08-27 16:37         ` Matthias Schniedermeyer
2010-08-27 19:09           ` Eric Valette
  -- strict thread matches above, loose matches on Subject: below --
2010-08-23 14:10 Eric Valette
2010-08-23 20:05 ` Florian Mickler
2010-08-23 20:11   ` H. Peter Anvin
2010-08-24 10:06     ` Florian Mickler
2010-08-24  8:19   ` Eric Valette

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=4C76C641.30901@turmel.org \
    --to=philip@turmel.org \
    --cc=Eric.Valette@Free.fr \
    --cc=florian@mickler.org \
    --cc=linux-kernel@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox