Für das Installieren eines Betriebssystems über das Preboot Execution Environment (PXE) benötigt man einen entsprechenden Server, dessen Einrichtung ich in diesem Beitrag kurz beschreibe.
Ein DHCP-Server ist in meiner Umgebung bereits vorhanden, weshalb ich nur einen TFTP-Server bereitstellen muss. Für diesen Zweck habe ich eine frische Debian-10-VM installiert. Nachfolgend die Schritte zum Bereitstellen einer Debian-Installation über PXE:
Zuerst wird der TFTP-Server installiert, ich habe mich für das Paket tftpd-hpa entschieden:
$ sudo apt install tftpd-hpa
Bei der Installation wird eine Konfigurationsdatei unter /etc/defaut/tftpd-hpa angelegt, welche bei Bedarf angepasst werden kann, in ihren Standardwerten jedoch völlig ausreicht.
Der Dienst ist nach der Installation sofort aktiv:
$ sudo service tftpd-hpa status ● tftpd-hpa.service - LSB: HPA's tftp server Loaded: loaded (/etc/init.d/tftpd-hpa; generated) Active: active (running) since Thu 2019-10-24 20:30:35 CEST; 1min 3s ago Docs: man:systemd-sysv-generator(8) Tasks: 1 (limit: 1007) Memory: 1.3M CGroup: /system.slice/tftpd-hpa.service └─414 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure /srv/tftp Okt 24 20:30:35 pxe01 systemd[1]: Starting LSB: HPA's tftp server… Okt 24 20:30:35 pxe01 tftpd-hpa[406]: Starting HPA's tftpd: in.tftpd. Okt 24 20:30:35 pxe01 systemd[1]: Started LSB: HPA's tftp server.
Nun kann das gewünschte Image bereitgestellt werden, in meinem Fall der Netinstaller:
$ cd /tmp $ wget http://ftp.de.debian.org/debian/dists/buster/main/installer-i386/current/images/netboot/netboot.tar.gz $ wget http://ftp.de.debian.org/debian/dists/buster/Release $ sudo tar -xzvf netboot.tar.gz -C /srv/tftp
Nun sollten einige Elemente in dem TFTP-Serverordner zu finden sein:
$ dir /srv/tftp/
debian-installer ldlinux.c32 netboot.tar.gz pxelinux.0 pxelinux.cfg version.info
Die Serverdaten müssen nun im DHCP-Server veröffentlicht werden. Bei mir ist dies ein Windows Server mit DHCP-Rolle, in welchem lediglich die Bereichsoptionen 066 („Hostname des Startservers“) und 067 („Name der Startdatei“) hinzugefügt werden müssen:
Als Testclient verwende ich ein ALIX-Board, welches problemlos startet. Für die Installation auf ALIX-Boards ist jedoch eine andere Konfiguration erforderlich, auf diese gehe ich in einem separaten Beitrag ein.
Copyright (C) 1997,1998,1999 Intel Corporation VIA Rhine III Management Adapter v2.43 (2005/12/15) CLIENT MAC ADDR: 00 0D B9 28 45 CC CLIENT IP: 10.0.20.44 MASK: 255.255.255.0 DHCP IP: 10.0.20.20 GATEWAY IP: 10.0.20.1 PXELINUX 6.04 PXE 20190226 Copyright (C) 1994-2015 H. Peter Anvin et al
Weitere Informationen zu dem Thema:
Ein Kommentar