Devicetree: Initialization order of mmc block devices?

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Thu Jul 19 04:07:32 EDT 2012


Le Wed, 18 Jul 2012 17:16:49 +0200,
Knut Wohlrab <knut.wohlrab at de.bosch.com> a écrit :

> No, because we have to know which will be the name of the root device 
> _before_ we start the kernel. In our embedded device we start the kernel 
> with a bootloader (U-Boot) and pass the root device with the kernel 
> command line parameter "root=/dev/mmcblk0p1". That is not possible if we 
> do not know what will be the name of the root device (mmcblk0 or 
> mmcblk1) when kernel try to mount it.

You can always work around this by having a minimal initramfs inside
your kernel, which contains a basic userspace environment that will
just locate the right location of the real root filesystem, mount it,
and switch to it. But I agree that it's a bit painful to have such a
complexity just to identify which device contains the root filesystem.

I also believe the root=UUID=... thing does not work when root= is
parsed by the kernel, unless you have a GPT partition table or
something like that. With the old-style partition table, the UUIDs are
inside the filesystems, and the kernel does not know about them. At
least that was my understanding of the matter about a year ago when I
looked into this.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com



More information about the linux-arm-kernel mailing list