tftpd is a Trivial File Transfer Protocol server and allows network booting. Until now the Wiki of IPFire explained how to install IPFire over Tftpd. This Wiki shows how IPFire can also work as a Tftpd in the network.
Installation
tftpd is installed with the Pakfire web interface or via the console:
pakfire install tftpd
Usage
The only WebGUI available is the tftpd service at the menu Status -> Services in the Addon - Services section. There is no other webGUI for this Addon. To configure this Addon open the client console or terminal.
PXE (Preboot eXecution Environment) image via tftpd server
This is a standard created by Intel that allows a computer to load an operating system over a network before booting its own local operating system. This is very useful for remote management and provisioning of computers, as it means you can install an operating system on a computer without needing to be physically present at that computer.
PXE operates in the client/server model. The client sends a request to the server, and the server responds with the necessary boot information. In addition, PXE uses DHCP at a fundamental level to obtain the IP address and other network information.
The PXE process involves several stages, including initializing the network interface, establishing communication with the DHCP server, downloading the required boot files via TFTP (Trivial File Transfer Protocol), and finally booting the downloaded operating system.
Configuration
First of all the basic conditions needs to be created:
- From the Syslinux project, the files
pxelinux.0
,memdisk
will be needed - Copy the
pxelinux.0
andmemdisk
files into the/var/tftpboot
directory - then enter:
mkdir -pv /var/tftpboot/pxelinux.cfg
touch default
In the default
file is the configuration for pxelinux.0
(see below).
For example, the following might be a possible content:
Comparison: Pxelinux
File: /var/tftpboot/pxelinux.cfg/default
default suse92
prompt 1
timeout 10
label suse92
kernel /SuSE-9.2/i386/linux
append initrd=/SuSE-9.2/i386/initrd vga=0x314 \
install=nfs://131.188.3.145/proj.stand/suse/suse9.2
label local
LOCALBOOT 0
Note: The file pxelinux.0
must be registered in IPFire. Go to menu Network -> DHCP Server and locate the field filename.
Now restart the tftpd service with:
/etc/rc.d/init.d/tftpd restart
Is WINPE needed?
If WINPE should be started, you need to adapt the file /etc/rc.d/init.d/tftpd
in the line "start" as it follows:
loadproc /usr/sbin/tftpd -l -s /var/tftpboot -m /var/tftpboot/tftpd.remap -vvv
In addition, the file tftpd.remap
must be created in /var/tftpboot
with the following contents:
File: /var/tftpboot/tftpd.remap
# Remap Rules
re ^bootmgr\.exe Boot/bootmgr.exe
r ^\\Boot\\ Boot/
r ^\\boot\\ Boot/
rg \\ /
and set then a appropriate symlink:
ln -s /mnt/xxxx/tftpboot /var/tftpboot
Over a Symlink you can refer the tftpboot folder to another hard disk. This saves space on the IPFire system.
Firmware image via tftpd server
Copy the firmware to the /var/tftpboot
directory.
Now restart the tftpd service with:
/etc/rc.d/init.d/tftpd restart
In the devices configuration:
- enter the IP address of the IPFire server
- enter the name of the file
- click Apply
Note: The current pakfire tftpd release is version 5.2 was released by the tftpd development team in 2011. This is the latest release available from the tftpd development team.