[U-Boot-Users] NFS TFTP problem

Jerry Van Baren gerald.vanbaren at ge.com
Wed Aug 6 13:31:19 CEST 2008


cjjoy1980 wrote:
> I have enabled nfs booting on ppc based embedded board.  I had placed my
> kernel and rootfs in tftp directory, and had set the u-boot enivironment
> varialbes as: 
>    setenv bootfile /image/kernel 
>    setenv root_path /tftpboot/image 
> 
> The board was booting with this configuration... 
> 
> Now I have placed the kernel image and rootfs in /exports directory and have
> set the uboot variables as: 
>    setenv bootfile /exports/image/kernel 
>    setenv root_path /exports/image 
> 
> I am not able to boot the board with the above directory.  I am getting the
> error 
> 
>        Loading: T 
>        TFTP error: 'File not found' (1) 
>        Starting again. 
> 
> TFTP by default looks for /tftpboot directory.. How can we make the server
> to fetch files apart from the default one??

You cannot make the TFTP server fetch files apart from the default one. 
  Furthermore, you don't want to.

TFTP inherently has *NO* concept of security: no authentication - 
*anybody* can read *any* file in the TFTP directory and potentially can 
write any file they want into the TFTP directory.

As a result, TFTP servers are (and should be) severely restrictive of 
what directories they serve files out of and are willing to store files 
into (if configured to allow writing - generally a bad idea).

You can configure your TFTP server to serve the same directory as you 
export via NFS and your TFTP load will start working again.
****THIS IS A VERY, VERY BAD IDEA!****

As pointed out by Ben, you can symlink your image file so that it 
appears in your TFTP directory again - this is the best solution if you 
*must* move your image into the NFS directory.  You need to decide if 
you have a good reason to move your image *out* of your TFTP directory.

Best regards,
gvb




More information about the U-Boot mailing list