Hi,
It seems a lot of initrd images expect to find the final root
filesystem device in the root= boot parameter while
Documentation/initrd.txt states root should be set to /dev/ram0.
I'm not sure, but it seems this patch introduced in 2.6.11-rc1
<[email protected]>
[PATCH] init/initramfs.c: make unpack_to_rootfs static
made root=/dev/ram0 mandatory. And initrd images that expect people to
set their root boot parameter to the final device don't work anymore.
It seems logical to me, as Documentation/kernel-parameters states
ro, rw, root, rootflags, rootdelay and rootfstype are kernel start-up
parameters. And in the case of using a loaded-into-dev-ram0 initrd
those parameters apply to /dev/ram0.
It's the initrd's job to define new parameters it will use to mount
the final root filesystem with. (for ex: pivot_root=, pivot_root_rw,
pivot_root_ro, pivot_root_flags, pivot_root_fstype and possibly
pivot_root_delay)
(for sure i'm not considering the old deprecated root_change method
nor devfs)
Is it correct ?
I'd like to hear maintainers' opinions about it.
>From Documentation/initrd.txt:
<quote>
Finally, you have to boot the kernel and load initrd. Almost all Linux
boot loaders support initrd. Since the boot process is still compatible
with an older mechanism, the following boot command line parameters
have to be given:
root=/dev/ram0 init=/linuxrc rw
</quote>
How should this be read ? I guess it has to be updated so that it's
now mandatory to use root=/dev/ram0. Isn't it ?
I might be totally wrong.
At least i'm pretty sure some clarifications will help.
TIA.
--