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.

Problem in booting via TFTP using NFS File System in DM 6467

Other Parts Discussed in Thread: TMS320DM6467

I am using TMS320DM6467 DVEVM v1.40. I have problem in booting via TFTP using NFS File System.

Here are my environment variables:

bootdelay=3
baudrate=115200
stdin=serial
stdout=serial
stderr=serial
ethaddr=00:0e:99:02:b3:a9
bootcmd=dhcp;bootm
serverip=10.206.153.230
rootpath=/home/abotadra/work/workdir/filesys

nfshost=10.206.153.230
bootargs=console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=10.206.153.230:/home/abotadra/work/workdir/filesys,nolock mem=120M davincihd_capture.channel0_numbuffers=4
bootfile=uImage

Here is what gets displayed:

BOOTP broadcast 1
*** Unhandled DHCP Option in OFFER/ACK: 44
*** Unhandled DHCP Option in OFFER/ACK: 46
*** Unhandled DHCP Option in OFFER/ACK: 44
*** Unhandled DHCP Option in OFFER/ACK: 46
DHCP client bound to address 10.206.153.237
TFTP from server 129.219.110.130; our IP address is 10.206.153.237; sending through gateway 10.206.152.1
Filename 'uImage'.
Load address: 0x80700000
Loading: T T

And then it tries, exceeds the limit, tries again and this thing goes for ever.


I have copied my uImage in /var/lib/tftpboot.

And here is the /etc/xinetd.d/tftp file:

service tftp
{
        disable = no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

I have few things to make clear:

(1) What should I specify as the bootfile?
- It should be just 'uImage' or the complete path where the image is stored, i.e. /var/lib/tftpboot/uImage

(2) What will be the TFTP server's IP address?
- I specify it as my host PC IP address. Also, when I give the boot command it says TFTP from server 129.219.110.130, I don't know from where it gets this IP address.

(3) When I am compiling the kernel using make ARCH=arm CROSS_COMPILE=arm_v5t_le- uImage I am getting the following output:

CHK     include/linux/version.h
  SPLIT   include/linux/autoconf.h -> include/config/*
  SYMLINK include/asm-arm/arch -> include/asm-arm/arch-davinci
make[1]: `arch/arm/kernel/asm-offsets.s' is up to date.
make[1]: `include/asm-arm/mach-types.h' is up to date.
  CHK     include/linux/compile.h
  CHK     usr/initramfs_list
  Kernel: arch/arm/boot/Image is ready
  Kernel: arch/arm/boot/zImage is ready
  UIMAGE  arch/arm/boot/uImage
"mkimage" command not found - U-Boot images will not be built
  Image arch/arm/boot/uImage is ready

So, it creates uImage but says U-Boot images won't be built. Is this is a problem?

Also, I am making sure that TFTP and NFS services are enabled in my PC.
I am following the 'Getting started guide' provided with the DM 6467 EVM.
 
Any help would be greatly appreciated.

Thanks,
Abhishek
  • the first thing that caught my eye was the line

    "TFTP from server 129.219.110.130; our IP address is 10.206.153.237; sending through gateway 10.206.152.1"

    As you suggested, ip 129.219.110.130 does make much sense.  Normally this ip address comes from your 'serverip' u-boot enviroment variable and it should be set to your host ip address.  Try clearing this variable and setting it again.

  • I have set the serverip as my host PC ip address. Here is what I get by printenv:

    DM6467 EVM # printenv
    bootdelay=3
    baudrate=115200
    stdin=serial
    stdout=serial
    stderr=serial
    ethaddr=00:0e:99:02:b3:a9
    bootcmd=dhcp;bootm
    serverip=10.206.153.230
    rootpath=/home/<useracct>/work/workdir/filesys
    nfshost=10.206.153.230
    bootargs=console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=10.206.153.230:/home/abotadra/work/workdir/filesys,nolock mem=120M davincihd_capture.channel0_numbuffers=4
    bootfile=uImage

    But, when I give the boot command it shows me TFTP from server 129.219.110.130.

    I am still wondering what the problem could be.

  • I have two things to try

    1) ping host from EVM via u-boot (using host ip obtained via ifconfig Linux command).  This will ensure the hardware channel is ok (e.g. cables and such)

    2) try setting your serverip correctly again (if it changed) using same ip address used to ping host.  Then type the following at the u-boot prompt (I am hoping this gets past the bad ip problem)

        u-boot> tftp 80700000 uImage

    If the second step works, but it fails with 'bootcmad=dhcp;bootm', then this is likely a problem with the dhcp server in your network assigning wrong ips.  If it does not work, but the ip address displayed appears correct, please make sure firewall is disable in your Linux host; firewall can prevent tftp from suceeding.

  • In addition, I suggest that you can try to use static ip address instead of "dhcp",  that is to test whether your host or router has problem on "dhcp".

    "bootargs=console=ttyS0,115200n8 noinitrd rw ip="<here is your static ip address>" root=/dev/nfs nfsroot=10.206.153.230:/home/abotadra/work/workdir/filesys,nolock mem=120M"

    And don't forget to close your firewall in linux host, sometimes firewall brings difficult when host connects with evm board.

     

    Lorry

  • There was a problem with the DHCP configuration, I got it rectified and in the bootcmd I need to give dhcpd instead of dhcp. Now its working fine!

    Thanks everyone for the help.