Problem with Initrd Images(cramfs) on embedded devices using busybox

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi all

I have made an initrd image for an embedded device. The image is packed with
mkcramfs to one big image and everything runs great like expected.
I can start X, fire up Firefox and so on. The image and Kernel
are flashed to a Compact Flash Card( 64 MB) which is formatted ext2,
and fires the system up by loading grub, and grub loads the kernel and
initrd image.

Then I have split up the big image in modules (root(busybox),X, icewm,
firefox ...). I did this cause I would like to be able to update the
modules on the fly, if e.g. a newer version / bug fix is released for the
specific module. So, I copied all the modules to to Compact Flash Card
and mounted them via loop during startup.

The system start up fine, and all the modules are mounted like expected.

Now the problem is, that when I want to start X, I get an Kernel oops.
I tried to strace the call, but even the strace will oops.
The only thing which is running is ash(the busybox default shell).

I am running Kernel 2.6.8.1 and busybox is latest released (1.0).
My next test would be to try a newer Kernel, but I am not that confident.
If anyone has an idea, plase let me know.


Thanks in advance and best regards.
Anes


Re: Problem with Initrd Images(cramfs) on embedded devices using busybox

Quoted text here. Click to load it
packed with
and
icewm,
the
Card

You are probably accessing the loop device before the IDE device and
file systems are loaded.  Make sure the IDE device and file system
drivers are build-in, not in modules.

...


Re: Problem with Initrd Images(cramfs) on embedded devices using busybox

Quoted text here. Click to load it

I don't think that's the problem. All those drivers are compiled in the
Kernel.

the startup looks kinda like this:

mount -n -t ext2 /dev/hda1 /mnt
mount -n -t cramfs -o loop /mnt/X11R6.img /usr/X11R6
mount -n -t cramfs -o loop /mnt/icewm.img /icewm
...
...
and so on.

I can see all the related files like /usr/X11R6/bin/XFree86 ..., which
indicates that mounting was successfull.

Starting one of these binaries gives a kernel oops.
Except for the busybox binariess like ash, mount ... in the root.img which
is
mounted during boot time via grub (kernel /path/to/my/kernel root=/dev/ram,
initrd /path/to/root.img).

Regards
Anes


Re: Problem with Initrd Images(cramfs) on embedded devices using busybox

Quoted text here. Click to load it

Well, tried 2.6.11.8 and it just worked.

Regards

Site Timeline