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.

Booting via TFTP problem

Hello,

       We are working with OMAP35x EVM Main board Rev G.

1.     I followed the instruction from http://processors.wiki.ti.com/index.php/Setting_Up_a_TFTP_Server

            To setup atftp (I am using Ubuntu 10.04)

2.     I copied the uImage to /tftpboot directory.

3.     I got the following message ‘file not found’ when I tried to boot via TFTP. We use NETGEAR router which has dhcp server. The address 192.168.1.2 is our linux workstation ip address.

 

smc911x: initializing

smc911x: detected LAN9220 controller

smc911x: phy initialized

smc911x: MAC 00:50:c2:7e:91:3b

BOOTP broadcast 1

DHCP client bound to address 192.168.1.3

TFTP from server 192.168.1.2; our IP address is 192.168.1.3

Filename 'uImage'.

Load address: 0x80000000

Loading:

TFTP error: 'File not found' (1)

Starting again

 

BOOTP broadcast 1

DHCP client bound to address 192.168.1.3

TFTP from server 192.168.1.2; our IP address is 192.168.1.3

Filename 'uImage'.

Load address: 0x80000000

Loading:

TFTP error: 'File not found' (1)

Starting again

 

 

What else did I miss. Please help.

 

Thanks,

 

 

  • LYN:

    Please halt the boot process to stop at the U-Boot prompt and type:

     printenv

    and post your environment settings.  The tftp should worl assuming you

    followed all the steps in the wiki article for configuring the atftp server.

    Also, check owner and permissions on the /tftpboot directory.

     

    Regards,

    Michael T

  • Hello Micheal,

    Below is the printout from my terminal. I type the command "run myBoot" at the u-boot prompt to load the kernel. Does atftpd work with ubuntu 10.04?

    Texas Instruments X-Loader 1.42
    Starting OS Bootloader...
    No OOB scheme defined for oobsize 0
    OneNAND:  0 kB
    256 MiB


    U-Boot 2008.10 (Sep 14 2009 - 13:40:58)

    OMAP35X-Family-GP rev 2, CPU-OPP2 L3-165MHz
    OMAP3 EVM board + LPDDR/NAND
    In:    serial
    Out:   serial
    Err:   serial
    Hit any key to stop autoboot:  0


    OMAP3_EVM # printenv
    baudrate=115200
    netmask=255.255.254.0
    bootfile="uImage"
    get_kernel=run nand_kernel
    get_initrd=run nand_initrd
    nand_kernel=nand read.i 0x80000000 280000 220000
    nand_initrd=nand read.i 0x81600000 780000 1000000
    tftp_kernel=tftpboot 0x80000000 uImage
    tftp_initrd=tftpboot 0x81600000 ramdisk.gz
    bootargs_rd=mem=128M console=ttyS0,115200n8 root=/dev/ram0 initrd=0x81600000,40M
     ramdisk_size=40960
    bootargs_fs=mem=99M console=ttyS0,115200n8 noinitrd root=/dev/mtdblock4 rw rootf
    stype=jffs2 mpurate=600 omapfb.rotate=1 omapfb.rotate_type=1 omap_vout.vid1_stat
    ic_vrfb_alloc=y
    bootargs_nfs=mem=128M console=ttyS0,115200n8 noinitrd rw root=/dev/nfs nfsroot=/
    mnt/nfs,nolock
    addip=setenv bootargs $(bootargs) ip=$(ipaddr):$(serverip):$(gatewayip):$(netmas
    k):$(hostname):eth0:on
    boot_rd=run get_kernel; run get_initrd; setenv bootargs $(bootargs_rd); run addi
    p; bootm 0x80000000
    boot_fs=run get_kernel; setenv bootargs $(bootargs_fs); bootm 0x80000000
    boot_nfs=run get_kernel; setenv bootargs $(bootargs_nfs); run addip; bootm 0x800
    00000
    ethaddr=00:50:C2:7E:91:3B
    bootdelay=6
    nfshost=192.168.1.2
    rootpath=/home/guy/workdir/filesys
    bootargs=console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.16
    8.1.2:/home/guy/workdir/filesys,nolock mem=99M mpurate=600 omapfb.rotate=1 omapf
    b.rotate_type=1 omap_vout.vid1_static_vrfb_alloc=y
    bootcmd=run boot_fs
    serverip=192.168.1.2
    myBoot=setenv bootargs $(myBootArgs);dhcp;bootm
    myBootArgs=console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.
    168.1.2:/home/guy/workdir/filesys,nolock mem=99M mpurate=600
    stdin=serial
    stdout=serial
    stderr=serial

    Environment size: 1599/131068 bytes

    OMAP3_EVM # run myBoot

    smc911x: initializing
    smc911x: detected LAN9220 controller
    smc911x: phy initialized
    smc911x: MAC 00:50:c2:7e:91:3b
    BOOTP broadcast 1
    DHCP client bound to address 192.168.1.3
    TFTP from server 192.168.1.2; our IP address is 192.168.1.3
    Filename 'uImage'.
    Load address: 0x80000000
    Loading:
    TFTP error: 'File not found' (1)
    Starting again

    THE PERMISSIONS OF THE /tftpboot IS LISTED BELOW.

    Owner : nobody
    Folder access: Create and delete files
    File access: ---

    Group : root
    Folder access: Create and delete files
    File access: ---

    Others
    Folder access: Create and delete files
    File access: ---

    Execute: Allow executing file as program

    Thanks,

    Lyn

  • LYN:

    If you still see $'s when you type printenv, it means some of the text substitution is not happening correctly.

    probably caused by using single quotes when you should not.   Safest to spell out the entire command.

    Note the single quotes and the "back-slash single-colon" which must be typed to escape the semi-colon when the

    setenv command is typed. The following should work to get kernel from nand and setup root fs on nfs.

    In your example bootcmd was still set for file system on nand flash.

    setenv loadaddr 0x80000000

    setenv serverip 192.168.1.2

    setenv nfshost 192.168.1.2
    setenv ipaddr 192.168.1.3

    setenv bootfile uImage

    setenv rootpath /home/guy/workdir/filesys
    setenv nand_kernel nand read.i 0x80000000 280000 220000

    setenv boot_nand_nfs 'run nand_kernel\; setenv bootargs mem=99M console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.168.1.2:/home/guy/workdir/filesys,nolock\; bootm 0x80000000'

    setenv bootcmd run boot_nand_nfs

     

    NOTE: The tftp command is "tftp" not "tftpboot".  I don't see where you are actually using a tftp command so I am

    confused why it is trying to get the kernel via tftp (ethernet instead of nand flash)

    Kernel can come from nand or tftp, and file system can be on nand, ramdisk or nfs.  Please specify which

    configuration is required.

     

    Regards,

    Michael T

    PS: Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

  • Hello Michael,

    I stopped the u-boot from loading the kernel and typed the following to try to load kernel using TFTP.

    run myBoot

    myBoot is defined as

    myBoot=setenv bootargs $(myBootArgs);dhcp;bootm
    myBootArgs=console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.
    168.1.2:/home/guy/workdir/filesys,nolock mem=99M mpurate=600

    I didnot boot the kernel from NAND flash.

    Please help.

    Thanks,

  • LYN:

    To get kernel via tftp requires a tftp command as in the example below. 

    Some of the UBOOT variables, such as bootcmd and bootargs are always

    used and must be defined.

     

    setenv loadaddr 0x80000000

    setenv serverip 192.168.1.2

    setenv nfshost 192.168.1.2
    setenv ipaddr 192.168.1.3

    setenv bootfile uImage

    setenv rootpath /home/guy/workdir/filesys
    setenv tftpumage tftp 0x80000000 uImage

    setenv boot_tftp_nfs 'run tftpuimage\; setenv bootargs mem=99M console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.168.1.2:/home/guy/workdir/filesys,nolock\; bootm 0x80000000'

    setenv bootcmd run boot_tftp_nfs

    Regards,

    Michael T

    PS: Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!