siddh_c wrote:
> I left it blank because I think the kernel will pickup
> usr/initramfs_data.cpio.gz if CONFIG_INITRAMFS_SOURCE is left to a
> NULL string ?
I think that's a case of DWIMNWIS (Do What I Mean Not What I Say). You
actually do need to _specify_ the location of the initramfs directory.
> - Does your initramfs dir have an execuable called /init in the top
> level directory of the rootfs ? Do you give any parameter to the
> kernel like init= ?
If you have the init binary, it should generally be the one provided by
inittools or busybox, which will run a getty on the first serial port
and also setup the proper getty's for tty devices. Specifically with
busybox, this program can be called either /linuxrc or /init. Both do
the exact same thing (i think?).
If you have no interest in even having a userspace, you could always
pass init= the full path to a statically linked binary (try this with a
statically linked 'hello world' app)
Otherwise, during debugging I usually specify init=/sbin/myinit (a shell
script that mounts /proc /sys, etc, and then at the end runs exec
/bin/sh). Note, that if you specify an initramfs source dir, then the
program given to init should exist in the initramfs dir.
When you're done debugging, you should definitely be using the /init as
provided by inittools or busybox though.
> - Did you handcraft the initramfs image or is there a place where I
> can get one prebuilt for arm ?
The initramfs image is very easy to build, the most typical thing to do
is build busybox right in, and do a 'make modules_install
INSTALL_MOD_PATH=$PWD/usr/initramfs' in order to copy all of the
necessary modules to the initramfs image. This is done to initialize the
system to a steady state before the 'real' rootfs is mounted with
pivot_root.
There are some really good articles about initramfs at linuxdevices.com.
Cheers,
~/Chris
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|