PXELinux: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Admin (Diskussion | Beiträge) |
|||
(45 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | =Ldee= | ||
Mit PXELinux kann man ein System über ein Netzwerk booten oder auch installieren. | Mit PXELinux kann man ein System über ein Netzwerk booten oder auch installieren. | ||
− | |||
==Installation tftp-Server== | ==Installation tftp-Server== | ||
− | + | *[[Tftp-Sever]] | |
− | + | *[[Tftp-Server]] | |
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Installation DHCP-Server== | ==Installation DHCP-Server== | ||
Zeile 36: | Zeile 11: | ||
* /etc/dhcp3/dhcpd.conf | * /etc/dhcp3/dhcpd.conf | ||
subnet 192.168.242.0 netmask 255.255.255.0 { | subnet 192.168.242.0 netmask 255.255.255.0 { | ||
− | + | range 192.168.242.170 192.168.242.180; | |
− | + | default-lease-time 600; | |
− | + | max-lease-time 7200; | |
− | + | option domain-name-servers 192.168.240.21; | |
− | + | option broadcast-address 192.168.242.255; | |
− | + | option subnet-mask 255.255.255.0; | |
− | + | filename "/pxelinux.0"; | |
− | + | next-server 192.168.242.140; | |
− | + | option root-path "192.168.242.140:/pxeroot"; | |
− | + | ||
− | + | host pxeclient { | |
− | + | hardware ethernet 00:0c:29:99:25:91; | |
− | + | fixed-address 192.168.242.171; | |
− | + | option host-name "pxeclient"; | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
+ | |||
+ | ===Starten=== | ||
+ | root@xinux-desktop:~# /etc/init.d/dhcp3-server start | ||
+ | |||
+ | ===Stoppen=== | ||
+ | root@xinux-desktop:~# /etc/init.d/dhcp3-server stop | ||
+ | |||
+ | ===Neustarten=== | ||
+ | root@xinux-desktop:~# /etc/init.d/dhcp3-server restart | ||
+ | |||
+ | ===Kontrolle=== | ||
+ | root@xinux-desktop:~# netstat -nplu | grep 67 | ||
+ | udp 0 0 0.0.0.0:67 0.0.0.0:* 3515/dhcpd3 | ||
==Bootimage vorbereiten== | ==Bootimage vorbereiten== | ||
− | + | root@xinux-desktop:~# apt-get install syslinux | |
− | root@xinux-desktop: | ||
− | |||
root@xinux-desktop:~# cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/ | root@xinux-desktop:~# cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/ | ||
==PXELinux mit debootstrap== | ==PXELinux mit debootstrap== | ||
===Minimales virtuelles System erstellen=== | ===Minimales virtuelles System erstellen=== | ||
+ | Installation von debootstrap | ||
+ | root@xinux-desktop:~# apt-get install debootstrap | ||
+ | |||
===Debian=== | ===Debian=== | ||
root@xinux-desktop:~# mkdir /pxeroot | root@xinux-desktop:~# mkdir /pxeroot | ||
Zeile 75: | Zeile 59: | ||
root@xinux-desktop:~# debootstrap intrepid /pxeroot | root@xinux-desktop:~# debootstrap intrepid /pxeroot | ||
− | + | ||
− | |||
− | |||
− | |||
===Hostname setzen=== | ===Hostname setzen=== | ||
Zeile 94: | Zeile 75: | ||
ff02::2 ip6-allrouters | ff02::2 ip6-allrouters | ||
ff02::3 ip6-allhosts | ff02::3 ip6-allhosts | ||
− | :wq zum Speichern und Beenden | + | Escape :wq zum Speichern und Beenden |
===fstab anpassen=== | ===fstab anpassen=== | ||
− | + | /dev/ram0 / ext2 defaults 0 0 | |
proc /proc proc defaults 0 0 | proc /proc proc defaults 0 0 | ||
− | |||
tmpfs /tmp tmpfs defaults 0 0 | tmpfs /tmp tmpfs defaults 0 0 | ||
Zeile 112: | Zeile 92: | ||
Ramdisk auf NFS anpassen | Ramdisk auf NFS anpassen | ||
xinux-desktop:/# sed -i.bak -e "s/BOOT=local/BOOT=nfs/" /etc/initramfs-tools/initramfs.conf | xinux-desktop:/# sed -i.bak -e "s/BOOT=local/BOOT=nfs/" /etc/initramfs-tools/initramfs.conf | ||
+ | xinux-desktop:/# sed -i.bak -e "s/MODULES=most/MODULES=netboot/" /etc/initramfs-tools/initramfs.conf | ||
xinux-desktop:/#update-initramfs -vu | xinux-desktop:/#update-initramfs -vu | ||
− | + | Tastatur einstellen | |
− | xinux-desktop:/# | + | xinux-desktop:/# dpkg-reconfigure keyboard-configuration |
− | xinux-desktop:/# | + | Passwort setzen |
− | + | xinux-desktop:/# passwd | |
− | |||
exit | exit | ||
− | === | + | ==mit NFS== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===PXE boot konfigurieren=== | ===PXE boot konfigurieren=== | ||
root@xinux-desktop:~# cd /var/lib/tftpboot | root@xinux-desktop:~# cd /var/lib/tftpboot | ||
− | root@xinux-desktop:~# | + | root@xinux-desktop:~# cp /pxeroot/vmlinuz . |
− | root@xinux-desktop:~# | + | root@xinux-desktop:~# chmod 644 vmlinuz |
− | root@xinux-desktop:~# cp /pxeroot/initrd.img . | + | root@xinux-desktop:~# cp /pxeroot/initrd.img . |
root@xinux-desktop:~# mkdir pxelinux.cfg | root@xinux-desktop:~# mkdir pxelinux.cfg | ||
root@xinux-desktop:~# vim pxelinux.cfg/default | root@xinux-desktop:~# vim pxelinux.cfg/default | ||
Zeile 163: | Zeile 113: | ||
* /var/lib/tftpboot/pxelinux.cfg/default | * /var/lib/tftpboot/pxelinux.cfg/default | ||
DEFAULT linux | DEFAULT linux | ||
− | |||
LABEL linux | LABEL linux | ||
kernel vmlinuz | kernel vmlinuz | ||
− | append vga=normal initrd=initrd.img ramdisk_size=14332 root=/dev/nfs nfsroot=192.168.242.140:/pxeroot rw -- | + | append vga=normal initrd=initrd.img ramdisk_size=14332 root=/dev/nfs nfsroot=192.168.242.140:/pxeroot ip=dhcp rw -- |
− | |||
PROMPT 0 | PROMPT 0 | ||
− | + | TIMEOUT 0 | |
===nfs server konfigurieren=== | ===nfs server konfigurieren=== | ||
Zeile 178: | Zeile 126: | ||
Neustarten | Neustarten | ||
/etc/init.d/nfs-kernel-server restart | /etc/init.d/nfs-kernel-server restart | ||
+ | |||
+ | ==mit RAMdisk== | ||
+ | *[[PXE mit Ramdisk]] | ||
=Quellen= | =Quellen= |
Aktuelle Version vom 15. Februar 2023, 17:17 Uhr
Ldee
Mit PXELinux kann man ein System über ein Netzwerk booten oder auch installieren.
Installation tftp-Server
Installation DHCP-Server
root@xinux-desktop:~# apt-get install dhcp3-server
Anpassen der dhcpd.conf
- /etc/dhcp3/dhcpd.conf
subnet 192.168.242.0 netmask 255.255.255.0 { range 192.168.242.170 192.168.242.180; default-lease-time 600; max-lease-time 7200; option domain-name-servers 192.168.240.21; option broadcast-address 192.168.242.255; option subnet-mask 255.255.255.0; filename "/pxelinux.0"; next-server 192.168.242.140; option root-path "192.168.242.140:/pxeroot"; host pxeclient { hardware ethernet 00:0c:29:99:25:91; fixed-address 192.168.242.171; option host-name "pxeclient"; } }
Starten
root@xinux-desktop:~# /etc/init.d/dhcp3-server start
Stoppen
root@xinux-desktop:~# /etc/init.d/dhcp3-server stop
Neustarten
root@xinux-desktop:~# /etc/init.d/dhcp3-server restart
Kontrolle
root@xinux-desktop:~# netstat -nplu | grep 67 udp 0 0 0.0.0.0:67 0.0.0.0:* 3515/dhcpd3
Bootimage vorbereiten
root@xinux-desktop:~# apt-get install syslinux root@xinux-desktop:~# cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/
PXELinux mit debootstrap
Minimales virtuelles System erstellen
Installation von debootstrap
root@xinux-desktop:~# apt-get install debootstrap
Debian
root@xinux-desktop:~# mkdir /pxeroot root@xinux-desktop:~# cd /pxeroot root@xinux-desktop:~# debootstrap etch /pxeroot
Ubuntu
root@xinux-desktop:~# mkdir /pxeroot root@xinux-desktop:~# cd /pxeroot root@xinux-desktop:~# debootstrap intrepid /pxeroot
Hostname setzen
root@xinux-desktop:~# echo pxeboot > /pxeroot/etc/hostname root@xinux-desktop:~# cp /etc/hosts /pxeroot/etc/hosts root@xinux-desktop:~# vi /pxeroot/etc/hosts
127.0.0.1 localhost pxeboot # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Escape :wq zum Speichern und Beenden
fstab anpassen
/dev/ram0 / ext2 defaults 0 0 proc /proc proc defaults 0 0 tmpfs /tmp tmpfs defaults 0 0
Virtuelles System anpassen
root@xinux-desktop:/pxeroot/etc# chroot /pxeroot
Kernel installieren
xinux-desktop:/# apt-get install linux-image
Die Warnung, dass keine Bootloader installiert sind, kann ignoriert werden. Wenn das Skript fragt, ob abgebrochen werden soll mit no antworten.
Ramdisk auf NFS anpassen
xinux-desktop:/# sed -i.bak -e "s/BOOT=local/BOOT=nfs/" /etc/initramfs-tools/initramfs.conf xinux-desktop:/# sed -i.bak -e "s/MODULES=most/MODULES=netboot/" /etc/initramfs-tools/initramfs.conf xinux-desktop:/#update-initramfs -vu
Tastatur einstellen
xinux-desktop:/# dpkg-reconfigure keyboard-configuration
Passwort setzen
xinux-desktop:/# passwd exit
mit NFS
PXE boot konfigurieren
root@xinux-desktop:~# cd /var/lib/tftpboot root@xinux-desktop:~# cp /pxeroot/vmlinuz . root@xinux-desktop:~# chmod 644 vmlinuz root@xinux-desktop:~# cp /pxeroot/initrd.img . root@xinux-desktop:~# mkdir pxelinux.cfg root@xinux-desktop:~# vim pxelinux.cfg/default
- /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT linux LABEL linux kernel vmlinuz append vga=normal initrd=initrd.img ramdisk_size=14332 root=/dev/nfs nfsroot=192.168.242.140:/pxeroot ip=dhcp rw -- PROMPT 0 TIMEOUT 0
nfs server konfigurieren
root@xinux-desktop:~# apt-get install nfs-kernel-server
- /etc/exports
/pxeroot 192.168.0.0/255.255.0.0(rw,sync,no_root_squash,no_subtree_check)
Neustarten
/etc/init.d/nfs-kernel-server restart
mit RAMdisk
Quellen
http://www.pieczewski.de/?page_id=51