OpenWrt Forum Archive

Topic: tftp for OpenWRT?

The content of this topic has been archived on 4 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Does anyone know of a Tftp package for OpenWRT?

I would like to run an Tftp server on a WRT54G to be used for PXE booting of other devices.

Thanks for your time.

(Last edited by MrUmunhum on 24 Jan 2006, 21:19)

There is no binary TFTPD package for White Russian. But it can easily be packported from Kamikaze using OpenWrt's SDK.

To backport the atftp (client and server) package from Kamikaze do:

cd /tmp
wget http://downloads.openwrt.org/whiterussian/newest/OpenWrt-SDK-Linux-i686-1.tar.bz2
bzcat OpenWrt-SDK-Linux-i686-1.tar.bz2 | tar -xf -
cd OpenWrt-SDK-Linux-i686-1/package/
svn co https://svn.openwrt.org/openwrt/trunk/openwrt/package/atftp/
cd ..
make atftp-clean && make atftp-compile

ls -al bin/packages
-rw-r--r--  1 openwrt-dev openwrt-dev 18249 2006-01-24 23:03 atftp_0.7-1_mipsel.ipk
-rw-r--r--  1 openwrt-dev openwrt-dev 31819 2006-01-24 23:03 atftpd_0.7-1_mipsel.ipk

That's it. Have fun.

(Last edited by olli on 24 Jan 2006, 23:14)

Olli,

  Thanks for the reply.  I did the install which ran OK, but at execution time I get:

root@Router_9:~# atftpd --help
atftpd: can't load library 'libpcre.so.0'
root@Router_9:~#

  Would you know when I can get this file?

Seems there is a dependency missing. Please do:

ipkg install libpcre

(Last edited by olli on 25 Jan 2006, 02:28)

Here you can find a tftp-server: http://www2.wpkg.org/openwrt/ (and some other server-oriented packages).

You need to run it through xinetd:

# cat /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        disable = no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/tftpd
        server_args             = -s /var/lib/tftpboot
        per_source              = 11
        cps                             = 100 2
        flags                   = IPv4
}


# cat /etc/services |grep tft
tftp             69/tcp    # Trivial File Transfer
tftp             69/udp    # Trivial File Transfer

Sorry, I am also a total newbe at this.
and i only seem to follow the DumbME guide,, LOL

I am looking at post number 7 of this thread, about running it through xinetd.

Can  someone please explain this one a little more as i can not figure out how to do this.

till now i have been a total windows flunkie,, and trying my best to learn something better.

Regards
Tom

brianez21
Thank you for the info,  I am working with it trying to figure it out and get it working, 

I am just not really sure what i am doing, this is the first ipkg i have installed and am totally new to anything other than windows. so its a major experience for me.

thanks again,,
Tom

finally work it out !!

added an "a" in the line

server                  = /usr/sbin/atftpd

(as this is the name of the file located in /usr/sbin)

created file service with :

tftp    69/tcp
tftp    69/udp
tftp-mcast      1758/tcp
tftp-mcast      1758/udp

created folder /atftpboot (and put the file to be transmetted in this folder)
and
chmod 777 /atftpboot

note that atftp is client package and atftpd is server

use atftp --daemon to make listening on port

tested with TFTPD32 v3.01 (windows system) works fine


sources : this post ! and http://www.debianadmin.com/atftp-server … ation.html

thanks ... still gotta find out how to launch the daemon on start up any solution ?

ok igot it working with the atftpd package
BUT some dependencies are missing : libpcre libpthread libreadline u have to install them manually
AND you have to creathe the /etc/services files with
tftp    69/tcp
tftp    69/udp

i netbooted my Sparc succesfully with it

to start it on boot: 2 solution
1 add the line "atftd --daemon /whateveryourfolderis" in a scrip in /etc/init.d/
2 wrtie an additionnal script  example S50atftpd containing the command mentionned earlier and dont forget to chmod +x S50atftpd
in Sxx scripts xx indicates a time in seconds after the beginning of the boot at wich time the script is executed

The discussion might have continued from here.