From ArchWiki
Revision as of 18:27, 10 June 2011 by Pointone (Talk | contribs) (Bot: Removing from Category:HOWTOs (English))

Jump to: navigation, search

Tango-document-new.pngThis article is a stub.Tango-document-new.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:TFTP#)


This HOWTO describes how to set up a tftpd server under Arch Linux.


The first thing is to install all necessary stuff:

# pacman -S mkpxelinux  tftp-hpa dhcpcd


At first we will create a /etc/dhcpd.conf file. It has to look like this (basic dhcpd config):

ddns-update-style interim;

subnet *your subnet* netmask *your netmask* {
        option routers                  *IP of your router*;
        option subnet-mask              *your subnet again*;

        option domain-name              "here you can put your domain name if you dont have one take";

        option time-offset              -18000;     # Eastern Standard Time
        next-server *IP of your machine where dhcpd is running*;
        filename "pxelinux.0";

        allow booting;
        allow bootp;

        range *the range of ip addresses your dhcpd is allow to take, example:*;

Remove the ** from the config.

Run mkpxelinux, which will put the required boot files in /var/tftpboot.

~# mkpxelinux -c=/etc/mkpxelinux.conf

This will create all images and stuff to boot.

Now we replace the kernel and the initrd.img with the newest from the install iso.

$ wget

When the download is finished, we nearly finished.

# mount -o loop /where/the/iso/is/located /path/to/mount/
# cp /path/to/mount/isolinux/initd.img /var/tftpboot/
# cp /path/to/mount/isolinux/vmlinuz /var/tftpboot/

Now last config and then we can load all the stuff:

# nano /etc/hosts.allow

Add these lines:

tftpd: ALL
in.tftpd: ALL

Now do:

# /etc/rc.d/tftpd start

Note: The tftpd server will fail to start if you disabled ipv6 support in your kernel. You will need to edit /etc/conf.d/tftpd and add --ipv4 to the beginning of the TFTPD_ARGS string.

And in a terminal:

# dhcpcd

Now you can start the PC you want to install.

Good Luck!