Jeremy Gardais dac9d8add1 | ||
---|---|---|
config | ||
preseed/debian | ||
pxelinux.cfg | ||
scripts | ||
.gitignore | ||
CHANGELOG.md | ||
README.md | ||
chain.c32 | ||
gpxelinux.0 | ||
menu.c32 | ||
pxelinux.0 | ||
reboot.c32 | ||
vesamenu.c32 |
README.md
tftpboot
Overview
All needed files to set up a PXE server.
Description
PXE files
Use some bootloaders files provide by :
pxelinux
debian package :- gpxelinux.0
- pxelinux.0
syslinux-common
debian package :- chain.c32
- menu.c32
- reboot.c32
- vesamenu.c32
To get those files from the packages of APT repositories :
mkdir -p temp_pxe_files
cd temp_pxe_files
aptitude download pxelinux syslinux-common
ar p pxelinux*.deb data.tar.xz | tar xJ -C . --strip-components=4 ./usr/lib/PXELINUX/{g,}pxelinux.0
ar p syslinux-common*.deb data.tar.xz | tar xJ -C . --strip-components=6 ./usr/lib/syslinux/modules/bios/{chain,menu,reboot,vesamenu}.c32
The MD5 checksum can mismatch between the files from this repo and those from Debian's packages.
Configuration files
Contains the files which defines the PXE menu. The first one will :
- Call all others menu.cfg from subdirectories (debian/, clonezilla/,…) as an entry.
- Define a timeout (4 seconds).
- Define the default entry (boot on local first disk).
- …
config/debian/menu.cfg
- Provide PXE entries for :
- Debian Jessie (Stable) amd64.
- Debian Jessie (Stable) amd64 with additionnals firmwares (see make_debian_initrd_with_firmware.sh script).
- Debian Jessie (Stable) amd64 with additionnals firmwares and preseed file.
- Debian Jessie (Stable) amd64 for minions with preseed (Mate as default GUI).
- Debian Jessie (Stable) amd64 for minions with preseed (Cinnamon as default GUI).
- Debian Jessie (Stable) amd64 for minions with preseed (Gnome 3 as default GUI).
- Debian Jessie (Stable) i386.
- Debian Wheezy (oldStable) amd64 with additionnals firmwares (see make_debian_initrd_with_firmware.sh script).
- Debian Wheezy (oldStable) amd64 with additionnals firmwares and preseed file.
- Debian Wheezy (oldStable) amd64 with preseed (Gnome 3 as default GUI).
- Debian Wheezy (oldStable) i386.
- Debian Sid (unstable) amd64.
- Debian Sid (unstable) amd64 with additionnals firmwares (see make_debian_initrd_with_firmware.sh script).
- Debian Sid (unstable) i386.
- If you want to use with your own TFTPD server, you need te set your IP server ! Replace all occurrences of 129.20.27.239 by the IP of your TFTPD server to be able to load the preseed files !
Preseed
Scripts
See the scripts's README.md file for more informations.
How to use it
- Put the data of this repository on the PXE server :
- Clone the repository with https URL or with SSH to /var/lib/tftpboot.
- Download the last archive :
wget https://git.ipr.univ-rennes1.fr/cellinfo/tftpboot/archive/master.tar.gz
- Install a TFTP server (
tftpd-hpa
package for Debian's based systems ortftp-server
for Redhat's based systems). - Start the tftpd's service :
sudo service tftpd-hpa start
sudo systemctl start tftpd-hpa
- You can test if the TFTP server provide the files with a TFTP client (
tftp-hpa
) by downloading a file with the command :tftp $IP.SRV.TFTP -c get README.md /tmp/README.md_from_tftpd_server
- Set your IP in some files instead of the default one 129.20.27.239 :
- debian menu.cfg to be able to load the preseed files (preseed/url=tftp://SRV.IP.AD.DR/)
- Jessie preseed file to download the postinstall script from your TFTPD server (in-target /usr/bin/tftp SRV.IP.AD.DR)
- Wheezy preseed file to download the postinstall script from your TFTPD server (in-target /usr/bin/tftp SRV.IP.AD.DR)
TODO
- Add a tiny preseed file that could be loaded for a manual install.
- Download the latecommand archive from this repository instead of the TFTPD server ?