Ich hab es auch mal versucht, einen TFTP auf der DS zu installieren...hier nun das Ergebnis:
Installation
Als Erstes frischen wir unsere Paketverwaltung auf und installieren die folgende Pakete:
Code:
ipkg update
ipkg install tftp-hpa
ipkg install dhcp
Nun entfernen wir das nicht benötigte Paket xinetd mit
Code:
ipkg --force-depends remove xinetd
Die Überreste von xinetd müssen wir manuell entfernen...da wären
Code:
rm /opt/etc/xinetd.d
rm /opt/etc/xinetd.conf
rm /opt/etc/init.d/S10xinetd
Konfiguration des TFTP
Jetzt kommt das, was der xinetd im Normalfall für den TFTP machen würde - den Dienst oder auch Service des TFTP's bereitstellen und die Anfragen auf Port 69 an den TFTP weiterzuleiten. Ich benutze dafür allerdings den "einfachen" inetd, da er auf der DS schon vorhanden ist. Bitte folgende Zeile in der
/etc/inetd.conf eintragen:
Code:
tftp dgram udp wait root /opt/sbin/in.tftpd /opt/sbin/in.tftpd -s /opt/tftpboot
Der letzte Parameter hinter dem -s ist der gewünschte Pfad für die PXE-Konfiguration und Images die zum Booten der Clients gebraucht werden.
Solltet ihr diesen ändern (z.B. in /volume1/tftpboot) dann könnt ihr das bei der Installation vom TFTP erstellte Verzeichnis wieder entfernen.
Damit der INETD das auch benutzen kann, müssen wir ihn neustarten
Code:
/usr/syno/etc/rc.d/S03inetd.sh restart
Überprüfen kann man das mit
Dort sollte dann folgende Zeile auftauchen:
Den TFTP können wir schon mal grundlegend testen. Eine Testdatei im Verzeichnis
tftpboot ablegen:
Code:
echo TFTP Test > /opt/tftpboot/test.txt
Danach in Windows mit
Start - Ausführen - cmd.exe die Console öffnen und folgenden Befehl ausführen:
Code:
cd c:\
tftp <IP_DER_DISKSTATION> get test.txt
Das Ergebnis sollte nun so aussehen:
Code:
Übertragung erfolgreich: 11 Bytes in 1 Sekunden, 11 Bytes/s
Konfiguration des DHCP
Es fehlt noch die Konfiguration des DHCP Servers. Solltet ihr schon einen DHCP-Server z.B. von euerem Router benutzen, solltet ihr den IP-Bereich des DHCP-Servers in eurem Router auf einen etwas kleineren Bereich beschränken (z.B. 192.168.0.50 - 192.168.0.254). Somit hättet ihr ein paar IP's frei, die ihr dem DHCP-Server auf der DS zur Verfügung stellen könnt. Das sollte auch für üppig ausgefallene Netzwerke reichen
In die /opt/etc/dhcpd.conf kommt nun folgendes:
Code:
ddns-update-style none;
ddns-updates off;
allow booting;
allow bootp;
# hier für gewöhnlich die Adresse des Routers eintragen.
option domain-name-servers 192.168.0.1;
# euer Subnetz und Maske
subnet 192.168.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
option domain-name "OXI";
option perform-mask-discovery false;
option router-discovery false;
# IP-Bereich den ihr für den DHCP-Server nutzen wollt
range dynamic-bootp 192.168.0.10 192.168.0.20;
default-lease-time 21600;
max-lease-time 43200;
# IP der Diskstation
next-server 192.168.0.50;
# Dateiname des Programmes für das Bootmenü
filename "pxelinux.0";
}
Im Anhang die fertige Datei, die ihr nur noch an euren IP-Bereich anpassen müsst. Die Endung .txt nach dem Download nicht vergessen zu entfernen. Der DHCP-Server muss noch die neue Konfiguration einlesen, das wird mit
durchgefüht.
Einrichten des Bootmenüs
Wie schon im Post #7 beschrieben, das Paket SYSLINUX von
http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.70.zip runterladen. Aus dem Paket benötigen wir die Datei
core/pxelinux.0 und
com32/menu/menu.c32. Diese beiden kopieren wir nun nach
/opt/tftpboot. Im Verzeichnis
/opt/tftpboot erstellen wir nun ein Verzeichnis
pxelinux.cfg. In diesem Verzeichnis erstellen wir eine neue Datei
default mit folgendem Inhalt:
Code:
DEFAULT menu.c32
PROMPT 0
NOESCAPE 0
TIMEOUT 300
MENU TITLE Bootmenue
LABEL local
MENU LABEL ^1 - Booten von lokaler Festplatte
LOCALBOOT 0
Das reicht erstmal um die Funktion vom TFTP und DHCP zu testen. Rechner neustarten und Netboot auswählen (vom Bios abhängig), Nun sollte euer Rechner per DHCP-Anfrage eine IP zugewiesen bekommen. Kurz darauf müsste das PXE-Bootmenü erscheinen.
Für die, dessen Bios noch kein PXE-Boot erlaubt, gibt es einen Netboot Image Creator ->
http://rom-o-matic.net/gpxe/gpxe-0.9.4/contrib/rom-o-matic/
Wählt dort euer Netzwerkkartenmodell und das für euch passende Imageformat aus (meist .iso), mit dem ihr dann eine Floppydisk oder sogar einen USB-Stick ausstatten könnt.
So das war meine Version für die grundlegende Inbetriebnahme von TFTP + DHCP für das Booten per PXE. Ich hoffe das es ausreichend verständlich geschrieben ist. Für Fragen und Verbesserungsvorschläge habe ich immer ein offenes Ohr
Ich werde in der nächsten Zeit noch einige Anleitungen für das Starten von diversen Tools und Betriebssystemen per PXE verfassen.
stay tuned...