Ceci est une ancienne révision du document !
PXE can be considered as one of the ways to load the operating system on a computer.
The Preboot eXecution Environment (PXE, also known as Pre-Execution Environment; sometimes pronounced “pixie”) is an environment to boot computers using a network interface independently of data storage devices (like hard disks) or installed operating systems.
When the computer has PXE capabilities, the BIOS allows the user to choose among the possible devices to load the operating system, and thereby boot from the network.
If this option is selected, the firmware PXE uses DHCP to configure an IP address on the network adapter and locate a server (the “boot server”) via TFTP to download a file, storing it in RAM memory.
This file is then executed, thereby booting an operating system.
In standard mode, the DHCP server does not directly provide the boot server, but acts as a “PXE redirection service”, which redirects the client to the available PXE server.
The PXE server is a modified DHCP server, which uses UDP port 4011 and provides the client with the IP address of the boot server and the name of the network bootstrap program (NBP) to download.
In practice, usually the PXE firmware is able to directly receive the necessary parameters from the DHCP server to identify the server and the boot file to download, and you can configure a standard DHCP server to provide the necessary parameters to boot via PXE.
sudo apt-get install tftpd-hpa dhcp3-server netkit-inetd lftp
Modify the /etc/default/tftpd-hpa file as shown above right.
The last row will have a verbose log.
Now we work on the files related to the DHCP Service:
vim /etc/dhcp3/dhcpd.conf
and type the text shown below.
Clearly, the IP addresses are totally invented; you must insert the correct ones.
The filename parameter is usually pxelinux.0, but can be modified at will by placing it where it is convenient for you.
It is not over yet with DHCP…
vim /etc/default/dhcp3-server
and specify the interface to use with the INTERFACES directive.
We put in /var/ lib/tftpboot an Ubuntu distribution netboot version taking it from here:
lftp -c “open http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-i386/current/images/;
mirror netboot/”
Then we start the services:
sudo /etc/init.d/tftpd-hpa start
sudo /etc/init.d/dhcp3-server start
and we pass to the configuration of the PC terminal on which it will be installing the operating system.
Usually, modern BIOSes have the boot option set to the F12 key, but I recommend the classic RTFM … to dispel any doubt.
The computer that will be used as a terminal seeks the IP address via DHCP, and once it has obtained this, will allow access to the folder of the tftp server to show the typical GRUB installation.
I usually work with server versions of Ubuntu, but it could happen that the desktop version, using the graphical installer, does not allow the proper display of the options, especially if the machine on which you want to proceed is a bit old and has not large-capacity video graphics. In this case, edit the
/var/lib/tftpboot/ubuntu-installer/i386/boot-screens
and write
This will allow you to boot using older machines.