From: Phil Turmel <philip@turmel.org>
To: Eric.Valette@Free.fr
Cc: linux-kernel@vger.kernel.org
Subject: Re: Please add generic support for root=UUID= at kernel parameter command line (LABEL, BYID maybe also)
Date: Mon, 23 Aug 2010 17:56:31 -0400 [thread overview]
Message-ID: <4C72EE8F.3040708@turmel.org> (raw)
In-Reply-To: <4C728790.7050805@Free.fr>
(Adding cut CC... sorry about the duplicate)
Hi Eric,
On 08/23/2010 10:37 AM, Eric Valette wrote:
> Hi,
>
> I just bought an new external disk enclosure with e-sata/USB2 connector to replace an old USB2 only external disk enclosure.
>
> My internal drive is a small SSD because I use the small factor PC as a home theater and do want silence and fast boot. I build my own kernel to put only what I need in and also boot somehow faster.
>
> I use grub2 (up to date) as a loader. As soon as I power on the external sata disk, the system does not boot because hardware designer add the great idea to put the internal sata connector on ata3 whereas the external e-sata is wired on ata2.
>
> consequence is that root file system is on sda1 when no external drive is connected and sdb1 when the external drive is connected.
>
> As my grub setup was having a root=/dev/sda1 command line parameter and it was advertised everywhere that root=UUID=xxxxx was now supported, I changed the line to discover that this only work if an initramfs was loaded because support is done entirely in used space! Reading init/do_mounts.c made it very clear.
>
> I find it extremely curious to have to add an initramfs to support dynamic drive identification, especially when the BYID value is displayed during boot message.
>
> The boot loader cannot do a better job than the kernel and its life may be even worse as bios value for the same disk may change according to boot disk priorities.
>
> Any hint comment? Any other way to avoid using a ramdisk? Please CC me as I'm not subscribed.
Your only alternative is to set up your root partition as an mdraid volume (single-disk raid0 perhaps), mark it type 'fd' so the kernel can auto-assemble it, and specify "root=/dev/md1" (or whatever minor number you set it up as).
Of course, adding an mdraid shim in between your bare device and the filesystem can reduce performance and/or data integrity for no other gain, and slow booting by the time taken examining all partitions.
I actually set up the above once when the ide => libata change-over was pending, since I was determined to NOT use an initramfs. It worked, but I don't recommend it.
I recently converted all of my other auto-assembly mdraid systems to initramfs w/ the new dracut tool. Simple, flawless (for me), and fast.
HTH,
Phil
next prev parent reply other threads:[~2010-08-23 22:14 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 [this message]
2010-08-26 15:32 ` Eric Valette
2010-08-26 19:53 ` Phil Turmel
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=4C72EE8F.3040708@turmel.org \
--to=philip@turmel.org \
--cc=Eric.Valette@Free.fr \
--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