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.

DM365 EVM boot kernel panic

Other Parts Discussed in Thread: TVP7002

Hi,

 

I was trying to boot the DM365 EVM using the kernel I built and file system in the host computer via TFTP and NFS as instructed in the GSG. It works fine.

 

Now when I just want to boot the board using the preloaded kernel and file system on the NAND flash, the boot failed and show bad blocks and kernel panic. Here is the booting message:

 

Jumping to entry point at 0x81080000.

 

 LSP 2.10 BETA RELEASE 

 VERSION: 2.10.008.02 

 

U-Boot 1.3.4 (Mar  2 2009 - 11:50:39)

 

I2C:   ready

DRAM:  128 MB

NAND:  NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit)

Bad block table found at page 524224, version 0x01

Bad block table found at page 524160, version 0x01

NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit)

Bad block table found at page 524224, version 0x01

Bad block table found at page 524160, version 0x01

2048 MiB

In:    serial

Out:   serial

Err:   serial

Ethernet PHY: GENERIC @ 0x00

Hit any key to stop autoboot:  0 

 

Loading from NAND 1GiB 3,3V 8-bit, offset 0x400000

   Image Name:   Linux-2.6.18_pro500-davinci_evm-

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    2026248 Bytes =  1.9 MB

   Load Address: 80008000

   Entry Point:  80008000

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

   Image Name:   Linux-2.6.18_pro500-davinci_evm-

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    2026248 Bytes =  1.9 MB

   Load Address: 80008000

   Entry Point:  80008000

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK

 

Starting kernel ...

 

Uncompressing Linux.................................................................................................................

Linux version 2.6.18_pro500-davinci_evm-arm_v5t_le (a0850430@gtlnxlsf02.gt.design.ti.com) (gcc version 4.2.0 20070126 (prerelease) 9

CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177

Machine: DaVinci DM365 EVM

Memory policy: ECC disabled, Data cache writeback

DaVinci DM0365 variant 0x8

PLL0: fixedrate: 24000000, commonrate: 121500000, vpssrate: 243000000

PLL0: vencrate: 27000000, ddrrate: 243000000, mmcsdrate: 121500000

PLL1: armrate: 297000000, voicerate: 99000000, vencrate: 74250000

MUX: initialized SPI0_SCLK

MUX: initialized SPI0_SDO)

MUX: initialized SPI0_SDI

MUX: initialized SPI0_SDENA0

CPU0: D VIVT write-back cache

CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets

CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets

Built 1 zonelists.  Total pages: 29696

Kernel command line: mem=116M console=ttyS0,115200n8 root=/dev/mtdblock3 rw rootfstype=yaffs2 ip=off davinci_capture.device_type=4 0

PID hash table entries: 512 (order: 9, 2048 bytes)

Clock event device timer0_0 configured with caps set: 03

Console: colour dummy device 80x30

Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)

Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)

Memory: 116MB = 116MB total

Memory: 113152KB available (3497K code, 712K data, 168K init)

Security Framework v1.0.0 initialized

Capability LSM initialized

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

NET: Registered protocol family 16

DaVinci: 104 gpio irqs

DM365 IPIPE initialized in Continuous mode

Generic PHY: Registered new driver

ch0 default output "COMPOSITE", mode "NTSC"

VPBE Encoder Initialized

LogicPD encoder initialized

Avnetlcd encoder initialized

SCSI subsystem initialized

usbcore: registered new driver usbfs

usbcore: registered new driver hub

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 4096 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 4096 bind 2048)

TCP reno registered

VFS: Disk quotas dquot_6.5.1

Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)

squashfs: version 3.1 (2006/08/19) Phillip Lougher

JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.

yaffs Mar  2 2009 12:21:46 Installing. 

SGI XFS with no debug enabled

Initializing Cryptographic API

io scheduler noop registered

io scheduler anticipatory registered (default)

davincifb davincifb.0: check_fb_var: calling convert_fb_var_to_osd, var->bits_per_pixel: 16

davincifb davincifb.0: convert_fb_var_to_osd: bits per pixel: 16

davincifb davincifb.0: davincifb_set_par: calling convert_fb_info_to_osd bpp: 16

davincifb davincifb.0: convert_fb_info_to_osd: var->bits_per_pixel: 16

davincifb davincifb.0: convert_fb_var_to_osd: bits per pixel: 16

davincifb davincifb.0: dm_osd0_fb: 720x480x16@0,0 with framebuffer size 675KB

davincifb davincifb.0: dm_vid0_fb: 0x0x16@0,0 with framebuffer size 1020KB

davincifb davincifb.0: check_fb_var: calling convert_fb_var_to_osd, var->bits_per_pixel: 4

davincifb davincifb.0: convert_fb_var_to_osd: bits per pixel: 4

davincifb davincifb.0: davincifb_set_par: calling convert_fb_info_to_osd bpp: 4

davincifb davincifb.0: convert_fb_info_to_osd: var->bits_per_pixel: 4

davincifb davincifb.0: convert_fb_var_to_osd: bits per pixel: 4

davincifb davincifb.0: dm_osd1_fb: 720x480x4@0,0 with framebuffer size 675KB

davincifb davincifb.0: dm_vid1_fb: 0x0x16@0,0 with framebuffer size 1020KB

DAVINCI-WDT: DaVinci Watchdog Timer: heartbeat 60 sec

davinci_ldc initialized

imp serializer initialized

davinci_previewer initialized

davinci_resizer initialized

Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled

serial8250.0: ttyS0 at MMIO map 0x1c20000 mem 0xfac20000 (irq = 40) is a 16550A

serial8250.0: ttyS1 at MMIO map 0x1d06000 mem 0xfad06000 (irq = 41) is a 16550A

RAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksize

netconsole: not configured, aborting

Davinci EMAC MII Bus: probed

MAC address is 00:0e:99:02:ce:e8

TI DaVinci EMAC Linux version updated 4.0

Linux video capture interface: v2.00

starting ccdc_reset...<7>

End of ccdc_reset...<5>vpfe ccdc capture vpfe ccdc capture.1: vpif_register_decoder: decoder = MT9T001

vpfe ccdc capture vpfe ccdc capture.1: vpif_register_decoder: decoder = MT9P031

TVP514X : nummber of channels = 1

vpfe ccdc capture vpfe ccdc capture.1: vpif_register_decoder: decoder = TVP514X

Trying to register davinci display video device.

layer=c72e9400,layer->video_dev=c72e9560

Trying to register davinci display video device.

layer=c72e9200,layer->video_dev=c72e9360

davinci_init:DaVinci V4L2 Display Driver V1.0 loaded

vpfe ccdc capture vpfe ccdc capture.1: vpif_register_decoder: decoder = TVP7002

i2c /dev entries driver

nand_davinci nand_davinci.0: Using 4-bit hardware ECC

NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit)

2 NAND chips detected

Creating 5 MTD partitions on "nand_davinci.0":

0x00000000-0x00360000 : "bootloader"

0x00360000-0x003a0000 : "params"

0x003a0000-0x007a0000 : "kernel"

0x007a0000-0x207a0000 : "filesystem1"

0x207a0000-0x307a0000 : "filesystem2"

nand_davinci nand_davinci.0: hardware revision: 2.3

dm_spi.0: davinci SPI Controller driver at 0xc7866000 (irq = 42) use_dma=0

Initializing USB Mass Storage driver...

usbcore: registered new driver usb-storage

USB Mass Storage support registered.

usbcore: registered new driver usbhid

drivers/usb/input/hid-core.c: v2.6:USB HID core driver

musb_hdrc: version 6.0, cppi-dma, host, debug=0

MUX: initialized GPIO33

musb_hdrc musb_hdrc: No DMA interrupt line

musb_hdrc: USB Host mode controller at c7868000 using DMA, IRQ 12

musb_hdrc musb_hdrc: MUSB HDRC host driver

musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 1 port detected

mice: PS/2 mouse device common for all mice

davinci-mmc davinci-mmc.0: Supporting 4-bit mode

davinci-mmc davinci-mmc.0: Using DMA mode

davinci-mmc davinci-mmc.1: Supporting 4-bit mode

davinci-mmc davinci-mmc.1: Using DMA mode

Advanced Linux Sound Architecture Driver Version 1.0.12rc1 (Thu Jun 22 13:55:50 2006 UTC).

ASoC version 0.13.1

AIC3X Audio Codec 0.1

asoc: aic3x <-> davinci-i2s mapping ok

ALSA device list:

  #0: DaVinci DM365 EVM (aic3x)

IPv4 over IPv4 tunneling driver

TCP bic registered

NET: Registered protocol family 1

NET: Registered protocol family 17

Time: timer0_1 clocksource has been installed.

Clock event device timer0_0 configured with caps set: 08

Switched to high resolution mode on CPU 0

drivers/rtc/hctosys.c: unable to open rtc device (rtc0)

yaffs: dev is 32505859 name is "mtdblock3"

yaffs: Attempting MTD mount on 31.3, "mtdblock3"

block 308 is bad

block 1335 is bad

block 1768 is bad

block 1967 is bad

block 2001 is bad

block 2044 is bad

block 2097 is bad

block 2154 is bad

block 2164 is bad

block 2174 is bad

block 2177 is bad

block 2202 is bad

block 2203 is bad

block 2219 is bad

block 2220 is bad

block 2221 is bad

block 2222 is bad

block 2223 is bad

block 2224 is bad

block 2225 is bad

block 2226 is bad

block 2227 is bad

block 2228 is bad

block 2229 is bad

block 2230 is bad

block 2231 is bad

block 2232 is bad

block 2233 is bad

block 2234 is bad

block 2235 is bad

block 2236 is bad

block 2237 is bad

block 2238 is bad

block 2239 is bad

block 2240 is bad

block 2241 is bad

block 2242 is bad

block 2243 is bad

block 2244 is bad

block 2245 is bad

block 2246 is bad

block 2247 is bad

block 2248 is bad

block 2249 is bad

block 2250 is bad

block 2251 is bad

block 2252 is bad

block 2253 is bad

block 2254 is bad

block 2255 is bad

block 2256 is bad

block 2257 is bad

block 2258 is bad

block 2259 is bad

block 2260 is bad

block 2261 is bad

block 2262 is bad

block 2263 is bad

block 2264 is bad

block 2265 is bad

block 2266 is bad

block 2267 is bad

block 2268 is bad

block 2269 is bad

block 2270 is bad

block 2271 is bad

block 2272 is bad

block 2273 is bad

block 2274 is bad

block 2275 is bad

block 2276 is bad

block 2277 is bad

block 2278 is bad

block 2279 is bad

block 2280 is bad

block 2281 is bad

block 2282 is bad

block 2283 is bad

block 2284 is bad

block 2285 is bad

block 2286 is bad

block 2287 is bad

block 2288 is bad

VFS: Mounted root (yaffs2 filesystem).

Freeing init memory: 168K

Warning: unable to open an initial console.

Kernel panic - not syncing: No init found.  Try passing init= option to kernel.

 

 

 

What went wrong? Does that mean I actually overwrite the NAND flash when I boot via TFTP and NFS using the kernel and file system on the host? I thought this process does not overwrite anything on the NAND flash. Can someone please clarify this? Thanks.

 

Regards,

 

CW

 

 

  • Hi:

    You can try to modify like those:

    <Warning: unable to open an initial console.

    Check the directory of your filesystem, Maybe have no "console" device in /dev, It perhaps add by manual;

    <Kernel panic - not syncing: No init found.  Try passing init= option to kernel.

    Check your boot params, It need to add init params. such as "init=linuxrc".

     

     

     

  • CW,

    CW said:
    Does that mean I actually overwrite the NAND flash when I boot via TFTP and NFS using the kernel and file system on the host? I thought this process does not overwrite anything on the NAND flash.

    Correct, this process should not have written to the NAND flash. Were you able to boot up fine before you tried booting using the network?

    It does appear that the NAND flash contents are not being read correctly.

    You can verify that the NAND flash contents are fine by booting using NFS and then mounting the NAND flash manually

    mkdir /mnt/nand
    mount -t yaffs2 /dev/mtdblock3 /mnt/nand

    If the contents appear corrupt, you can try to write the FS into NAND again:

    flash_eraseall /dev/mtd3
    mkdir /mnt/nand
    mount -t yaffs2 /dev/mtdblock3 /mnt/nand
    cd /mnt/nand
    tar -xf <flash-filesystem.tar>
    cd /

    umount /mnt/nand

    Thanks,

    Sekhar

  • Hi Sekhar,

     

    Sekhar Nori said:

    Correct, this process should not have written to the NAND flash. Were you able to boot up fine before you tried booting using the network?

     

    The board was booting up fine as a standalone system  when I first got it. I was able to boot it with the preloaded MontaVista Linux kernel and file system.

     

    One thing went wrong after I boot via TFTP and NFS is that after boot up successfully, I tried to shutdown the system using "shutdown now" command, and it got stuck at one point and just hang there. I had to manually unplug the power. I guess it did something to the NAND (although I mounted the NFS file system not the NAND one).

     

    What is the correct way to safely shutdown the system? I read in the GSG somewhere it says you should shutdown the system before unplug the power. The "shutdown now" command worked with the preloaded standalone system, but not the kernel the file system on the host.

     

    I will verify the NAND flash content and try to restore it following the instructions you provided.

     

    Thanks,

     

    CW

  • If you want to boot from the Nand Flash you need to put the bootargs back to what they were.

     

     

    set your bootarg like this :

     

    setenv bootargs mem=116M console=ttyS0,115200n8 root=/dev/mtdblock3 rw rootfstype=yaffs2 ip=off davinci_capture.device_type=4 dm365_imp.oper_mode=0

     

    At the very least you definitely have to remove the nfsroot change the root   in bootargs.

  • Sekhar

    I faced similar problem not to boot, so I am finding the solution.

    I want to know where the file(flash-filesystem.tar) is.

  • Thank you very much Sekhar

    I found the flash-filesystem.tar. The file's name is target-reduced-dm365.tar.

    Anyway, I clear up my problem by Sekhar.