This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Kernel Panic TI DevKit Android Gingerbread and Froyo

Help please! I have a problem with booting Android 2.3 on TDM-3730W Blizzard Interface board 7" TFT LCD

I used TI_Android_Gingerbread_2.3.4_Kernel_2.6.37_dm37x.tar.gz 

My 2 GB Trascend micro SD card has three partitions (FAT32 with multimedia files, FAT32 with boot files and ext3 with rootfs) 

My logs: 

U-Boot 2010.06 (Feb 10 2012 - 16:05:08)

OMAP34xx/35xx-GP ES2.1, CPU-OPP2 L3-165MHz
OMAP3 EVM board + LPDDR/NAND
I2C:   ready
DRAM:  256 MiB
NAND:  HW ECC [Kernel/FS layout] selected
512 MiB
In:    serial
Out:   serial
Err:   serial
Read back SMSC id 0xffff0000
Die ID #1fb200029e3800000168432c1601a024
Net:   No ethernet found.
Hit any key to stop autoboot:  0
mmc1 is available
reading uImage

3333704 bytes read
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux-2.6.37-g1236e9f
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3333640 Bytes = 3.2 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Linux version 2.6.37-g1236e9f (gtandroidbuild@gtandroidbuild-desktop) (gcc version 4.4.3 (GCC) ) #3 Fri Feb 10 15:31:45 EST 2012
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: OMAP3 EVM
[    0.000000] Reserving 4194304 bytes SDRAM for VRAM
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] OMAP3630 ES1.2 (l2cache iva sgx neon isp 192mhz_clk )
[    0.000000] SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x10000
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64000
[    0.000000] Kernel command line: console=ttyO0,115200n8 androidboot.console=ttyO0 root=/dev/mmcblk0p2 rw rootfstype=ext3 init=/ init rootwait ip=off mpurate=1000 vram=32M omapfb.vram=0:16M 
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes) 
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) 
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) 
[    0.000000] Memory: 224MB = 224MB total 
[    4.289093] VFS: Cannot open root device "mmcblk0p2" or unknown- block(179,2) 
[    4.296447] Please append a correct "root=" boot option; here are the available partitions: 
[    4.305175] 1f00             512 mtdblock0  (driver?) 
[    4.310424] 1f01            1280 mtdblock1  (driver?) 
[    4.315826] 1f02             768 mtdblock2  (driver?) 
[    4.321105] 1f03            5120 mtdblock3  (driver?) 
[    4.326354] 1f04          516608 mtdblock4  (driver?) 
[    4.331634] b300         1931264 mmcblk0  driver: mmcblk 
[    4.337158]   b301           72261 mmcblk0p1 00000000-0000-0000-0000-000000000000mmcblk0p1 
[    4.345794]   b302          524288 mmcblk0p2 00000000-0000-0000-0000-000000000000mmcblk0p2 
[    4.354400] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2) 
[    4.363189] Backtrace: 
[    4.365753] [<c004e65c>] (dump_backtrace+0x0/0x110) from [<c04c7ff4>] (dump_stack+0x18/0x1c) 
[    4.374542]  r7:c05b0d1f r6:00008000 r5:c0699168 r4:c0699168 
[    4.380462] [<c04c7fdc>] (dump_stack+0x0/0x1c) from [<c04c805c>] (panic+0x64/0x180) 
[    4.388458] [<c04c7ff8>] (panic+0x0/0x180) from [<c0008f90>] (mount_block_root+0x1dc/0x21c) 
[    4.397155]  r3:00000000 r2:00000000 r1:cf41bf50 r0:c05b0dc6 
[    4.403076] [<c0008db4>] (mount_block_root+0x0/0x21c) from [<c000907c>] (mount_root+0xac/0xcc) 
[    4.412170] [<c0008fd0>] (mount_root+0x0/0xcc) from [<c0009208>] (prepare_namespace+0x16c/0x1c4) 
[    4.421325]  r4:c0698024 
[    4.423950] [<c000909c>] (prepare_namespace+0x0/0x1c4) from [<c00084bc>] (kernel_init+0x114/0x154) 
[    4.433288]  r5:c00327e8 r4:c0697fc0 
[    4.437042] [<c00083a8>] (kernel_init+0x0/0x154) from [<c0079e50>] (do_exit+0x0/0x638) 
[    4.445281]  r5:c00083a8 r4:00000000 
 

I have tried to use b302 instead /dev/mmcblk0p2 but it didn't help! 

I don't understand what cause of this error. I have same problem with Prebuilt images from TI_Android_Froyo_DevKit (DM37X) 

Uncompressing Linux.............................................................................................................................................................................. done, booting the kernel.
Linux version 2.6.32 (a0393957@swubn01) (gcc version 4.4.0 (GCC) ) #2 Fri Jan 14 16:50:13 IST 2011
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: OMAP3 EVM
Memory policy: ECC disabled, Data cache writeback
OMAP3630/DM3730 ES1.0 (l2cache iva sgx neon isp 192mhz_clk )
SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x100000
Reserving 4194304 bytes SDRAM for VRAM
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 50432
Kernel command line: mem=71M@0x80000000 mem=128M@0x88000000 console=tty0 console=ttyS0,115200n8 androidboot.console=ttyS0 root=/dev/mmcblk0p2 rw rootfstype=ext3 init=/init rootwait ip=off omap_vout.vid1_static_vrfb_alloc=y omapdss.def_disp=dvi omapfb.mode=dvi:1280x720MR-16 mpurate=1000


clock: Could not find divisor for target rate 0 for clock dpll4_m5_ck parent dpll4_ck
omap3isp omap3isp: clk_set_rate for dpll4_m5_ck failed
mmc0: new high speed SD card at address e624
mmcblk0: mmc0:e624 SU02G 1.84 GiB (ro)
 mmcblk0: p1 p2 p3
tvp514x 3-005c: chip id mismatch msb:0x87 lsb:0x87
tvp514x 3-005c: Unable to detect decoder
clock: Could not find divisor for target rate 0 for clock dpll4_m5_ck parent dpll4_ck
omap3isp omap3isp: clk_set_rate for dpll4_m5_ck failed
tvp514x 3-005c: chip id mismatch msb:0x87 lsb:0x87
tvp514x 3-005c: Unable to detect decoder
clock: Could not find divisor for target rate 0 for clock dpll4_m5_ck parent dpll4_ck
omap3isp omap3isp: clk_set_rate for dpll4_m5_ck failed
tvp514x 3-005c: chip id mismatch msb:0x87 lsb:0x87
tvp514x 3-005c: Unable to detect decoder
clock: Could not find divisor for target rate 0 for clock dpll4_m5_ck parent dpll4_ck
omap3isp omap3isp: clk_set_rate for dpll4_m5_ck failed
tvp514x 3-005c: chip id mismatch msb:0x87 lsb:0x87
tvp514x 3-005c: Unable to detect decoder
omapdss DPI error: display already enabled
omap_vout omap_vout: 'dvi' Display already enabled
omapdss DPI error: display already enabled
omap_vout omap_vout: 'dvi' Display already enabled
omap_vout omap_vout: Buffer Size = 3686400
omap_vout omap_vout: : registered and initialized video device 0
omap_vout omap_vout: Buffer Size = 3686400
omap_vout omap_vout: : registered and initialized video device 1
VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2)
Please append a correct "root=" boot option; here are the available partitions:
1f00             512 mtdblock0 (driver?)
1f01            1792 mtdblock1 (driver?)
1f02             256 mtdblock2 (driver?)
1f03            5120 mtdblock3 (driver?)
1f04          516608 mtdblock4 (driver?)
b300         1931264 mmcblk0 driver: mmcblk
  b301           72261 mmcblk0p1
  b302          963900 mmcblk0p2
  b303          891607 mmcblk0p3
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)


  • I don't understand why there is problem with both versions of Android DevKit? I have successfully used this SD card for booting Linux and Android 2.2 from Tech Nexio website

    So, is problem with prebuilt images from Android DevKit  or not ? 

    502 bytes read
    Running bootscript from mmc ...
    ## Executing script at 82000000
    reading uImage
    2791036 bytes read
    ***** Kernel: /dev/mmcblk0p1/uImage *****
    ***** RootFS: /dev/mmcblk0p2 *****
    ## Booting kernel from Legacy Image at 80200000 ...
    Image Name: Linux-2.6.32
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 2790972 Bytes = 2.7 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
    OK
    Starting kernel ...

    Thank you. 

    P.S. my u-boot settings

    OMAP3 TDM-3730 # printenv
    baudrate=115200
    bootcmd=if mmc rescan ${mmcdev}; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else run nandboot; fi; fi; else run nandboot; fi
    bootdelay=2
    bootscript=echo Running bootscript from mmc ...; source ${loadaddr}
    console=ttyS0,115200n8
    dieid#=1fb200029e3800000168432c1601a024
    dvi_mode=omapdss.def_disp=dvi omapfb.mode=dvi:1280x720-24@60 vram=5M
    ethact=smc911x-0
    extra_options=
    jffs2root=/dev/mtdblock4 rw
    jffs2rootfstype=jffs2
    loadaddr=0x82000000
    loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr
    loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage
    mem_size=mem=71M@0x80000000 mem=384M@0x88000000
    mmcargs=setenv bootargs console=${console} ${mem_size} mpurate=${mpurate} ${video_mode} ${extra_options} root=${mmcroot} rootfstype=${mmcrootfstype}
    mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${loadaddr}
    mmcdev=0
    mmcroot=/dev/mmcblk0p2 rw
    mmcrootfstype=ext3 rootwait
    mpurate=1000
    nandargs=setenv bootargs console=${console} ${mem_size} mpurate=${mpurate} ${video_mode} ${extra_options} root=${nandroot} rootfstype=${nandrootfstype}
    nandboot=echo Booting from nand ...; run nandargs; nand read ${loadaddr} 280000 400000; bootm ${loadaddr}
    nandroot=ubi0:rootfs ubi.mtd=4
    nandrootfstype=ubifs
    tv_mode=omapdss.def_disp=tv omapfb.mode=tv:ntsc
    usbtty=cdc_acm
    video_mode=
    vram=12M
  • Myosotis,

    According to your first mail, you've mentioned that you've 3 partitions in the sd card? Is rootfs copied to the third or second partition of the card? If it is the third partition you've to specify /dev/mmcblk0p3 instead of mmcblk0p2 as the rootfs partition in bootargs.

  • Renjith Thomas,

    thank you for reply! 

    I have looked in GParted, rootfs is really situated in the second partition. 

    By the way, I have same problem with installing Linux. It seems, that my device is not supported :( 

  • Myosotis, Can you do fdisk -l on the card and send the results?

  •  $sudo fdisk -l /dev/sdb
    Disk /dev/sdb: 1977 MB, 1977614336 bytes
    255 heads, 63 sectors/track, 240 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1   *           1           9       72261    c  W95 FAT32 (LBA)
    /dev/sdb2              10         129      963900   83  Linux
    /dev/sdb3             130         240      891607+   c  W95 FAT32 (LBA)
    
  • Myosotis,

    Can you send me your .config and the board file located in arch/arm/mach-omap2/ ?

  • Renjith Thomas, sorry I can't, because I used prebuilt images and rootfs (from TI_Android_Gingerbread_2.3.4_Kernel_2.6.37_dm37x

  • Have you tried these?

    1. Trying different cards

    2. Partitioning the cards into just two or one partition and with different sizes for the FAT partition? Make sure to change the bootargs accordingly.

    3. Try using ext2 filesystem for the rootfs partition?

  • Myosotis said:

    Renjith Thomas, sorry I can't, because I used prebuilt images and rootfs (from TI_Android_Gingerbread_2.3.4_Kernel_2.6.37_dm37x

    I'm not sure if the technexion boards are supported directly with the TI DevKit sources or prebuilt images.

    We suggest you check with them to confirm if there are any u-boot/kernel changes required for your board.

  • HI I am  trying to port new kernel linux-2.6.37 into devkit8000 please suggest me the what are all changes has to made in MLO, U-BOOT.BIN and in kernel uImage

    give detailed explanation and send me the web sites which suggests me regarding the changes need to made in order to boot new kernels in devkit.

    here where i got struck

    I have downloaded linux-2.6.37 from the kernel.org and I have created MLO, u-boot.bin from the source provided in CD with the board and the uImage from the linux-2.6.37. at some point my booting is freezing

    ## Booting kernel from Legacy Image at 80300000 ...

    Image Name: Linux-2.6.37 Image

    Type: ARM Linux Kernel Image (uncompressed)

    Data Size: 1750680 Bytes = 2.9 MB

    Load Address: 80008000 Entry

    Point: 80008000 Verifying Checksum ...

    OK Loading Kernel Image ... OK

    OK

    Starting kernel ...

    please suggest me the changes what and all you have made made.....?

    is I need to change in u-boot or x-loader or in kernel image....???