Come posso installare la macchina virtuale Ubuntu usando il server di avvio PXE?
Ho bisogno di tutti i dettagli delle configurazioni e cosa cambiare nei file delle configurazioni.
Come posso installare la macchina virtuale Ubuntu usando il server di avvio PXE?
Ho bisogno di tutti i dettagli delle configurazioni e cosa cambiare nei file delle configurazioni.
Risposte:
Vedi Wikipedia: PXE
Questa è la mia comprensione!
PXE (lato client) trasmette una richiesta per un IP. Risposta del server DHCP con le informazioni richieste: IP, IP server successivo (IP server TFTP), pxelinux.0
(nome file caricatore bootstrap PXE), ... ecc
PXE (lato client) richiede il pxelinux.0
file dal server TFTP, lo carica nella RAM e passa il controllo a pxelinux.0
.
pxelinux.0
ottiene il file di configurazione di avvio dal server TFTP con nome come:
(se non esiste, prova con il successivo)
default
fileScelta dell'utente o voce di menu predefinita. pxelinux.0
richiede il kernel e il RAMDisk corrispondenti dal server TFTP e li carica nella RAM.
Quindi passa i parametri di avvio e il controllo al kernel caricato.
Il kernel carica le parti rimanenti dal server TFTP o da qualsiasi altro server di protocollo in base alle sue caratteristiche / proprietà.
Esistono molti modi per configurare il server PXE, questo è uno di questi.
Queste istruzioni sono state testate su Ubuntu 9.10 e Ubuntu 10.04 su una macchina reale. Dovrebbero essere ancora validi con solo poche modifiche. (Aggiornato e testato per Ubuntu 14.04 su VirtualBox, controlla le revisioni di modifica per le versioni precedenti)
Il mio obiettivo era PartedMagic 4.5 , dovrebbe essere simile a Ubuntu o qualsiasi distribuzione Linux.
Installa i pacchetti DHCP e TFTP
sudo apt-get install isc-dhcp-server openbsd-inetd lftp tftpd-hpa syslinux
Configurazione DHCP
Modifica /etc/default/isc-dhcp-server
, interfaccia Ethernet per servizio DHCP
INTERFACES="eth0"
Modifica /etc/dhcp/dhcpd.conf
o /etc/ltsp/dhcpd.conf
esiste, configurazione del servizio DHCP
Configurazioni specifiche PXE: filename
&next-server
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.50 192.168.10.100;
option subnet-mask 255.255.255.0;
option routers 192.168.10.123;
option broadcast-address 192.168.10.255;
filename "pxelinux.0";
next-server 192.168.10.123;
}
Configurare un IP statico per eth0
, 192.168.10.123
nel mio caso, utilizzando Network Manager per Desktop Edition o /etc/network/interfaces
Server Edition.
auto eth0
iface eth0 inet static
address 192.168.10.123
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
Reinizializza l'interfaccia di rete:
sudo ifdown eth0
sudo ifup eth0
Riavvia il servizio
sudo service isc-dhcp-server restart
Controllare lo stato
netstat -lu
Produzione
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:bootpc *:*
Configurazione TFTP
Modifica /etc/inetd.conf
, rimuovi #<off>#
dall'inizio della tftp
riga o aggiungi se non è presente nel #:BOOT:
commento. (Salta con systemd, 15.10 e successive)
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
Abilita il servizio di avvio per inetd
sudo update-inetd --enable BOOT
Avvia il servizio
sudo service openbsd-inetd restart
sudo service tftpd-hpa restart
Controllare lo stato
netstat -lu
Produzione
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:tftp *:*
Impostazione dei file di avvio PXE
Decomprimere pmagic-pxe-4.5.zip
. Se pxelinux.0
non è presente, ottenerlo dal sysliux-common
pacchetto installato su /usr/lib/syslinux/pxelinux.0
, Syslinux Project o Ubuntu Netboot Image .
Mettili in una struttura simile.
/var/lib/tftpboot/
|-- pxelinux.0
|-- pxelinux.cfg/
| `-- default
`-- pmagic/
|-- bzimage
`-- initramfs
Modifica /var/lib/tftpboot/pxelinux.cfg/default
, se necessario, percorsi di esempio: pmagic/bzimage
&pmagic/initramfs
DEFAULT partmagic
LABEL partmagic
MENU LABEL PartMagic 4.5
KERNEL pmagic/bzimage
APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
Configura le autorizzazioni corrette
sudo find /var/lib/tftpboot -type f -exec chmod 644 {} \;
sudo find /var/lib/tftpboot -type d -exec chmod 755 {} \;
Modificare l'ordine di avvio del BIOS per una volta utilizzando F9o F12, per l'installazione permanente dalla configurazione del BIOS DEL, F2oppure F12. (A seconda della marca della macchina)
Spostare verso l'alto: [PXE | NIC | LAN | Ethernet | Network]
.
inetutils-inetd
o xinetd
può essere utilizzato al posto di openbsd-inetd
, alcuni inetd
passaggi sono diversi.
La directory principale TFTP potrebbe essere modificata da /etc/default/tftpd-hpa
. Ricorda di aggiornare /etc/inetd.conf
anche.
Molte distribuzioni supportano il caricamento di RAMDisk attraverso numerosi protocolli: SSH (SFTP), SMB, NFS ... Esempio Ubuntu supporta NFS.
Alcune vecchie schede di rete non supportano PXE, è possibile utilizzare iPXE ( es. GPXE o Etherboot ), sia su disco floppy, unità USB, disco rigido ( /boot
partizione) o addirittura flash su ROM (solo alcune schede di rete supportate). GRUB2 ha un modulo per supportare l'avvio tramite PXE.
Vedi anche Wikipedia: gPXE e ROM-O-matic .
Ubuntu Netboot Image da cdimage.ubuntu.com/netboot/ fornisce l'installazione di Ubuntu dalla rete e chiederà di scaricare tutti i pacchetti richiesti dal mirror ufficiale o locale se ne hai uno.
La maggior parte degli utenti è alla ricerca di immagini live in diretta tramite PXE. Questa domanda era solo per configurare un server PXE. Vedi Ubuntu Wiki: Installazione - LocalNet
Il menu PXE può essere personalizzato, il modello migliore da cui imparare è Ubuntu NetBoot . Vedi Pxeboot Immagini multiple
memdisk
può essere utilizzato per caricare direttamente le immagini ISO o floppy disk tramite PXE. syslinux-common
il pacchetto ha una copia. Il client dovrebbe avere abbastanza RAM per contenere l'immagine più una parte per eseguire il sistema operativo caricato.
Esempio di configurazione:
/var/lib/tftpboot/
|-- FDSTD.144
|-- memdisk
|-- pxelinux.0
|-- slitaz-cooking.iso
|-- pxelinux.cfg
| `-- default
`-- pmagic/
|-- bzimage
`-- initramfs
/pxelinux.cfg/default
DEFAULT partmagic
LABEL partmagic
MENU LABEL PartMagic 4.5
KERNEL pmagic/bzimage
APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
LABEL slitaz
MENU LABEL ^Slitaz.iso
TEXT HELP
Testing boot from iso.
ENDTEXT
KERNEL memdisk
APPEND initrd=slitaz-cooking.iso
LABEL freedos_std
MENU LABEL ^FreeDOS STD
TEXT HELP
Testing boot from Floppy IMG.
ENDTEXT
KERNEL memdisk
APPEND initrd=FDSTD.144
I pacchetti PartedMagic sono stati rilasciati dal sito ufficiale dopo che lo sviluppatore originale ha deciso di renderlo commerciale, alcune versioni potrebbero essere trovate attraverso la rete torrent. La mia risposta qui è un riassunto della prima configurazione PXE che ha funzionato per me. Ubuntu Netboot Image dovrebbe funzionare con le stesse istruzioni.
netstat -lu | grep tftp
mostra in modalità di ascolto. La cartella / tftpboot è 777, tuttavia se provo ad tftp> get pxelinux.0
esso dal client ottengo sempre un tftp: pxelinux.0: errore di autorizzazione negata . Hai un'idea per il debug? Grazie in anticipo.
/var/lib/tftpboot/
con 755 (impostazione predefinita) dovrebbe essere ok. Controlla se pxelinux.0
hai 644 o esegui sudo chmod -R +r /var/lib/tftpboot/
per rendere leggibile tutto il suo contenuto.
filename "pxelinux.0";
... nessun commento; P ... grazie per la tua risposta e per questa grande (e completa) risposta. Saluti