===== Pakete ===== openSuSE: ( 11.4 ) dhcp-server tftp syslinux apache2 apache2-prefork CentOS: ( 5.3 ) dhcp tftp-server syslinux httpd Debian: ( 7.0 ) isc-dhcp-server pxelinux tftpd xinetd apache2 === zum testen === Zum Testen ist ''qemu'' sehr hilfreich ===== PXE ===== TODO: offenbar kann man statt tftp inzwischen auch http verwenden. siehe: http://etherboot.org/wiki/httpboot und http://www.syslinux.org/wiki/index.php?title=PXELINUX#HTTP_and_FTP === openSuSE === cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ mkdir /srv/tftpboot/opensuse114 cd /srv/tftpboot/opensuse114 wget http://download.opensuse.org/distribution/11.4/repo/oss/boot/i386/loader/{linux,initrd,isolinux.cfg} ''/var/lib/tftpboot/pxelinux.cfg/default'' : SERIAL 0 115200 PROMPT 1 TIMEOUT 200 DEFAULT opensuse #Superpraktisch zum testen neuer Eintraege im Bootmenu: LABEL pxelinux KERNEL pxelinux.0 LABEL opensuse KERNEL opensuse114/linux APPEND initrd=opensuse114/initrd showopts ip=bootp install=http://download.opensuse.org/distribution/11.4/repo/oss vga=0x317 lang=de autoyast=http://notebook21/suse/autoyast.xml === CentOS 6.4 === cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ mkdir -p /var/lib/tftpboot/{centos64,pxelinux.cfg} cd /var/lib/tftpboot/centos64 wget http://centos/6/os/i386/isolinux/{vmlinuz,initrd.img,isolinux.cfg} cd /var/lib/tftpboot cp -a isolinux.cfg ../pxelinux.cfg/default ''/var/lib/tftpboot/pxelinux.cfg/default'' : SERIAL 0 115200 PROMPT 1 TIMEOUT 200 DEFAULT centos #Superpraktisch zum testen neuer Eintraege im Bootmenu: LABEL pxelinux KERNEL pxelinux.0 LABEL centos KERNEL /centos64/vmlinuz APPEND initrd=/centos64/initrd.img ramdisk_size=9216 resolution=1024x768 ksdevice=eth0 ks=http://notebook21/mirror6.ks == testen == Kernel und Initrd in qemu starten qemu -kernel centos64/vmlinuz -initrd centos64/initrd.img -append "vga=normal console=ttyS0" -boot c -snapshot -nographic centos5/initrd.img === CentOS 7.0 === //noch nicht getestet// cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ mkdir -p /var/lib/tftpboot/{centos7,pxelinux.cfg} cd /var/lib/tftpboot/centos7 wget http://centos/7/os/x86_64/isolinux/{vmlinuz,initrd.img,isolinux.cfg} cd /var/lib/tftpboot cp -a isolinux.cfg ../pxelinux.cfg/default ''/var/lib/tftpboot/pxelinux.cfg/default'' : SERIAL 0 115200 PROMPT 1 TIMEOUT 200 DEFAULT centos #Superpraktisch zum testen neuer Eintraege im Bootmenu: LABEL pxelinux KERNEL pxelinux.0 LABEL centos KERNEL /centos64/vmlinuz APPEND initrd=/centos64/initrd.img repo=http://centos/7/os/x86_64 == testen == Kernel und Initrd in qemu starten qemu -kernel centos7/vmlinuz -initrd centos7/initrd.img -append "vga=normal console=ttyS0" -boot c -snapshot -nographic centos7/initrd.img === Debian 8.0 === mkdir /var/lib/tftpboot/ ln -s /usr/lib/PXELINUX/pxelinux.0 /var/lib/tftpboot/ cd /var/lib/tftpboot/ mkdir debian80 cd debian80 wget http://ftp.de.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/debian-installer/amd64/{linux,initrd.gz} (( Der Debian-Installer enthält per Default keine Firmware, die nicht Debians strengen Lizenzrichtlinien entspricht. Eine Anleitung, wie man den Installer um nicht-freie Firmware ergänzen kann findet sich im [[https://wiki.debian.org/DebianInstaller/NetbootFirmware#Examples_for_Debian_7_.22Wheezy.22|Debian Wiki]] )) mkdir /var/lib/tftpboot/pxelinux.cfg ''/var/lib/tftpboot/pxelinux.cfg/default'' : SERIAL 0 115200 PROMPT 1 TIMEOUT 200 DEFAULT debian #Superpraktisch zum testen neuer Eintraege im Bootmenu: LABEL pxelinux KERNEL pxelinux.0 LABEL debian KERNEL debian80/linux APPEND initrd=debian80/initrd.gz vga=normal -- DEBCONF_DEBUG=5 preseed/url=http://192.168.1.221/mirror80.cfg == testen == Kernel und Initrd in qemu starten cd /var/lib/tftpboot/ qemu-system-x86_64 -kernel debian80/linux -initrd debian80/initrd.gz -append "console=ttyS0" -boot c -snapshot -nographic debian80/initrd.gz unter Debian 8 musste ich zusätzlich die folgenden Dateien ins tftp Verzeichnis kopieren: cp /usr/lib/syslinux/modules/*/ldlinux.* . qemu über simuliertes Netz starten: (( erfordert X, z.B. via ''ssh -X'' )) qemu-system-x86_64 -boot n -tftp /var/lib/tftpboot/ -bootp /pxelinux.0 /dev/zero ==== Bootlogo ==== //optional// === Pakete === Debian 3.1: syslinux gimp === Schritte === Orginal-Bild öffnen: gimp logo_final.svg * Bild->Modus->Indexiert: 16 Farben * Datei->Speichern unter: logo_linuxhotel.ppm ( raw ) * Exportiertes Bild öffnen * Mit Pipette zwei Farben für Text Vordergrund und Hintergrund raussuchen ppmtolss16 \#e8e6b6=0 \#28414a=7 < logo_linuxhotel.ppm > logo_linuxhotel.lss16 * 0 ist die Vordergrund-Farbe, 7 die Hintergrundfarbe des //Textes// (!) ===== TFTP ===== TODO: durch systemd ersetzen ''/etc/xinetd.d/tftp'' : service tftp { socket_type = dgram protocol = udp wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot/ } SuSE, Centos: chkconfig tftp on alle Distros: service xinetd restart === testen === lsof -i :tftp ===== DHCP ===== ==== Grundkonfiguration ==== [[dhcp|DHCP-Dienst mit festen IP-Adressen]] ==== PXE Einstellungen ==== ''/etc/dhcpd.conf'' : ( CentOS 5.3, openSuSE 11.4 ) ''/etc/dhcp/dhcpd.conf'' : ( debian 6.0 ) class "PXEClient:" { match if substring (option vendor-class-identifier, 0,10) = "PXEClient:"; default-lease-time 300; # 5 min max-lease-time 600; # 10 min filename "pxelinux.0"; next-server 192.168.1.224; } CentOS 5.3, openSuSE 11.4: service dhcpd restart debian (ab 6.0): service isc-dhcp-server restart ==== Testen ==== Prüfen der Konfiguration: dhcpd -t Nun sollte ein pxe-fähiger Rechner booten können. ===== Apache ===== ==== SuSE Repository ==== mkdir /srv/www/htdocs/opensuse/{oss,non-oss,update} cp -a /media/susedvd/. /srv/www/htdocs/suse/oss (( geht davon aus, dass die SuSE DVD nach ''/media/susedvd'' gemountet ist )) ==== Debian Repository ==== mkdir /var/www/debian cp -a /media/debian/. /var/www/debian (( geht davon aus, dass die Debian DVD nach ''/media/debian'' gemountet ist )) ===== Antwortdatei ===== ==== SuSE / Auto-Yast ==== Mit yast2 autoyast eine Konfigurationdatei erstellen und unter ''/srv/www/htdocs/suse/autoyast.xml'' speichern ==== CentOS 5.3 / Kickstart ==== Paket: system-config-kickstart system-config-kickstart ===== Links ===== * [[http://www.sweb.cz/Frantisek.Rysanek/splash/isolinux-splash-HOWTO.html|Graphik konvertieren]] * [[http://syslinux.zytor.com/faq.php|Display Datei Format]] * http://www.centos.org/docs/5/html/5.2/Installation_Guide/ch-kickstart2.html * http://wiki.debian.org/DebianInstaller/Preseed