SD card kernel panic

Paul
Hey,
I ve got an image working with OE and everything I need.
when I try to put it onto my mini2440 with ext2load from mmc card it hangs
or the mini resets.
So I've configured my system to boot the kernel from nand and the fs from
sd using a config I've used before.

SD partitioned to ext3 using fdisk ( gives me 1gb although it should be 2)

untar the OE image .tar.gz onto that

install the modules onto the sd card using 

sudo make INSTALL_MOD_PATH=/media/a75bd551-8910-46c9-a48d-527ca2365c3d/
modules_install

so everything should be there.
When I boot the kernel seems fine, then I get:

yaffs: dev is 187695105 name is "mmcblk0p1"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 179.1, "mmcblk0p1"
yaffs: dev is 187695105 name is "mmcblk0p1"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 179.1, "mmcblk0p1"
FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem
will be case sensitive!
List of all partitions:
1f00             256 mtdblock0 (driver?)
1f01             128 mtdblock1 (driver?)
1f02            5120 mtdblock2 (driver?)
1f03          125568 mtdblock3 (driver?)
1f04          131072 mtdblock4 (driver?)
b300         1931264 mmcblk0 driver: mmcblk
  b301          965325 mmcblk0p1
No filesystem could mount root, tried:  yaffs yaffs2 vfat
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(179,1)
Backtrace: 
[<c0035270>] (dump_backtrace+0x0/0x10c) from [<c0393d5c>]
(dump_stack+0x18/0x1c)
 r7:c39240cb r6:c0501e30 r5:c3924000 r4:c3823f40
[<c0393d44>] (dump_stack+0x0/0x1c) from [<c0393dac>] (panic+0x4c/0x134)
[<c0393d60>] (panic+0x0/0x134) from [<c0008efc>]
(mount_block_root+0x1d8/0x234)
 r3:c3823f40 r2:c3823f54 r1:c3823f40 r0:c04519b0
[<c0008d24>] (mount_block_root+0x0/0x234) from [<c0009008>]
(mount_root+0xb0/0xf4)
[<c0008f58>] (mount_root+0x0/0xf4) from [<c0009144>]
(prepare_namespace+0xf8/0x190)
 r7:c0501800 r6:c0021808 r5:c0021808 r4:c0021818
[<c000904c>] (prepare_namespace+0x0/0x190) from [<c00084c0>]
(kernel_init+0xf0/0x124)
 r7:00000000 r6:c001fe5c r5:c0020350 r4:c0020350
[<c00083d0>] (kernel_init+0x0/0x124) from [<c004d1a4>] (do_exit+0x0/0x62c)
 r7:00000000 r6:00000000 r5:00000000 r4:00000000

Anyone else had this problem?
Can you help please?
Thanks
Paul

Paul
Update:

I've put on the mini a working kernel and jffs2 and set it up to boot
correctly and it works. Bootargs are
 setenv bootargs 'noinitrd root=/dev/mtdblock3 rootfstype=jffs2 rw
console=ttySAC0,115200
ip=149.171.88.253:149.171.88.253:149.171.88.1:255.255.254.0 mini2440=3tb'

Works fine.

Now, I replace the kernel (2.6.32-rc7 from OE) with 2.6.32.2 from
FriendlyArm and I get:

[...]
VFS: Cannot open root device "mtdblock3" or unknown-block(31,3)
Please append a correct "root=" boot option; here are the available
partitions:
1f00             256 mtdblock0 (driver?)
1f01             128 mtdblock1 (driver?)
1f02            5120 mtdblock2 (driver?)
1f03          125568 mtdblock3 (driver?)
1f04          131072 mtdblock4 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(31,3)
Backtrace: 
[<c0035270>] (dump_backtrace+0x0/0x10c) from [<c03bd050>]
(dump_stack+0x18/0x1c)
 r7:c04f6440 r6:c0533ff0 r5:c392c000 r4:c3823f40
[<c03bd038>] (dump_stack+0x0/0x1c) from [<c03bd0a0>] (panic+0x4c/0x134)
[<c03bd054>] (panic+0x0/0x134) from [<c0008e9c>]
(mount_block_root+0x178/0x234)
 r3:00000000 r2:c3802cec r1:c3823f40 r0:c047f230
[<c0008d24>] (mount_block_root+0x0/0x234) from [<c0009008>]
(mount_root+0xb0/0xf4)
[<c0008f58>] (mount_root+0x0/0xf4) from [<c0009144>]
(prepare_namespace+0xf8/0x190)
 r7:c05339c0 r6:c0021808 r5:c0021808 r4:c0021818
[<c000904c>] (prepare_namespace+0x0/0x190) from [<c00084c0>]
(kernel_init+0xf0/0x124)
 r7:00000000 r6:c00201ec r5:c0020704 r4:c0020704
[<c00083d0>] (kernel_init+0x0/0x124) from [<c004d1a4>] (do_exit+0x0/0x62c)
 r7:00000000 r6:00000000 r5:00000000 r4:00000000

Please help someone!!
Thanks
Paul

Vikas
Paul,

do u have ext3 support in your kernel?

on my board everything is working just fine after adding EXT3 support in
kernel.  From the log of your first post, I can see there is not EXT3
support built inside your kernel.

to boot from SDCARD, you hv to set "CONFIG_EXT3_FS=y" in the .config file
while compiling kernel.

you can keep kernel and filesystem both in SDCARD.

regards,

Vikas

Paul
Hi Vikas,
I did, but I was missing the module
CONFIG_JFFS2_FS=y

Now that that's working thought I'm getting another error:

VFS: Mounted root (ext2 filesystem) on device 179:1.
Freeing init memory: 160K
INIT: version 2.86 booting
eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
Starting udevKernel panic - not syncing: Attempted to kill init!
Backtrace: 
[<c0035270>] (dump_backtrace+0x0/0x10c) from [<c03e4254>]
(dump_stack+0x18/0x1c)
 r7:c3820000 r6:c0564330 r5:00000004 r4:00000004
[<c03e423c>] (dump_stack+0x0/0x1c) from [<c03e42a4>] (panic+0x4c/0x134)
[<c03e4258>] (panic+0x0/0x134) from [<c004d6d8>] (do_exit+0x534/0x62c)
 r3:c052abc4 r2:c3823e20 r1:c3823cf4 r0:c04ad7a4
[<c004d1a4>] (do_exit+0x0/0x62c) from [<c004d814>]
(do_group_exit+0x44/0xc4)
[<c004d7d0>] (do_group_exit+0x0/0xc4) from [<c0058380>]
(get_signal_to_deliver+0x19c/0x354)
 r5:00000004 r4:c3822000
[<c00581e4>] (get_signal_to_deliver+0x0/0x354) from [<c0033a08>]
(do_notify_resume+0x9c/0x570)
[<c003396c>] (do_notify_resume+0x0/0x570) from [<c0030f68>]
(work_pending+0x1c/0x20)

Damn this is frustrating!!
Thanks
Paul

Paul
Btw, on the SD card I have unzipped the tar from OE.
And the above error appears when setting root to the SD with the untarred
and to the NAND with the jffs2.
Thanks a mil
Paul

Vikas
Paul,

If I remember correctly I also had tried what u r trying.  My attempt also
failed when I tried using my own kernel for OE root filesystem downloaded. 
So I tried booting the system with the kernel provided in boot directory of
that rootfs.

Till today I have tried OE, Angstrom and QT to run from SDCARD.  1 of these
was giving udev related error when i was trying my own kernel.  before udev
error i was facing the same error of EXT3 support missing.

I will suggest you to boot the system first using kernel provided in the
rootfs and then go thru the udev related things if you want to go ahead
with OE.

Regards

Vikas

Carlos
Hey Paul... im just facing the SAME problem as you... Vikas said: 

"that you hv to set "CONFIG_EXT3_FS=y" in the .config file while compiling
kernel."

But mines alreday compiled with ext3 and Jffs2 support. 


Do you find another way to solve this kernel panic problem?

I really would like to know.


Thanks in advance,


Best regards 

Carlos

Paul
Solved!

You can run any kernel with OE as long as it has the two following flags
set in .config:

CONFIG_ARM_THUMB=y

CONFIG_AEABI=y

You naturally also need the CONFIG_EXT3_FS=y mentioned by Vikas above.

I got it working well, all I need now is to figure out why the hell Qt's
libraries from OE all come with names like libQtCoreE.so.4 and not
libQtCore.so.4 ...

Is there any peace at the end of the tunnel?

Cheers and thanks for your help!
Paul

badr
please...


i am very new to this things

i installed u boot on mini2440

and put angestrom on the nand flash , but its only 64MB
i want to install the kernel and the on an sd card
but i cant deal with openembeded so dont ask me to deal with
if there is a ready images ....i will be very thankfull
but please help me with steps cause as i said i'm new



thanks everyone;

Paul
Heya,
you best bet is to either leave the FS on NAND and use the SD for file
storage, or use lenny bootstrap emdebian to run as a FS.
Anything else will require that you crash with OE, which isn't too bad. I'm
just going to post a script to download and configure it.
Cheers