NetBoot installers and Live OSs over TFTP. This project is a wizard, collection of install scripts, patches, ... to setup a PXE server with most popular GNU/Linux distros.
- Clone this repository.
git clone https://github.com/piffall/pxe-sw
- Build image and setup, this could take several time
make all
After this point, the container is ready. You only need to start/stop when you need.
docker start pxe-sw
docker stop pxe-sw
#### Enable as service
make install # Systemd only
- Debian based OS (Debian,Ubuntu,Mint,...)
- Some packages: wget, sudo, unzip, tar, ...
- Install dependencies
sudo apt-get -y install git tftpd-hpa unzip wget curl p7zip-full xzip xz-utils cpio
- Clone this repository, I recomend you clone into your home path.
git clone https://github.com/piffall/pxe-sw /path/to/pxe-sw
- Setup (required step)
This will ask for IP address to listen to, and if you want to setup all OS. If you are only interested in one of them, answer "n" to this question.
./setup.sh
- Specific OS setup
If you only want to setup one OS, for example, Debian, find corresponding setup script and run it, after that, you shuold run fix-vesamenu.sh.
./scripts/exec/debian-stable-amd64.sh
./fix_vesamenu.sh
- Create a symlink
If you /srv/tftp already exists, this will cause an error, please backup and remove /srv/tftp before symlink.
sudo ln -s /path/to/pxe/ /srv/tftp
- Install tftpd-hpa
sudo apt-get install tftpd-hpa
- Edit the configuration file "/etc/default/tftpd-hpa"
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--verbose"
#TFTP_OPTIONS="--secure"
Note that "--secure" option line is commented
- Edit the DHCP configuration file "/etc/config/dhcp" to add a dhcp_boot option
config dnsmasq
option domainneeded '1'
option boguspriv '1'
option localise_queries '1'
...
option dhcp_boot '/srv/tftp/pxelinux.0,pxe-hostname,192.168.1.254' # Change host and IP address.
- Restart your device
- Add an option to the network configuration
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.200 192.168.1.253;
option domain-name "lan";
default-lease-time 1800;
max-lease-time 7200;
next-server "192.168.1.254"; # The TFTP IP address
option bootfile-name "/srv/tftp/pxelinux.0"; # The PXE file
}
- HDT (Hardware Detection Tool)
- MHDD (Low-level HDD Diagnostic Tool)
- Memtest86+
- FreeDOS
- VMWare ESXi (It needs to be downloaded manually)
- Charmeleon (EFI)
- GAG Graphical Boot Manager
All files are under GNU General Public License v3
Please consider support the project donating to the Bitcoin address below:
17q6RT31yEJAptrUzXhwEq5iPwEguEFFBG