Scripts (download initrd, Linux kernels,…) and configurations files (PXE, preseed,…) for PXE server
Go to file
Jeremy Gardais dac9d8add1 Version 0.2.1 2016-07-22 17:05:22 +02:00
config Ensure to load the preseed files from the new path and correct Debian 2016-07-22 17:01:14 +02:00
preseed/debian Get all preseed files (mate, gnome,…) from the previous PXE server 2016-07-22 16:01:01 +02:00
pxelinux.cfg First commit. 2014-09-08 09:49:55 +02:00
scripts Ensure to create installer/debian/* directories for initrd with firmwares 2016-07-22 15:47:20 +02:00
.gitignore Ignore installer directory 2016-07-20 12:09:21 +02:00
CHANGELOG.md Version 0.2.1 2016-07-22 17:05:22 +02:00
README.md Ensure to load the preseed files from the new path and correct Debian 2016-07-22 17:01:14 +02:00
chain.c32 First commit. 2014-09-08 09:49:55 +02:00
gpxelinux.0 First commit. 2014-09-08 09:49:55 +02:00
menu.c32 First commit. 2014-09-08 09:49:55 +02:00
pxelinux.0 First commit. 2014-09-08 09:49:55 +02:00
reboot.c32 First commit. 2014-09-08 09:49:55 +02:00
vesamenu.c32 First commit. 2014-09-08 09:49:55 +02:00

README.md

tftpboot

  1. Overview
  2. Description
  3. How to use it
  4. TODO

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

  1. 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.
  1. 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 or tftp-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?