Is this an initrd or initramfs (aka, cpio.gz) image?
If it is initrd, you should have a /linuxrc script to initialize the
system. For grub, you will need:
kernel /vmlinuz root=/dev/ram0 init=/linuxrc
initrd=/rootfs.gz
Then your linuxrc script must *not* exit. It will probably need to call
/sbin/init with something like:
exec /sbin/init $@
In your case, /linuxrc probably doesn't need to do much of anything else.
If it is initrams, then you just need to create a /init script and place
the same "exec /sbin/init..." inside it. You do not need the init=
option for the kernel in the grub configuration.
For some more info, take a look at
/usr/src/linux/Documentation/early-userspace/README
HTH
-Richard
Ognjen Bezanov wrote:
Hi all,
Im building an x86 embedded distro using gentoo. Now i have been rather
successful. I have built the whole system and it works, while only
taking up 9mb (when gzipped).
Now my question is how to get linux to load the gzipped image file into
a ramdisk and use it as a root filesystem.
Running the system directly from the CF card works great, but when
trying to get it to run it in ram it fails
with "kernel panic: VFS: Unable to mount root fs on unknown-block(1,0)".
My attempt at running the system from ram is as follows:
(grub config file):
kernel /vmlinuz initrd=/rootfs.gz root=/dev/ram0
the rootfs.gz file is ~10Mb, and when uncompressed is an 100mb image
(most of the image is free space to
allow for future additions, this is a test bed).
Now I presume this is probably what is incorrect, in which case can
anyone help me regarding how to use
ramdisks as root devices. (googling about tells me that the initrd image
is not the root image, but rather
a pre-root mounting fs to prepare the system for booting).
P.S Please CC me as this mailinglist doesnt play nice with my email
account. thanks!
--
gentoo-user@gentoo.org mailing list