Intern:IT:Dienste:TFTPD/config

Aus PILARKTO.ORG Open Laboratory e.V.
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

DHCP Einstellungen

Damit ein Rechner nacher auch das PXELinux booten kann, benötigt dieser zuerst die Informationen, wo der TFTP Server zu finden ist. Diese Informationen bekommt der Rechner vom DHCP Server. Wichtig sind hierbei die Parameter

next-server welcher den TFTP Server angibt und filename welches das zu ladende File angibt.

Diese Einstallung haben wir in der /etc/dhcp3/dhcpd.conf eingestellt.

# PORG untrusted
subnet 10.14.0.0 netmask 255.255.255.0 {
        authoritative;
        allow client-updates;
        allow unknown-clients;
        next-server 10.14.0.1; # Gibt an wo nach dem TFTPd Server gesucht wird
        filename "pxelinux.0"; # Läd PXELinux welches im Root-Verzeichniss des TFTP liegen muss!
        range 10.14.0.150 10.14.0.254;
        option routers 10.14.0.1;
        }

TFTPD Einstellungen

TFTP braucht an sich keine Einstellungen, das Rootverzeichniss des TFTP-Servers wird direkt als Parameter übergeben

/usr/sbin/in.tftpd -l -s /var/lib/tftpboot 


PXELinux Einstellungen

Verzeichnissstruktur

Wir haben folgende Verzeichnissstruktur erstellt:

   #:/var/lib/tftpboot# tree  -L 2
   .    
   |-- boot / Distributionen die zur Verfügung stehen
   |   |-- centos_53
   |   |-- dban / Festplatten Schredder
   |   |-- debian_etch
   |   |-- debian_lenny
   |   |-- gparted / Festplatten Partitionierungstool
   |   |-- grml
   |   |-- hddchecks / Spezielle Festplattenprüftools der einzelnen Hersteller
   |   |-- inventur / Automatische Inventur neuer Rechner
   |   |-- isolinux
   |   |-- livedeb / Live Distributionen
   |   |-- livedists
   |   |-- opene
   |   |-- sbg
   |   |-- tools
   |   |-- ubuntu_hardy
   |   `-- winxp
   |-- boot.lss / Grafischer Bootbildschirm
   |-- menu / Menüführung
   |   |-- admintools.cfg
   |   |-- hddtools.cfg
   |   |-- help.cfg
   |   |-- info.cfg
   |   |-- layout.cfg / Layouteinstellungen
   |   |-- main.cfg
   |   |-- memdisk
   |   `-- vesamenu.c32
   |-- pxelinux.0
   `-- pxelinux.cfg
       |-- default / Standardconfig die von pxelinux verwendet wird.
       |-- default.bak
       `-- default_backup

19 directories, 13 files


Default Config

Die Config ./pxelinux.cfg/default wird standartmäsig von PXELinux aufgerufen in unserem Fall läd diese lediglich die ./menu/info.cfg und die ./menu/main.cfg. <config>

include menu/info.cfg
include menu/main.cfg
 

</config>

Tastendefinitionen

In der info.cfg laden wir das vesamenu.c32 welches eine Grafische Darstellung der Menüführung ermöglicht. Zusätlich wird das Basislayout ( layout.cfg ) Der eigentliche Zweck der info.cfg ist jedoch, Tasten wie F1 F2 F3 zu belegen. Als Beispiel wurde hier die Taste F1 mit dem Menü help.cfg belegt.

# Default boot option to use
DEFAULT menu/vesamenu.c32

include menu/layout.cfg

# Prompt user for selection
PROMPT 0


F1 menu/help.cfg # Belegt F1 mit der help.cfg

# Help menu # Erstellt einen Menüeintrag, der nicht Auswählbar ist ( Um Anzuzeigen, dass F1 belegt ist )
label help
MENU DISABLE
MENU LABEL F1 - Help Screen
KERNEL vesamenu.c32
APPEND menu/help.cfg

Grafische Einstellungen

Die layout.cfg definiert das Aussehen des Bootmenü. Ebenfalls wird hier ein Passwort gesetzt, damit der User später nicht so einfach auf die Promt kommt.

menu master passwd ***** // Passwort, damit der User nur das Menü verwenden kann.

menu background boot.lss // Hintergrundgrafik
 
menu color border 0 #ffffffff #ee000000 std // Farbe des Rahmens
menu color title 0 #ffffffff #ee000000 std // Farbe der Überschrift/Titel
menu color sel 0 #ffffffff #85000000 std // Ausgewählter Eintrag
menu color pwdheader 0 #ff000000 #99ffffff rev // Überschrift der Passwortabfrage
menu color pwdborder 0 #fff00000 #99ffffff rev // Rahmenfarbe der Passwortabfrage
menu color pwdentry 0 #ff000000 #99ffffff rev // Schriftfarbe der Passwortabfrage


Menüeinträge

Nun kommen wir zum main.cfg Menü, in diesem Menü sind alle Menüeinträge definiert.

DEFAULT menu/vesamenu.c32
menu title PORG Boot Server - Waehle eine Distribution aus

include menu/layout.cfg


LABEL   Lokal Booten
        localboot 0
        MENU DEFAULT
        timeout 30
        totaltimeout 250
        MENU LABEL Von der Lokalen Platte ^booten
        TEXT HELP
        Von der Lokalen Platte booten
        ENDTEXT

 
LABEL   Install Debian Lenny
        kernel boot/debian_lenny/linux
        append expert vga=normal initrd=boot/debian_lenny/initrd.gz ramdisk_size=16417 root=/dev/ram rw  --
        MENU LABEL Debian Lenny
        TEXT HELP
         Debian Lenny
        ENDTEXT


LABEL   Inventur
        kernel boot/inventur/vmlinuz
        append initrd=boot/inventur/initrd.img toram union=unionfs ide=nodma boot=live noswap nopromt vga=788 fetch=http://192.168.2.10/private/boottp/base.squashfs
        MENU LABEL Inventur
        TEXT HELP
        Debian Lenny
        ENDTEXT


LABEL   Debian GDM LIVE
        kernel boot/livedeb/vmlinuz
        append initrd=boot/livedeb/initrd.img toram union=unionfs ide=nodma boot=live noswap nopromt vga=788 fetch=http://192.168.2.10/private/boottp/base.squashfs
        MENU LABEL LIVE DEBIAN
        TEXT HELP
        Debian Lenny
        ENDTEXT


LABEL   Install Debian Etch
        kernel boot/debian_etch/linux
        append vga=normal initrd=boot/debian_etch/initrd.gz ramdisk_size=16417 root=/dev/ram rw  --
        MENU LABEL Debian Etch
        TEXT HELP
        Debian Etch
        ENDTEXT



LABEL   CentOS 5.3 Netinst
        kernel boot/centos_53/vmlinuz
        append vga=normal initrd=boot/centos_53/initrd.img ramdisk_size=16417 root=/dev/ram rw  --
        MENU LABEL CentOS 5.3 Netinst
        TEXT HELP
        Debian Etch
        ENDTEXT


LABEL   DSL LIVE
        kernel boot/livedists/dsl/linux24
        append ramdisk_size=100000 root=/dev/ram lang=us apm=power-off vga=791 initrd=boot/livedists/dsl/minirt24.gz nomce noapic quiet BOOT_IMAGE=knoppix
        MENU LABEL DSL LIVE
        TEXT HELP
        Debian Etch
        ENDTEXT

 
LABEL tools
MENU LABEL Festplatten Tools
 KERNEL menu/vesamenu.c32
 APPEND menu/hddtools.cfg


LABEL admintools
 MENU LABEL ADMINISTRATIOR Tools
 menu passwd ****
 KERNEL menu/vesamenu.c32
 APPEND menu/admintools.cfg
 

Die Configs der Submenüs sind dementsprechend ausgebaut.