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.

Boot Error via TFTP in AM335x EVM

Hi,

I'm working with a AM335x EVM board and a Ubuntu 12.04 in a virtual console (vMware). I would like making Boot via TFTP and because the ./setup.sh doesn't work propertly I try to make this manually and I have been changing the U-boot properties.

These are my U-boot properties:

autoload=yes                                                                   
baudrate=115200                                                                
bootargs=console=ttyO0,115200n8 root=/dev/nfs nfsroot=192.168.3.58:/home/sst/sit
ara/targetNFS,nolock rw ip=dhcp                                                
bootargs_defaults=setenv bootargs console=${console} ${optargs}                
bootcmd=tftp                                                                   
bootdelay=3                                                                    
bootenv=uEnv.txt                                                               
bootfile=uImage-am335-evm.bin                                                  
console=ttyO0,115200n8                                                         
ethact=cpsw                                                                    
ethaddr=00:18:31:e1:fc:42                                                      
gateway=192.168.1.1                                                            
getway=192.168.3.1                                                             
importbootenv=echo Importing environment from mmc ...; env import -t $loadaddr $
filesize                                                                       
ip_method=dhcp                                                                 
ipaddr=192.168.3.25                                                            
kloadaddr=0x80007fc0                                                           
loadaddr=0x82000000                                                            
loadbootenv=fatload mmc ${mmc_dev} ${loadaddr} ${bootenv}                      
mmc_args=run bootargs_defaults;setenv bootargs ${bootargs} root=${mmc_root} root
fstype=${mmc_root_fs_type} ip=${ip_method}                                     
mmc_boot=run mmc_args; run mmc_load_uimage; bootm ${kloadaddr}                 
mmc_dev=0                                                                      
mmc_load_uimage=fatload mmc ${mmc_dev} ${kloadaddr} ${bootfile}                
mmc_root=/dev/mmcblk0p2 rw                                                     
mmc_root_fs_type=ext3 rootwait                                                 
nand_args=run bootargs_defaults;setenv bootargs ${bootargs} root=${nand_root} no
initrd rootfstype=${nand_root_fs_type} ip=${ip_method}                         
nand_boot=echo Booting from nand ...; run nand_args; nandecc hw 2; nand read.i $
{kloadaddr} ${nand_src_addr} ${nand_img_siz}; bootm ${kloadaddr}               
nand_img_siz=0x500000                                                          
nand_root=ubi0:rootfs rw ubi.mtd=7,2048                                        
nand_root_fs_type=ubifs rootwait=1                                             
nand_src_addr=0x280000                                                         
net_args=run bootargs_defaults;setenv bootargs ${bootargs} root=/dev/nfs nfsroot
=${serverip}:${rootpath},${nfsopts} rw ip=dhcp                                 
net_boot=echo Booting from network ...; setenv autoload no; dhcp; tftp ${kloadad
dr} ${bootfile}; run net_args; bootm ${kloadaddr}                              
netmask=255.255.255.0                                                          
nfsopts=nolock                                                                 
nor_args=run bootargs_defaults;setenv bootargs ${bootargs} root={nor_root} rootf
stype=${nor_root_fs_type} ip=${ip_method}                                      
nor_boot=echo Booting from NOR ...; run nor_args; cp.b ${0x08080000} ${kloadaddr
} ${nor_img_siz}; bootm ${kloadaddr}                                           
nor_img_siz=0x280000                                                           
nor_root=/dev/mtdblock3 rw                                                     
nor_root_fs_type=jffs2                                                         
nor_src_addr=0x08080000                                                        
rootpath=/home/sst/sitara/targetNFS                                            
script_addr=0x81900000                                                         
serverip=192.168.3.58                                                          
spi_args=run bootargs_defaults;setenv bootargs ${bootargs} root=${spi_root} root
fstype=${spi_root_fs_type} ip=${ip_method}                                     
spi_boot=echo Booting from spi ...; run spi_args; sf probe ${spi_bus_no}:0; sf r
ead ${kloadaddr} ${spi_src_addr} ${spi_img_siz}; bootm ${kloadaddr}            
spi_bus_no=0                                                                   
spi_img_siz=0x380000                                                           
spi_root=/dev/mtdblock4 rw                                                     
spi_root_fs_type=jffs2                                                         
spi_src_addr=0x62000                                                           
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off       
stderr=serial                                                                  
stdin=serial                                                                   
stdout=serial                                                                  
tftp_nfs_boot=echo Booting from network                                        
uenvcmd=run tftp_nfs_boot

And this the result:

Auto Negotitation failed for port 1                                            
link up on port 0, speed 100, full duplex                                      
BOOTP broadcast 1                                                              
DHCP client bound to address 192.168.3.36                                      
Using cpsw device                                                              
TFTP from server 192.168.3.1; our IP address is 192.168.3.36                   
Filename 'uImage-am335-evm.bin'.                                               
Load address: 0x0                                                              
Loading: *                                                                     
TFTP error: 'File not found' (1)                                               
Not retrying...                                                                
Wrong Image Format for bootm command                                           
ERROR: can't get kernel image!

Can anybody help me?

  • Breixo Lopez Garcia

    Can you verify your tftp server has the file or not as the error reported is File not found?
    Also change the boot command to have proper tftp load address as it assumed as 0x0 from the logs

    Regards
    Mugunthan V N

  • I think I had the same problem than you:

    http://e2e.ti.com/support/dsp/sitara_arm174_microprocessors/f/791/t/182156.aspx

    Your computer has ip 192.168.3.58 but your EVM tries to download the kernel file from 192.168.3.1 (dhcp server I think).

    I would try to boot manually with serverip=192.168.3.36.

    "dhcp" command modifies serverip, you have to set serverip after dhcp.

    Regards

  • Hi Mugunthan V

    Thanks for your reply, you are right the U-boot tries to download the file from a TFTP server 192.168.3.1 that is not my computer (or properly my host), a for this reason it hasn't the file. But one question more what you refer to "0x0 from the logs"

    Regards

    Breixo Lopez Garcia

  • Hi FordFairlane,

    Thanks for your helpful answer, I'm going to try to do that and I reporter the results. whether I will add this:

    bootcmd=setenv autoload no;dhcp  ${bootfile};setenv serverip 192.168.3.58;
    tftp  ${loadaddr}  ${bootfile};run net_args;bootm  ${loadaddr}

    the serverip would be set after dhcp, doesn't it? Sorry for this question but I am begginer with this.

    Regards

    Breixo Lopez Garcia

  • Hi Breixo

    I'm a beginner too, I suppose it will boot but I'm not sure. Try it and good luck.

    I have a problem with the touchscreen and nobody helps me. Could you please reply to my post "AM335x EVM touchscreen not working on Linux" http://e2e.ti.com/support/dsp/sitara_arm174_microprocessors/f/791/t/231461.aspx?, please copy & paste your boot log and U-boot printenv output to compare it with mine.

    Regards

  • Hi FordFairlane,

    I followed your recommendation and the boot via TFTP worked well

    the proc/cmdline shows:

    console=ttyO0,115200n8 root=/dev/nfs nfsroot=192.168.3.58:/home/sst/sitara/targe
    tNFS,nolock rw ip=dhcp        

    Thank

    -Regards

    Breixo Lopez Garcia