Kernel panic with Kernel (uImage) 2.6.22.18

Hello,

I want to try a Linux kernel so I managed an SD card to have two
partitions. The first is formatted as FAT32 where I copied:

http://beagleboard.googlecode.com/files/MLO_revb
http://beagleboard.googlecode.com/files/flash-uboot.bin
http://beagleboard.googlecode.com/files/uImage_OTG

in that order. The second one is formatted as ext3 and contains the
root file system:

http://beagleboard.googlecode.com/files/ALSA-FS.tar.gz

which I have untar-ed directly on the SD.
I set the boot arguments and commands like these:

# setenv bootargs 'console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw
rootwait'
# setenv bootcmd 'mmcinit;fatload mmc 0 80300000 uImage;bootm
80300000'

After power-up it reads the uImage and start to load the kernel. After
a while on the serial terminal I get:

VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "mmcblk0p2" or unknown-block(2,0)
VFS: Cannot open root device "mmcblk0p2" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available
partitions:
Please append a correct "root=" boot option; here are the available
partitions:
1f00 512 mtdblock01f00 512 mtdblock0 (driver?)
(driver?)
1f01 1920 mtdblock11f01 1920 mtdblock1 (driver?)
(driver?)
1f02 128 mtdblock21f02 128 mtdblock2 (driver?)
(driver?)
1f03 5120 mtdblock31f03 5120 mtdblock3 (driver?)
(driver?)
1f04 254464 mtdblock41f04 254464 mtdblock4 (driver?)
(driver?)
<0>Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-
block(2,0)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-
block(2,0)

I understand there is a mistake in the root arguments, but I can't
understand how to read the "available partitions" table and how to
change the bootarg value.

May you help me, please?

Thanks
Marco

This works for me.
setenv bootargs 'console=ttyS2,115200n8 console=tty0
root=/dev/mmcblk0p2 rootdelay=2 rootfstype=ext3
video=omapfb:vram:2M,vram:4M'

Regards,
-Ragha

This works for me.
setenv bootargs 'console=ttyS2,115200n8 console=tty0
root=/dev/mmcblk0p2 rootdelay=2 rootfstype=ext3
video=omapfb:vram:2M,vram:4M'

This works for me too :slight_smile:
But how can one deduce that parameters from the error message I wrote
before?

Thanks a lot!
Marco

I'm afraid it may be simply experience that tells us that the /dev/mmcblk0p2 file system isn't ready until the kernel has been running long enough to scan the file system. Your first clue should be that the issue is that the roof file system isn't available. You might focus on if the file system was prepared properly or not, but some web searches would unveil this problem.

rootwait wasn't added till at-least 2.6.24 (or so), so you have to use
rootdelay=2 with TI's earlier kernel. (Common error & solution for a
lot of embedded targets, arm/avr32/etc...)

hi.

I meet with the same problem. but this is an error due to the wrong format of disk partition.

your disk format sectors , headers and cylinders should be the same as below:

Disk /dev/sdc: 2021 MB, 2021654528 bytes
**255 heads, 63 sectors/track, 245** **cylinders**
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

    please make sure that you followed the instuctions of the  LinuxBootDiskFormat to format your MMC card.

mybe you should do this again, and you will solve this problem.

http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat

thanks!

/favor