In questa sezione vengono illustrate le attività di configurazione necessarie per scenari di avvio complessi. Vengono presentati esempi di configurazione pronti all'uso per DHCP, avvio PXE, TFTP e Wake on LAN.
La configurazione di un server DHCP in SUSE Linux viene eseguita mediante la modifica manuale dei file di configurazione corrispondenti. In questa sezione viene illustrata l'estensione di una configurazione di un server DHCP esistente per fornire i dati necessari per il servizio in ambiente TFTP, PXE e WOL.
Oltre a fornire un'allocazione di indirizzo automatica ai client della rete in uso, il server DHCP annuncia l'indirizzo IP del server TFTP e il file che deve essere ricavato dalle routine di installazione nel computer di destinazione.
Eseguire il login come root nel computer che ospita il server DHCP.
Aggiungere le righe seguenti al file di configurazione del server DHCP in uso in /etc/dhcpd.conf:
group {
# PXE related stuff
#
# "next server" defines the tftp server that will be used
next server ip_tftp_server:
#
# "filename" specifies the pxelinux image on the tftp server
# the server runs in chroot under /srv/tftpboot
filename "pxelinux.0";
}Sostituire ip_of_the_tftp_server con l'indirizzo IP effettivo del server TFTP.
Per ulteriori informazioni sulle opzioni disponibili in dhcpd.conf, vedere la documentazione relativa a dhcpd.conf.
Riavviare il server DHCP eseguendo il comando rcdhcpd restart.
Se si prevede di utilizzare SSH per il controllo remoto di un'installazione PXE e Wake on LAN, specificare esplicitamente l'indirizzo IP che dovrebbe essere fornito alla destinazione dell'installazione da DHCP. A tale scopo, modificare la configurazione DHCP precedentemente indicata in base all'esempio seguente:
group {
# PXE related stuff
#
# "next server" defines the tftp server that will be used
next server ip_tftp_server:
#
# "filename" specifies the pxelinux image on the tftp server
# the server runs in chroot under /srv/tftpboot
filename "pxelinux.0";
host test { hardware ethernet mac_address;
fixed-address some_ip_address; }
}
L'istruzione host introduce il nome host della destinazione dell'installazione. Per associare il nome host e l'indirizzo IP a un host specifico, è necessario conoscere e specificare l'indirizzo hardware (MAC) del sistema. Sostituire tutte le variabili utilizzate in questo esempio con i valori effettivi che corrispondono all'ambiente in uso.
Dopo aver riavviato il server DHCP, viene fornito un indirizzo IP statico per l'host specificato che consente la connessione al sistema tramite SSH.
La configurazione di un server TFTP può essere eseguita sia mediante YaST, sia manualmente in qualsiasi sistema operativo Linux che supporta xinetd e tftp. Il server TFTP fornisce l'immagine di avvio al sistema di destinazione quando questo viene avviato e invia una richiesta per l'immagine.
Eseguire il login come radice.
Avviare ++ e installare il pacchetto necessario.
Fare clic su per verificare se il server è stato avviato e incluso nelle routine di avvio. Non sono necessarie ulteriori azioni da parte dell'utente per garantire che xinetd esegua tftpd al momento dell'avvio.
Fare clic su per aprire la porta corrispondente nel firewall in esecuzione nel computer in uso. Se nel server in uso non vi sono firewall in esecuzione, questa opzione non è disponibile.
Fare clic su per esplorare la directory dell'immagine di avvio.
La directory di default /tftpboot viene creata e selezionata automaticamente.
Fare clic su per applicare le impostazioni desiderate e avviare il server.
Eseguire il login come root e installare i pacchetti tftp e xinetd.
Se non sono disponibili, creare le directory /srv/tftpboot e /srv/tftpboot/pxelinux.cfg.
Aggiungere i file corrispondenti necessari per l'immagine di avvio come descritto nella Sezione 1.3.3, «Avvio PXE».
Modificare la configurazione di xinetd in /etc/xinetd.d/ per verificare che il server tftp venga eseguito all'avvio:
Se non esiste, creare un file denominato tftp in questa directory mediante il comando touch tftp. Quindi eseguire chmod 755 tftp.
Aprire il file tftp e aggiungere le righe seguenti:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}
Salvare il file e riavviare xinetd mediante il comando rcxinetd restart.
Alcune informazioni tecniche generali, nonché le specifiche di PXE complete sono disponibili nel documento Preboot Execution Environment (PXE) Specification (ftp://download.intel.com/labs/manage/wfm/download/pxespec.pdf).
Passare alla directory dell'archivio di installazione in uso e copiare i file linux, initrd, message e memtest nella directory /srv/tftpboot immettendo quanto indicato di seguito:
cp -a boot/loader/linux boot/loader/initrd
boot/loader/message boot/loader/memtest /srv/tftpbootInstallare il pacchetto syslinux direttamente dai CD o dai DVD di installazione mediante YaST.
Copiare il file /usr/share/syslinux/pxelinux.0 nella directory /srv/tftpboot immettendo quanto indicato di seguito:
cp -a /usr/share/syslinux/pxelinux.0 /srv/tftpboot
Passare alla directory dell'archivio di installazione in uso e copiare il file isolinux.cfg in /srv/tftpboot/pxelinux.cfg/default immettendo quanto indicato di seguito:
cp -a boot/loader/isolinux.cfg /srv/tftpboot/pxelinux.cfg/default
Modificare il file /srv/tftpboot/pxelinux.cfg/default e rimuovere le righe che iniziano con gfxboot, readinfo e framebuffer.
Inserire le voci seguenti nelle righe aggiuntive delle etichette di default failsafe e apic:
insmod=e100
Mediante questa voce, il modulo kernel per una scheda di rete Intel 100MBit/s viene caricato nei client PXE. Questa voce dipende dall'hardware del client e deve essere adattata di conseguenza. Nel caso di una scheda di rete Broadcom GigaBit, questa voce deve corrispondere a insmod=bcm5700.
netdevice=eth0
Questa voce definisce l'interfaccia di rete del client che deve essere utilizzata per l'installazione di rete. È necessario soltanto che il client sia dotato di più schede di rete e che sia adattato di conseguenza. Nel caso di una singola scheda di rete, questa voce può essere omessa.
install=nfs://ip_instserver/path_instsource/CD1
Questa voce definisce il server NFS e l'origine dell'installazione per l'installazione del client. Sostituire ip_instserver con l'indirizzo IP effettivo del server di installazione in uso. Sostituire path_instsource con il percorso effettivo delle origini dell'installazione. Le origini HTTP, FTP o SMB vengono indirizzate in modo simile, ad eccezione del prefisso di protocollo, che deve essere http, ftp oppure smb.
![]() | Importante |
|---|---|
Se è necessario passare altre opzioni di avvio alle routine di installazione, quali i parametri di avvio SSH o VNC, aggiungerli alla voce | |
Di seguito viene illustrato il file di esempio /srv/tftpboot/pxelinux.cfg/default. Modificare il prefisso di protocollo per l'origine dell'installazione in modo che corrisponda alla configurazione di rete in uso e specificare il metodo di connessione preferito al programma di installazione mediante l'aggiunta delle opzioni vnc e vncpassword o ssh e sshpassword alla voce install. Le righe separate da \ devono essere immesse come un'unica riga continua senza interruzione di riga e senza \.
default linux
# default
label linux
kernel linux
append initrd=initrd ramdisk_size=65536 insmod=e100 \
install=nfs://ip_instserver/path_instsource/product
# failsafe
label failsafe
kernel linux
append initrd=initrd ramdisk_size=65536 ide=nodma apm=off acpi=off \
insmod=e100 install=nfs://ip_instserver/path_instsource/product
# apic
label apic
kernel linux
append initrd=initrd ramdisk_size=65536 apic insmod=e100 \
install=nfs://ip_instserver/path_instsource/product
# manual
label manual
kernel linux
append initrd=initrd ramdisk_size=65536 manual=1
# rescue
label rescue
kernel linux
append initrd=initrd ramdisk_size=65536 rescue=1
# memory test
label memtest
kernel memtest
# hard disk
label harddisk
kernel
linux append SLX=0x202
implicit 0
display message
prompt 1
timeout 100
Sostituire ip_instserver e path_instsource con i valori utilizzati nella configurazione.
La sezione seguente rappresenta un breve riferimento alle opzioni PXELINUX utilizzate in questa configurazione. È possibile trovare ulteriori informazioni sulle opzioni disponibili nella documentazione del pacchetto syslinux in /usr/share/doc/packages/syslinux/.
Le opzioni elencate di seguito sono solo una parte di tutte le opzioni disponibili per il file di configurazione di PXELINUX.
Opzioni DEFAULT kernel
Consente di impostare la riga di comando del kernel di default. Se PXELINUX viene avviato automaticamente, agisce come se le voci che seguono DEFAULT fossero state digitate al prompt di avvio, ad eccezione dell'opzione auto che viene aggiunta automaticamente, indicando un avvio automatico.
Se non è presente il file di configurazione o in esso non è presente alcuna voce DEFAULT, per default il nome del kernel è «linux» senza opzioni.
Opzioni APPEND
Consente di aggiungere una o più opzioni alla riga di comando del kernel. Queste vengono aggiunte sia per l'avvio automatico, sia per quello manuale. Le opzioni vengono aggiunte all'inizio della riga di comando del kernel e solitamente possono essere ignorate dalle opzioni del kernel immesse esplicitamente.
Opzioni LABEL label KERNEL image APPEND
Indica che se label viene immesso come kernel da avviare, PXELINUX deve invece eseguire image e le opzioni APPEND specificate devono essere utilizzate al posto di quelle specificate nella sezione generale del file prima del primo comando LABEL. L'impostazione di default di image è la stessa di label e, se non viene fornita alcuna opzione APPEND, per default viene utilizzata la voce generale, se presente. Sono ammesse fino a 128 voci LABEL.
Si noti che GRUB utilizza la sintassi seguente:
title mytitle kernelmy_kernelmy_kernel_optionsinitrdmyinitrd
mentre PXELINUX utilizza la sintassi seguente:
labelmylabelkernelmykernelappendmyoptions
Le etichette vengono modificate come se fossero nomi di file e devono essere univoche dopo essere state modificate. Le due etichette «v2.1.30» e «v2.1.31», ad esempio, non sarebbero distinguibili in PXELINUX poiché entrambe vengono modificate e risultano nello stesso nome file DOS.
Non è necessario che il kernel sia un kernel Linux, può anche essere un settore di avvio o un file COMBOOT.
Indica che non vi sono aggiunte. APPEND seguito da un singolo trattino come argomento in una sezione LABEL può essere utilizzato per ignorare l'opzione APPEND generale.
LOCALBOOT type
In PXELINUX, se si specifica LOCALBOOT 0 invece dell'opzione KERNEL, viene chiamata questa etichetta e viene avviato il disco locale invece del kernel.
Tutti gli altri valori non sono definiti. Se non si conoscono gli stack UNDI o PXE, specificare 0.
TIMEOUT time-out
Indica il tempo di attesa al prompt di avvio prima dell'avvio automatico, espresso in unità di 1/10 di secondo. Il timeout viene annullato non appena l'utente digita qualsiasi testo sulla tastiera, in base al presupposto che l'utente completi il comando iniziato. Un valore di timeout pari a zero disabilita completamente il timeout. Questa è anche l'impostazione di default.
Il valore massimo di timout possibile è 35996 (poco meno di un'ora).
PROMPT flag_val
Se flag_val è 0, il prompt di avvio viene visualizzato solo se vengono premuti i tasti MAIUSC o Alt oppure se si imposta Bloc Maiusc o Bloc Scorr. Questa è l'impostazione di default. Se flag_val è 1, il prompt di avvio viene sempre visualizzato.
F2filenameF1filename..etc... F9filenameF10filename
Consente di visualizzare il file indicato sullo schermo quando viene premuto un tasto funzione al prompt di avvio. Può essere utilizzato per implementare la Guida in linea relativa al preavvio, presumibilmente per le opzioni della riga di comando del kernel. Per la compatibilità con versioni precedenti, è possibile inoltre immettere F10 come F0. Si noti che non esiste attualmente alcun modo per associare i nomi file a F11 e F12.
Preparare il BIOS del sistema per l'avvio PXE includendo l'opzione PXE nell'ordine di avvio del BIOS.
![]() | Avvertimento |
|---|---|
Non posizionare l'opzione PXE all'inizio dell'opzione di avvio del disco rigido nel BIOS, altrimenti il sistema cercherà di reinstallarsi a ogni avvio. | |
Con Wake on LAN (WOL) è necessario che l'opzione BIOS corrispondente sia abilitata prima dell'installazione. Trascrivere inoltre l'indirizzo MAC del sistema di destinazione. Questi dati sono indispensabili per avviare Wake on LAN.
Con Wake on LAN è possibile accendere un computer mediante uno speciale pacchetto di rete che viene inviato con l'indirizzo MAC del computer. Poiché ogni computer dispone di un identificatore MAC univoco, non si corre il rischio di accendere accidentalmente il computer sbagliato.
![]() | Importante |
|---|---|
Se il computer di controllo non si trova nello stesso segmento di rete della destinazione dell'installazione che si desidera attivare, configurare le richieste WOL da inviare come multidiffusioni oppure controllare un computer in remoto in quel segmento di rete per agire come mittente delle richieste. | |