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.

problems mounting uImage via tftp (OMAP L137 evaluation Kit)



hello

to install the Linux-based SDK i walked through the getting started guides (leaving the restoring/ flashing bootloaders, cause the Kit came with a SD-Card containing MV5-Linux and bootet it properly.)

to continue the getting started guide i tried to use tftp to boot from the uImage in my Linux-VM

the env of the board are:

U-Boot > printenv                                                              
bootdelay=3                                                                    
baudrate=115200                                                                
ethaddr=00:0e:99:02:fe:76                                                      
filesize=1B8994                                                                
fileaddr=C0700000                                                              
env=nfshost 10.0.1.191                                                         
nfshost=10.0.1.191                                                             
serverip=10.0.1.191                                                            
ipaddr=10.0.1.138                                                              
bootcmd=tftp 0xc0700000;bootm                                                  
bootfile=uImage                                                                
rootpath=/home/mkastner/workdir/filesys                                        
bootargs=console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=10.0.1
.191:/home/mkastner/workdir/filesys,nolock mem=32M                             
tftp=bootm                                                                     
stdin=serial                                                                   
stdout=serial                                                                  
stderr=serial                                                                  
ver=U-Boot 1.3.3 (Apr 23 2009 - 17:32:00)  

(i found the information using static ip, and used it, because otherwise the EVM does not try to load the file from my Linux-VM (10.0.1.191) instead it tries to get it from another server in our network, instead of   TFTP from server 10.0.1.191   i would get prompted   TFTP from server 10.0.1.6 , which seems wrong to me

but still i can not boot the uImage, getting the following messages:

Environment size: 479/16380 bytes                                              
U-Boot > boot                                                                  
TFTP from server 10.0.1.191; our IP address is 10.0.1.138                      
Filename 'uImage'.                                                             
Load address: 0xc0700000                                                       
Loading: T T T     

unlike mentioned in the getting started guide my Ubuntu Linux (2.6.32-21-generic) does not use inetd but uses xinetd.

i added the line

 tftp dgram  udp wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

in /etc/xinetd.conf and after this did not work, i installed inetd manually and added the same line into the file /etc/inetd.conf

the command :  ps aux | grep tftp  results in the following prompt:

root      8589  0.0  0.0   2276   284 ?        Ss   16:53   0:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure /var/lib/tftpboot

but the Boot via tftp still dows not work.

maybe someone could tell my where i made the mistake ?

 

best regards Rico

 

  • The area that might be causing the problem are the parameters being passed to tftp. 

    Please try adding a file called tftp in /etc/xinetd.d with these contents and perform the xinetd restart, please note the server_args has the path to the directory where you will have the kernel. In this example we have a directory called /tftpboot. Also please note there should be one space around the = for each parameter. Also please make sure that directory containing the kernel has the appropriate permissions, probably a sudo chmod 777 would be a step to perform.

    service tftp

    {

    protocol = udp

    port = 69

    socket_type = dgram

    wait = yes

    user = nobody

    server = /usr/sbin/in.tftpd

    server_args = /tftpboot

    disable = no

    }

  • such a file already exists, having 2 different entry's:

    server_args = -u root -c -s /ftpboot

    user = root

    changing them into your given example does not result in beeing able to boot.

    the file is direclty in the directory /ftpboot which has been given the 777-permissions