30.2. Configurazione di avvio PXE
La fase successiva è quella di copiare i file necessari per avviare l'installazione sul server
tftp
in modo da essere trovati quando richiesti dal client. Il server tftp
normalmente è lo stesso server di rete che esporta l'albero di installazione.
La configurazione di EFI e del BIOS differiscono per questa procedura.
30.2.1. Configurazione per il BIOS
- Se tftp-server non è stato ancora installato eseguire
yum install tftp-server
. - Nel file di config tftp-server in
/etc/xinet.d/tftp
, modificare il parametrodisabled
dayes
ano
. - Configurare il server DHCP in modo da usare le immagini d'avvio presenti in SYSLINUX. (Se non avete installato un server DHCP, consultate il capitolo Server DHCP nella Red Hat Enterprise Linux Deployment Guide.)Una configurazione d'esempio in
/etc/dhcp/dhcpd.conf
potrebbe essere:option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.254; range 10.0.0.2 10.0.0.253; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 10.0.0.1; if option arch = 00:06 { filename "pxelinux/bootia32.efi"; } else if option arch = 00:07 { filename "pxelinux/bootx64.efi"; } else { filename "pxelinux/pxelinux.0"; } } host example-ia32 { hardware ethernet XX:YY:ZZ:11:22:33; fixed-address 10.0.0.2; } }
- Ora avrete bisogno del file
pxelinux.0
del pacchetto SYSLINUX nel file immagine ISO. Per poterlo accedere eseguire i seguenti comandi come utente root:mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
cp -pr /mount_point/Packages/syslinux-version-architecture.rpm /publicly_available_directory
umount /mount_point
Estrarre il pacchetto:rpm2cpio syslinux-version-architecture.rpm | cpio -dimv
- Creare una directory
pxelinux
all'interno ditftpboot
e copiarepxelinux.0
al suo interno:mkdir /var/lib/tftpboot/pxelinux
cp publicly_available_directory/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux
- Creare una directory
pxelinux.cfg
all'interno dipxelinux
:mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
- Aggiungere un file di config a questa directory. Il file dovrebbe chiamarsi
default
oppure prendere come riferimento l'indirizzo IP. Per esempio se l'indirizzo IP della macchina è 10.0.0.1, il nome sarà0A000001
.Un file di config d'esempio su/var/lib/tftpboot/pxelinux/pxelinux.cfg/default
potrebbe somigliare a:default vesamenu.c32 prompt 1 timeout 600 display boot.msg label linux menu label ^Install or upgrade an existing system menu default kernel vmlinuz append initrd=initrd.img label vesa menu label Install system with ^basic video driver kernel vmlinuz append initrd=initrd.img xdriver=vesa nomodeset label rescue menu label ^Rescue installed system kernel vmlinuz append initrd=initrd.img rescue label local menu label Boot from ^local drive localboot 0xffff label memtest86 menu label ^Memory test kernel memtest append -
Per informazioni su come specificare il sorgente di installazione consultare Sezione 7.1.3, «Opzioni di avvio aggiuntive» - Copiare l'immagine splash nella directory root
tftp
:cp /boot/grub/splash.xpm.gz /var/lib/tftpboot/pxelinux/splash.xpm.gz
- Copiare le immagini d'avvio nella directory root
tftp
:cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/rawhide-x86_64/
- Riavviare il sistema e selezionare il dispositivo di rete quando richiesto come dispositivo d'avvio.