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.

AM3517 booting or flashing kernel via tftp issue

Other Parts Discussed in Thread: AM3517

Hello,

I'm trying to load the default kernel from the PSP on an AM3517 on a Logic PD experimenter board.  I'm running Ubuntu 9.04 on Virtual Box on Windows 7.

I think the issue is with the TFTP, as it won't get past that step.  I've tried both flashing the kernel via tftp, and booting from tftp using a NFS file system as described in the getting started guides, but both instances I get the following:

AM3517_EVM # boot

BOOTP broadcast 1

DHCP client bound to address 192.168.1.83

Using DaVinci EMAC device

TFTP from server 192.168.1.80; our IP address is 192.168.1.83

Filename 'uImage'.

Load address: 0x82000000

Loading: T T T T T T T T T T T T T T T T T T T T

Retry count exceeded; starting again

Using DaVinci EMAC device

TFTP from server 192.168.1.80; our IP address is 192.168.1.83

Filename 'uImage'.

Load address: 0x82000000

Loading: T T T T T T T T T T T T T T

Abort

Wrong Image Format for bootm command

ERROR: can't get kernel image!

 

Here are the env variables:

AM3517_EVM # printenv

baudrate=115200

loadaddr=0x82000000

console=ttyS2,115200n8

mmcargs=setenv bootargs console=${console} root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait

nandargs=setenv bootargs console=${console} root=/dev/mtdblock4 rw rootfstype=jffs2

loadbootscript=fatload mmc 0 ${loadaddr} boot.scr

bootscript=echo Running bootscript from mmc ...; source ${loadaddr}

loaduimage=fatload mmc 0 ${loadaddr} uImage

mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${loadaddr}

nandboot=echo Booting from nand ...; run nandargs; nand read ${loadaddr} 280000 400000; bootm ${loadaddr}

dieid#=155e0000000000000154417b02017017

ethact=DaVinci EMAC

ethaddr=00:50:c2:da:2f:6a

netmask=255.255.255.0

gatewayip=192.168.1.1

get_kernel=run nand_kernel

get_initrd=run nand_initrd

nand_kernel=nand read.i 0x80000000 280000 500000

nand_initrd=nand read.i 0x82000000 780000 2000000

tftp_kernel=tftpboot 0x80000000 uImage

tftp_initrd=tftpboot 0x82000000 ramdisk.gz

bootargs_rd=mem=256M console=ttyS2,115200n8 root=/dev/ram0 initrd=0x82000000,40M ramdisk_size=32768

bootargs_fs=mem=256M console=ttyS2,115200n8 noinitrd root=/dev/mtdblock4 rw rootfstype=jffs2

bootargs_nfs=mem=256M console=ttyS2,115200n8 noinitrd rw root=/dev/nfs nfsroot=/mnt/nfs,nolock

addip=setenv bootargs $bootargs ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:eth0:on eth=$ethaddr

boot_rd=run get_kernel; run get_initrd; setenv bootargs $bootargs_rd; run addip; bootm 0x80000000

boot_fs=run get_kernel; setenv bootargs $bootargs_fs; run addip; bootm 0x80000000

boot_nfs=run get_kernel; setenv bootargs $bootargs_nfs; run addip; bootm 0x80000000

bootdelay=20

nfshost=192.168.1.80

rootpath=/home/engineering/workdir/filesys

stdin=serial

stdout=serial

stderr=serial

bootcmd=dhcp;bootm

serverip=192.168.1.80

bootargs=console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.168.1.80:/home/engineering/workdir/filesys,nolock mem=256M omapfb.rotate=1 omapfb.vrfb=y omap_vout.vid1_static_vrfb_alloc=y

bootfile=uImage

ipaddr=192.168.1.224


Environment size: 1987/131068 bytes


Any help or direction would be appreciated.

Thanks,

Aaron

  • Looks like the DHCP worked. Board obtained address 192.168.1.83. That means the network  is working. Time to check the TFTP server conifguration at 192.168.1.80. Maybe first try TFTP'ing uImage from another machine. Other usual gotchas are firewalls and SELInux on your TFTP server.

  • Thanks for the tips.  I checked the iptables and ufw and disabled them, so hopefully the firewall shouldn't be the issue.  I tried connecting to the TFTP server from a different machine, and still couldn't connect.  So I'm looking over the TFTP server settings and will post if I figure it out.  I'm using tftpd-hpa.  

  • I removed, then re-installed the tftpd-hpa packages, as well as xinetd.

    In "/etc/default/tftpd-hpa" I added the line:

    RUN_DAEMON="yes" 

    and changed the TFTP_DIRECTORY to "/tftpboot"

    In "/etc/inetd.conf" I changed the "/var/lib/tftpboot" to "/tftpboot"

     

    Entered

    sudo service tftpd-hpa restart

    and this time it assigned a process number to tftpd-hpa.

    Tested with the AM3517 EVM and now it boots from TFTP and uses the NFS.

     

    I'm not sure why before the tftpd-hpa was never assigned a process number, but now it works.