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.

NFS mount on DM355

Hi,

I recently updated from MV 4.0.1 to MV 5.0 along with all dvsdk & tools updates. Following are my new set of packages:

mvl_5_0_0801921_demo_sys_setuplinux.bin

mvl_5_0_0_demo_lsp_setuplinux_02_00_00_110.bin

dvsdk_setuplinux_2_00_00_18.bin

xdctools_setuplinux_3_10_03.bin

Following GSG2.0, i failed at the step booting from NFS. I have attached the boot log & the Printenv.

````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````

this is MT29F16G08FAA device                            
UBL: detected valid U-Boot magic number                                      
UBL: booting to U-Boot                     

U-Boot 1.2.0 (Feb  2 2008 - 23:52:10)                                    
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            
ARM Clock :- 216MHz                  
DDR Clock :- 171MHz                  
Hit any key to stop autoboot:  0                               

Loading from NAND 1GiB 3,3V 8-bit, offset 0x400000                                                 
   Image Name:   Linux-2.6.10_mvl401                                   
   Image Type:   ARM Linux Kernel Image (uncompressed)                                                     
   Data Size:    1578988 Bytes =  1.5 MB                                       
   Load Address: 80008000                        
   Entry Point:  80008000                        
## Booting image at 80700000 ...                               
   Image Name:   Linux-2.6.10_mvl401                                   
   Image Type:   ARM Linux Kernel Image (uncompressed)                                                     
   Data Size:    1578988 Bytes =  1                                
   Load Address: 80008000                        
   Entry Point:  80008000                        
   Verifying Checksum ... OK                           
OK 

Starting kernel ...                  

Uncompressing Linux.............................................................                                                                               
Linux version 2.6.10_mvl401 (a0868396@gtcmbuild3.gt.design.ti.com) (gcc version                                                                              
3.4.3 (MontaVista 3.4.3-25.0.104.0600975 2006-07-06)) #1 Sat Feb 2 23:59:35 EST                                                                              
2008   
CPU: ARM926EJ-Sid(wb) [41069265] revision 5 (ARMv5TEJ)                                                     
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                                                                 
Machine: DaVinci DM355 EVM                         
Memory policy: ECC disabled, Data cache writeback                                                
DM0350     
Built 1 zonelists                
Kernel command line: console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nf                                                                               
sroot=192.168.0.96:/home/MVista/workdir/filesys,nolock mem=116M video=davincifb:                                                                               
vid0=720x576x16,2500K:vid1=720x576x16,2500K:osd0=720x576x16,2025K davinci_enc_mn                                                                               
gr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=ntsc                                                     
PID hash table entries: 512 (order: 9, 8192 bytes)                                               
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: 114176KB available (2748K code, 570K data, 180K init)                                                            
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)                                                         
CPU: Testing write buffer coherency: ok                                      
spawn_desched_task(00000000)                           
desched cpu_callback 3/00000000                              
ksoftirqd started up.                    
desched cpu_callback 2/00000000                              
desched thread 0 started up.                           
NET: Registered protocol f                        
DaVinci: 104 gpio irqs                     
Registering platform device 'serial8250.0'. Parent at platform                                                             
Registering platform device 'musb_hdrc'. Parent at platform                                                          
Registering platform device 'nand_davinci.0'. Parent at platform                                                               
Registering platform device 'dm9000.0'. Parent at platform                                                         
Registering platform device 'mmc.0'. Parent at platform                                                      
Registering platform device 'mmc.1'. Parent at platform                                                      
DaVinci I2C DEBUG: 23:57:20 Feb  2 2008                                      
Registering platform device 'i2c'. Parent at platform                                                    
ch0 default output "COMPOSITE", mode "NTS                                      
VPBE Encoder Initialized                       
LogicPD encoder initialized                          
SCSI subsystem initialized                         
usbcore: registered new driver usbfs                                   
usbcore: registered new driver hub                                 
musb_hdrc: version 2.2a/db-0.4.8 [cppi-dma] [host] [debug=0]                                                           
musb_hdrc: ConfigData=0x06 (UTMI-8, dyn FIFOs, SoftConn)                                                       
musb_hdrc: MHDRC RTL version 1.300                                 
musb_hdrc: USB Host mode controller at c7802000 using DMA, IRQ 12                                                                
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1                                                                 
hub 1-0:1.0: USB hub found                         
hub 1-0:1.0: 1 port detected                           
DaVinci I2C WARNING: i2c                      
DaVinci I2C WARNING: i2c: NACK detected                                      
DaVinci I2C WARNING: i2c: NACK detected                                      
DaVinci I2C WARNING: i2c: NACK detected                                      
DaVinci I2C WARNING: i2c: NACK detected                                      
Registering platform device 'dm_spi.0'. Parent at platform                                                         
NetWinder Floating Point Emulator V0.97 (double precision)                                                         
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.                                                    
yaffs Feb  2 2008 23:56:53 Installing.                                     
Initializing Cryptographic API                             
Registering platform device 'davincifb.0'. Parent at platform                                                            
davincifb davincifb.0: dm_osd0_fb: Initial window con                                                   
davincifb davincifb.0: dm_osd0_fb: 720x576x16@0,0 with framebuffer size 2025KB                                                                             
davincifb davincifb.0: dm_vid0_fb: Initial window configuration is invalid.                                                                          
davincifb davincifb.0: dm_vid0_fb: 720x576x16@0,0 with framebuffer size 2500KB                                                                             
davincifb davincifb.0: dm_osd1_fb: 720x480x4@0,0 with framebuffer size 1350KB                                                                            
davincifb davincifb.0: dm_vid1_fb: Initial window configuration is invalid.                                                                          
davincifb davincifb.0: dm_vid1_fb: 720x576x16@0,0 with framebuffer size 2500KB                                                                             
watchdog: TI DaVinci Watchdog Timer: timer margi                                              
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled                                                                        
Registering platform device 'serial8250'. Parent at platform                                                           
ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A                                             
ttyS1 at MMIO 0x1c20400 (irq = 41) is a 16550A                                             
ttyS2 at MMIO 0x1e06000 (irq = 14) is a 16550A                                             
io scheduler noop registered                           
io scheduler anticipatory registered                                   
RAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksize                                                                    
loop: loaded (max 8 devices)                           
dm9000 Ethernet Driver                     
eth0: dm9000 at c7862000,c7864002 IRQ 45 MAC: 00:0e:9                                                   
i2c /dev entries driver                      
Linux video capture interface: v1.00                                   
Registering platform device 'vpfe.1'. Parent at platform                                                       
vpfe vpfe.1: DaVinci v4l2 capture driver V1.0 loaded                                                   
Registering platform device 'DavinciDisplay.1'. Parent at platform                                                                 
Trying to register davinci display video device.                                               
layer=c0bf3c00,layer->video_dev=c0bf3d64                                       
Trying to register davinci display video device.                                               
layer=c0bf3a00,layer->video_dev=c0bf3b64                                       
davinci_init:DaVinci V4L2 Display Driver V1.0 loaded                                                   
ipipe major#: 254, minor# 0                          
Registering platform device 'dm355_ipipe.2'. Parent at platform                                                              
ipipe driver registered                      
af major#: 253, minor# 0                       
Registering platform device 'dm355_af.2'. Parent at platform                                                           
aew major#: 252, minor# 0                        
Registering platform device 'dm355_aew.2'. Parent at platform                                                            
elevator: using anticipatory as default io scheduler                                                   
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                    
nand_bbt: ECC error while reading bad block ta                                            
nand_bbt: ECC error while reading bad block table                                                
Creating 5 MTD partitions on "nand_davinci.0":                                             
0x00000000-0x003c0000 : "bootloader"                                   
0x003c0000-0x00400000 : "params"                               
0x00400000-0x00800000 : "kernel"                               
0x00800000-0x20800000 : "filesystem1"                                    
0x20800000-0x80000000 : "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 registe                             
usbcore: registered new driver usbhid                                    
drivers/usb/input/hid-core.c: v2.0:USB HID core driver                                                     
mice: PS/2 mouse device common for all mice                                          
mmc mmc.0: Supporting 4-bit mode                               
mmc mmc.0: Using DMA mode                        
mmc mmc.1: Supporting 4-bit mode                               
mmc mmc.1: Using DMA mode                        
Registering platform device 'davinci-audio.0'. Parent at platform              
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 8192 bind 16384)
Initializing XFRM netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
eth0: link down
Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.0.98
IP-Config: Complete:
      device=eth0, addr=192.168.0.98, mask=255.255.255.0, gw=255.255.255.255,
     host=192.168.0.98, domain=CHRIS, nis-domain=(none),
     bootserver=0.0.0.0, rootserver=192.168.0.96, rootpath=
Looking up port of RPC 100003/2 on 192.168.0.96
Looking up port of RPC 100005/1 on 192.168.0.96
VFS: Mounted root (nfs filesystem).
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Freeing init memory: 180K
FATAKernel panic - not syncing: Attempted to kill init!
L: kernel too ol d
<7>eth0: no IPv6 routers present

```````````````````````````````````````````````````````````````````````````````````````````````

DM355 EVM # setenv ipaddr
DM355 EVM # printenv
bootdelay=3
baudrate=115200
filesize=248448
fileaddr=82000000
bootcmd=nboot 0x80700000 0 0x400000;bootm
nfshost=192.168.0.96
rootpath=/home/MVista/workdir/filesys
bootargs=console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.16
8.0.96:/home/MVista/workdir/filesys,nolock mem=116M video=davincifb:vid0=720x576
x16,2500K:vid1=720x576x16,2500K:osd0=720x576x16,2025K davinci_enc_mngr.ch0_outpu
t=COMPOSITE davinci_enc_mngr.ch0_mode=ntsc
stdin=serial
stdout=serial
stderr=serial
videostd=ntsc

Environment size: 501/16380 bytes

`````````````````````````````````````````````````````````````````````````

i checked the other posts in the forum before posting n followed the static IP method too, and still it dint help me solve the prob. Since its mounting the nfs correctly going by the following in the boot log, maybe there is some version mismatch? or some problem in the file system? 

VFS: Mounted root (nfs filesystem).

Please advice, how can i proceed.

Thanks a lot,

Roshni

  • First thing I would try is to ping the Linux host from your target u-boot prompt.

    Then, I would make sure firewall is disabled in my Linux host.

     

  • How do i setup IP addr in the uboot prompt to be able to ping? 

    I did make sure firewall is off, by chkin /etc/init/d/iptables status.

     

  • i can ping the host after i boot using the NAND flash.

     

    But without booting i am not able to ping any machine on the n/w. that is the setup i was asking for in the previous post.

     

    Thanks for your time & prompt reply. I really appriciate it.

  • Roshni Shah said:
    How do i setup IP addr in the uboot prompt to be able to ping? 

    Within U-Boot you can try to run the DHCP command to get it an ip, and then set that ip to ipaddr witth the setenv command.

    This is a new one, I have not come across a FATAL: kernel too old message at boot before, something somewhere is certainly broken, I suspect there is some versioning issue here, are you sure you are booting everything from the new relese (U-Boot, UImage, and the new filesystem)?

    The other thought that comes to mind is the NFS configuration, how do you have your /etc/exports file setup?

  • i tried dhcp ip, but i get

    BROADCAST bootp 1

    BROADCAST bootp 2... & finally no IP. Am not sure what range it is braodcasting to. my server ip is 192.168.0.175 & my dhcp server is is assigning addresses from 192.168.0.50 - 192.168.0.99.

    But if i boot using NAND flash, it correctly gets IP address through my dhcp server (192.168.0.98) & displays that the corner of the demo screen, not sure what the problem is.

    Regarding the update, i did not update UBoot, that is still 1.2 i presume(the version that came with the evaluation board). I just updated the dvsdk & the montavista pro version from the following link.

    https://www-a.ti.com/downloads/sds_support/targetcontent/dvsdk/mv_dvsdk/v2_00/index_external.html

    I also checked the following link, n it did not have any version specifics wrt UBOOT, so i thought it should be alrite.

    http://tiexpressdsp.com/wiki/index.php?title=PSP_Introduction_and_Product_FAQ#Can_everybody_get_updates_to__Linux_PSP_.2F_BIOS_PSP_.2F_OMAP_PSP_.2F_EDMA_LLD_and_LPTB_.3F

    I also wanted to update only because we are ultimately going to use DM365 in our project a few months down the line, n ti suggested us to update n use all new dvsdk & mv linux with dm355(loner) so that porting would be easier.

     

     

     

  • sorry forgot to mention about /etc/exports file, n that i following the gsg2.0 n used the following line:

    /home/MVista/workdir/filesys *(rw,no_root_squash,no_all_squash,sync)

     

  • Roshni,

    If you type 'dhcp' at the u-boot command prompt (assumin you are connected via router running dhcp server), you should see a line similar to the following in your boot log

           TFTP from server 156.117.95.17; our IP address is 156.117.95.50

    you should set your u-boot 'serverip' variable to the first ip address displayed and 'ipaddr' variable to the latter IP address displayed.

    Once you do this, you should be able to ping you host IP from your target EVM u-boot prompt.  If you cannot do this, this may point to a problem with the network... 

  • I often see several BROADCAST bootp messages before I actually get an IP address, it seems strange that it would stop after just a couple messages, I have seen it take 30 seconds or more to get the IP depending on the network conditions, if you get an IP address later you can probably get one here too if it waits a while.

    You are probably fine with the U-Boot version, you would have only needed to change that if you had an even older DVSDK you were upgrading from (this can be an issue with some version transitions). As long as you are using the uImage and NFS filesystem from the same DVSDK it should boot, note that the DVSDK 2.x is still considered early adopter so support is limited.

    Your NFS configuration in /etc/exports matches the settings I use so that should be ok.

  • Thanks Juan & Bernie. I will try the dhcp command & see if i can drill the issue a lil more. I will keep you posted about the results.

  • ok, i tried the DHCP command n following were my findings. I am also attaching a brief handshake, which i saw using a sniffer program - ethereal, just to know what is going on the network. Before i go into explaining what i did, n found, my network & ip address are as follows.

    i have a DHCP server (suse machine) ip - 192.168.0.175 - range of ip addresses i ask it to assign are 192.168.0.50 - 192.168.0.99

    my host maching(fedora maching) ip - 192.168.0.96. this is the one where i have the nfs server running & where my target file system resides.

    lastly on my n/w i have dvevm DM355 target - ip 192.168.0.98.

    I have tried ping cmd from dhcp server to host & vice versa and that is sucessful. Now test is from target if i can ping to host & dhcp server.

    First, rebooted the eval board, stopped the regular boot, on uboot prompt tried dhcp. following is what i got.

    U-Boot 1.2.0 (Feb  2 2008 - 23:52:10)tpath= family 2dware ECC            

    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
    ARM Clock :- 216MHz
    DDR Clock :- 171MHz
    Hit any key to stop autoboot:  0
    DM355 EVM # dhcp
    BOOTP broadcast 1
    DHCP client bound to address 192.168.0.98
    *** Warning: no boot file name; using 'C0A80062.img'
    TFTP from server 0.0.0.0; our IP address is 192.168.0.98
    Filename 'C0A80062.img'.
    Load address: 0x80700000
    Loading: *
    TFTP error: 'File not found' (1)
    Starting again


    Abort
    DM355 EVM #

    I dont undertand, what .img file its looking for ? also, i am assuming it was successful in finding the IP address. But unsucessful in finding the nfs host?

    Next, as Juan suggested, made serverip - 0.0.0.0 & ipaddr 192.168.0.98 using the setenv command.

    Then ping 192.168.0.175

    result: host alive

    At this point, i see the sniffer & packets on the n/w n i see echo request  & reply cmd from 192.168.0.98 to 192.168.0.175 and vice versa.

    Then ping 192.168.0.96

    result: host alive

    At this point, when i see the sniffer, i see echo request from 192.168.0.98, but no reply from 192.168.0.96 even then, target says host alive?? not sure whats happening.

    Now i wanted to try if, i can ping to target board from dhcp server & host machine:

    so i did ping 192.168.0.98 - n both the machines say host unreachable. i see echo requests being broadcasated asking who has 192.168.0.98, n no reply from target.

     

    I am assuming that there is a n/w problem, but not sure how to fix it. I am sorry for too many details, but wanted tto give a complete picture.

    Thanks a lot for your time.

    Roshni Shah

     

     

     

     

     

     

     

     

  • I also checked the firewall in the host machine by checking /etc/init.d/iptables status & it says firewall stopped. n checked the nfs server status n that says running too.

     

  • Roshni Shah said:
    I dont undertand, what .img file its looking for ? also, i am assuming it was successful in finding the IP address. But unsucessful in finding the nfs host?

    The DHCP command does more than just attempt to get an IP address, it actually tries to load a kernel image (uImage) over the network through the TFTP protocol to boot later, so though I have no idea why it tries C0A80062.img I can say that it sounds like you dont have bootfile = uImage in your U-Boot arguments (you probably also don't have a serverip variable to define where to get the kernel image thus why it defaults to 0.0.0.0). Based on this, I do assume you updated your kernel image in the flash before trying to boot the new DVSDK's filesystem over NFS (just want to verify since normally I just load both kernel and FS over the network with TFTP and NFS so I can easily change kernels). It does look like it successfully received an IP address of 192.168.0.98 so the network is at least partially working.

    I am not sure why the sniffer is not showing the ping packets for the successful ping, I can say that the ping command in U-Boot does generally function correctly, and I have had many cases where it does not give you the positive 'host alive' message when there were problems with the network or host firewall.

  • Hi Bernie, thanks a lot for your help.

    REF: you dont have bootfile = uImage in your U-Boot arguments (you probably also don't have a serverip variable to define where to get the kernel image thus why it defaults to 0.0.0.0)

    By Uboot arguments i am assuming you mean the environment variable correct? Yes, i dont have a serverip argument & i dont have the bootfile argument too.

    REF: Based on this, I do assume you updated your kernel image in the flash before trying to boot the new DVSDK's filesystem over NFS (just want to verify since normally I just load both kernel and FS over the network with TFTP and NFS so I can easily change kernels)

    Before i upgraded the kernel & dvsdk, i think i had tried the boot from tftp for the old kernel, maybe that is the problem? (Section 4.5 - 4.8 GSG) so if i understand it correctly section4.8 transfers the kernel via tftp to the target and the target tries to boot from this new uImage & thus needs server IP, uimage file in the /tftp folder in the host each time it boots up following that. But now i upgraded the kernel & the uboot arguments(using setenv) but still it is internally looking for server ip n uImage file to boot from the wrong kernel? n hence the message kernel too old?

    Ok, how do i reset the device completely to start fresh? can i erase the flash to clear these settings?

    REF: normally I just load both kernel and FS over the network with TFTP and NFS so I can easily change kernels

    Can you please elaborate a little bit on this. 

     

    Thanks a lot for your help. I really appreciate your taking time.

    Roshni Shah

     

     

     

  • Hi,

    i have DM355 Davinci and it had been working nice till now...But i get a problem now and i can´t fix it. When i try to boot from tftp server, i configure the server (setenv serverip 192.168.100.116) and when it boots,i get the message :

    TFTP from server 192.168.100.1; our IP address is 192.168.100.111                                

    Filename 'uImage-dm355'

    .....

    TFTP error: 'File not found'

     

     

    This is very strange!The DM355 doesn't assume the serverip configuration and try to boots from the router ip address!What i'm doing wrong??

  • If this is happening you can get past it typically either by using static IP addresses, or by using a different router. Some routers (or specifically the DHCP server in the router) insert a different IP address to be used for TFTP into the DHCP information it provides to the board, unfortunately I do not know of a way to override this new address from within U-Boot (at least without going into modifying the source and rebuilding U-Boot). If your router offers the configuration to change this you may also be able to fix it that way, but most generic routers do not necessarily give you this level of control over the configuration of the DHCP server.

    EDIT: Reply was meant for Andre's post at http://community.ti.com/forums/p/4937/19205.aspx#19205 

  • Roshni Shah said:
    FATAKernel panic - not syncing: Attempted to kill init!
    L: kernel too ol d

    Just wanted to do a quick follow up on this particular error, I just happened to come across this FATAL: kernel too old error when I tried booting a DM355 with a 1.30 DVSDK kernel on a 2.00 DVSDK filesystem, it went away as soon as I booted the board with a DVSDK 2.00 kernel (uImage).

  • Hi Bernie,

     

    Yes, i was able to resolve the issue. I did the same thing tried booting a DM355 with 1.3 DVSDK kernel on a 2.0 DVSDK filesys and fixed it the same way. Thanks for the follow up.

     

    Roshni Shah

  • On the DM6446 I had the same problem that IP of TFTP becomes router IP instead of TFTP server IP. I had a temporal solution: I changed the IP of the router to the IP of the TFTP computer, after the IP was decided (even while the uImage was loading), I changed it back quickly.

    This can be only a temporal solution. In case of swiching regularly between DVSDK versions, I think It should be possible to load both versions of uImage to the memory, and change only the boot address.