[beagleboard] Re: Kernel stops after changing debug port UART3 to UART1

Hi,

I formated one SD card with one partition and the content of SD card are

  1. mlo
  2. u-boot.bin
  3. flash-u-boot.bin
  4. x-loader.bin.ift
  5. uImage
  6. ramdisk.gz

i set bootargs as

setenv bootargs console=ttyS0,115200n8 noinitrd root=/dev/mmcblk0p1 rootfstype=ext2 rw rootwait nohz=off

and here is the log message.

<6>cpuidle: using governor menu
cpuidle: using governor menu
<3>Root-NFS: No NFS server available, giving up.
Root-NFS: No NFS server available, giving up.
<3>VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device “mmcblk0p1” or unknown-block(2,0)
VFS: Cannot open root device “mmcblk0p1” 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)

  1. I formatted other SD card with two partions, in first partion i copied mlo, u-boot.bin,flash-u-boot.bin,x-loader.bin.ift,uImage,ramdisk.gz.
    in second partion i copied Angstrom filesystem and my boot args as

setenv bootargs ‘console=ttyS0,115200n8 console=tty0 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait omapfb.video_mode=1024x768
MR-16@60’

and here is the log message

mmc0: host does not support reading read-only switch. assuming write-enable.
<3>Root-NFS: No NFS server available, giving up.
Root-NFS: No NFS server available, giving up.
<3>VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Unable to mount root fs via NFS, trying floppy.
<6>mmcblk0: mmc0:0007 SD02G 1955840KiB
mmcblk0: mmc0:0007 SD02G 1955840KiB
<6> mmcblk0: mmcblk0: p1 p1 p2 p2

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?)
b300 1955840 mmcblk0b300 1955840 mmcblk0 driver: mmcblk
driver: mmcblk
b301 401593 mmcblk0p1
b301 401593 mmcblk0p1
b302 1550272 mmcblk0p2
b302 1550272 mmcblk0p2
<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)

Please let me know the issue, and how to fix this.

–Sanjeev

In your first example there is no rootfs parition, so you have to use an initrd (initial ram disk). However, you haven’t loaded the ramdisk into memory or told linux where to find it in the kernel args. To use an initrd you need to load it into memory using U-Boot and then pass the memory address on the kernel command line, so something like:

mmc init
fatload mmc 0:1 0x81600000 ramdisk.gz
setenv bootargs=console=ttyS2,115200n8 console=tty0 root=/dev/ram0 rw ramdisk_size=32768 initrd=0x81600000,32M

now load uImage and boot

I’m assuming your ramdisk.gz is from the Rev C validation page. You might need to change your ramdisk sizes if yours is bigger, have a look here: http://code.google.com/p/beagleboard/wiki/BeagleboardRevCValidation

The second example looks, er, strange… it clearly finds the device mmcblk01, with two partitions p1 and p2. I assume you’ve correctly formatted it as ext3 and correctly unpacked the Angstrom image to it but that might be worth double/triple checking. Finally its worth checking you are unmounting and ejecting the SD card properly as I’ve been gung-ho and corrupted data before. Since U-Boot is reading files from the SD Card I imagine that the hardware is okay…! :slight_smile:

If you can get the first example working then you should be able to mount the ext3 partition and double check that the linux kernel and your hardware can read it properly…