tftpboot/README.md

99 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# tftpboot
1. [Overview](#overview)
2. [Description](#description)
* [PXE files](#pxe-files)
* [Configuration files](#configuration-files)
* [Preseed](#preseed)
* [Scripts](#scripts)
3. [How to use it](#how-to-use-it)
4. [TODO](#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:
``` sh
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][main menu.cfg] 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][debian initrd with firmware script] 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][debian initrd with firmware script] 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][debian initrd with firmware script] script).
* Debian Sid (unstable) i386.
2. 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][scripts 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][debian menu.cfg] to be able to load the preseed files (**preseed/url=tftp://SRV.IP.AD.DR/**)
* [Jessie preseed file][preseed jessie] to download the postinstall script from your TFTPD server (**in-target /usr/bin/tftp SRV.IP.AD.DR**)
* [Wheezy preseed file][preseed wheezy] 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?
[main menu.cfg]: ./config/menu.cfg
[debian menu.cfg]: ./config/debian/menu.cfg
[preseed jessie]: ./preseed/debian/jessie/preseed.cfg
[preseed wheezy]: ./preseed/debian/wheezy/preseed.cfg
[scripts readme.md]: https://git.ipr.univ-rennes1.fr/cellinfo/tftpboot/src/master/scripts "scripts's README.md for tftpboot"
[debian initrd with firmware script]: ./scripts/README.md#make_debian_initrd_with_firmwaresh "informations about the Debian's initrd with additionnals firmwares"