nash, initrd, cpio...

Luciano Miguel Ferreira Rocha strange at nsk.no-ip.org
Thu Feb 24 21:01:33 UTC 2005


On Thu, Feb 24, 2005 at 02:37:54PM +0100, Gildas Bayard wrote:
> Ok. Now I clearly see the advantages of using cpio instead of an ext2
> filesystem.
> 
> It seems like when initrd is a cpio archive then "init" is executed
> instead of "linuxrc". So I converted my FC3 initrd cpio archive into an
> ext2 (just to test, I understand I should switch to the cpio way). I
> changed "init" into "linuxrc" and though it would do it.
> But it did not.
> The ext2 (linuxrc) version jumps to the new root fs but init complains
> about missing parameter (runlevel) and quits.
> Do you know what's happening?

Yes. You're exec'ing the new init with pid != 1. In initrds, the linuxrc
doesn't run as init. You may have the effect you want booting the kernel
with init=/linuxrc root=/dev/ram0

Also, the state of the kernel when running the cpio's init is very
different than when running initrd's linuxrc/init.

http://www.ubuntulinux.org/wiki/Initramfs and
Documentation/early-userspace have more information about initramfs (the
new process).

> 	echo 0x0100 > /proc/sys/kernel/real-root-dev
> 	pivot_root /sysroot /sysroot/initrd
> It now works fine but I don't really understand why...
> I'm booting on usual /dev/hda# so why should I report the kernel that
> the real-root-dev is 0x0100 (which corresponds to the first ram disk)?

Because you've already mounted the root partition. Why 0x0100 is
special, in that the kernel uses the current root partition, I don't
know.

Regards,
Luciano Rocha




More information about the fedora-devel-list mailing list