Scripts (download initrd, Linux kernels,…) and configurations files (PXE, preseed,…) for PXE server
Go to file
Jeremy Gardais f29b1ca534 Ensure to create installer/debian/* directories for initrd with firmwares 2016-07-22 15:47:20 +02:00
config Update Debian config file and informations to README.md 2016-07-21 18:01:11 +02:00
preseed/debian Move finish script to script/latecommand. 2016-07-11 16:09:41 +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 Ensure to create installer/debian/* directories for initrd with firmwares 2016-07-22 15:47:20 +02:00
README.md README.md: add how-to get PXE files from .deb 2016-07-22 14:34:37 +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 entry for:
  • Debian Wheezy (oldStable) amd64
  • Debian Wheezy (oldStable) 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 for minions with preseed (Gnome 3 as default GUI)
  • Debian Jessie (Stable) amd64
  • Debian Jessie (Stable) amd64 with preseed file
  • Debian Jessie (Stable) amd64 for minions with preseed (Gnome 3 as default GUI)
  • 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 Sid (unstable) amd64
  • Debian Sid (unstable) amd64 with additionnals firmwares
  • 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?