Differenze tra le versioni di "PXE"

Da GolemWiki.
Jump to navigation Jump to search
 
(14 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
 
= Cos'è il PXE =
 
= Cos'è il PXE =
Si tratta di un metodo per eseguire il boot di un computer attraverso una connessione di rete ethernet grazie al supporto di un apposito server.
+
Si tratta di un metodo per eseguire il boot di un computer attraverso una connessione di rete grazie al supporto di un apposito server.
  
 
= Installare Ubuntu facendo boot da rete =
 
= Installare Ubuntu facendo boot da rete =
Occorrente:
+
 
 +
Occorre un server nella LAN con installati i seguenti servizi:
 
* tftpd-hpa
 
* tftpd-hpa
 
* isc-dhcp-server
 
* isc-dhcp-server
  
  # sudo apt-get install tftpd-hpa dhcp3-server
+
  # sudo apt-get install tftpd-hpa isc-dhcp-server
 +
 
 +
 
 +
Editare il file ''/etc/network/interfaces'' ed aggiungere la configurazione per la scheda di rete interna, es:
 +
 
 +
auto eth1
 +
iface eth1 inet static
 +
address 192.168.5.1
 +
netmask 255.255.255.0
 +
 
  
 
Editare il file ''/etc/dhcpd.conf'' per configurare il server dhcpd.
 
Editare il file ''/etc/dhcpd.conf'' per configurare il server dhcpd.
  
Nel mio caso ho messo a disposizione il range di IP da 192.168.5.100 a 192.168.5.254, qualsiasi altro range di IP privati andrà ugualmente bene (192.168.1.50-192.168.1.200, 10.0.0.1-10.0.0.254...)
+
Nel successivo esempio di configurazione è stato messo a disposizione il range di IP da 192.168.5.100 a 192.168.5.250, qualsiasi altro range di IP privati andrà ugualmente bene (192.168.1.50-192.168.1.200, 10.0.0.1-10.0.0.254...)
  
192.168.5.2 è l’IP del PC che fa sia da dhcpd che da tftpd.
+
192.168.5.1 è l'IP del PC che fa sia da dhcpd che da tftpd.
  
 
  subnet 192.168.5.0 netmask 255.255.255.0 {
 
  subnet 192.168.5.0 netmask 255.255.255.0 {
  range 192.168.5.100 192.168.5.254;
+
  range 192.168.5.100 192.168.5.250;
  next-server 192.168.5.2;
+
  next-server 192.168.5.1;
 
  filename "pxelinux.0";
 
  filename "pxelinux.0";
 +
option domain-name-servers 8.8.8.8;
 
  }
 
  }
  
Riga 24: Riga 35:
  
 
Riavviare il dhcpd
 
Riavviare il dhcpd
  $ sudo /etc/init.d/dhcp4-server restart
+
  $ sudo /etc/init.d/isc-dhcp-server restart
  
  
Riga 31: Riga 42:
 
# cd /var/lib/tftpboot/
 
# cd /var/lib/tftpboot/
 
# lftp -c "open http://archive.ubuntu.com/ubuntu/dists/quantal/main/installer-i386/current/images/netboot/;  mirror"
 
# lftp -c "open http://archive.ubuntu.com/ubuntu/dists/quantal/main/installer-i386/current/images/netboot/;  mirror"
 
  
 
= Floppy di boot da rete =
 
= Floppy di boot da rete =
Riga 38: Riga 48:
  
 
= Installazione di ISO personalizzate =
 
= Installazione di ISO personalizzate =
Le cose si complicano un pochino se vogliamo installare via PXE il livecd di Ubuntu (o anche una nostra live personalizzata fatta col remastersys), così da non dover riscaricare ogni volta i pacchetti da internet.
+
Le cose si complicano un pochino se vogliamo installare via PXE il livecd di Ubuntu (o anche una nostra live personalizzata fatta con [http://www.remastersys.com/ remastersys]), così da non dover riscaricare ogni volta i pacchetti da internet.
  
Scarichiamo l’iso che ci interessa
+
Scaricare l'iso che si desidera rendere disponibile per l'installazione
# wget -c http://releases.ubuntu.com/releases/12.10/ubuntu-12.10-desktop-i386.iso
 
  
Montiamola in loop per estrarne il contenuto
+
$ sudo wget -c http://releases.ubuntu.com/releases/12.10/ubuntu-12.10-desktop-i386.iso
# mount ubuntu-12.10-desktop-i386.iso /mnt/ -o loop
 
# mkdir /var/lib/tftpboot/ubuntu
 
# cp -a /mnt/casper/ /var/lib/tftpboot/ubuntu
 
# umount /mnt
 
  
Installiamo il server nfs e condividiamo la directory dove abbiamo estratto il contenuto della ISO.
+
Montarla in loop per estrarne il contenuto
# sudo apt-get install nfs-kernel-server
+
$ sudo mount ubuntu-12.10-desktop-i386.iso /mnt/ -o loop
# echo "/var/lib/tftpboot/ubuntu  *(ro,sync,no_subtree_check)" >> /etc/exports
+
$ sudo mkdir /var/lib/tftpboot/ubuntu
# /etc/init.d/nfs-kernel-server restart
+
$ sudo cp -a /mnt/casper/ /var/lib/tftpboot/ubuntu
 +
$ sudo umount /mnt
 +
 
 +
Installare il server nfs e condividere la directory dove è stata estratta la ISO.
 +
$ sudo apt-get install nfs-kernel-server
 +
$ sudo echo "/var/lib/tftpboot/ubuntu  *(ro,sync,no_subtree_check)" >> /etc/exports
 +
$ sudo /etc/init.d/nfs-kernel-server restart
 +
 
 +
Aggiungere al boot-screen dell'installer di Ubuntu la seguente riga per permettere l'installazione anche della live.
 +
 
 +
$ sudo nano /var/lib/tftpboot/ubuntu-installer/i386/boot-screens/text.cfg
  
Editiamo il boot-screen dell’installer di Ubuntu per permettere l’installazione anche della live.
 
# nano /var/lib/tftpboot/ubuntu-installer/i386/boot-screens/text.cfg
 
  
default install
 
 
<code>
 
<code>
 +
default install<br>
 +
<br>
 
label Ubuntu 12.10 livecd <br>
 
label Ubuntu 12.10 livecd <br>
 
menu label  ^Ubuntu-Live 12.10  <br>
 
menu label  ^Ubuntu-Live 12.10  <br>
 
kernel /ubuntu/casper/vmlinuz <br>
 
kernel /ubuntu/casper/vmlinuz <br>
append initrd=/ubuntu/casper/initrd.gz boot=casper netboot=nfs nfsroot=192.168.5.2:/var/lib/tftpboot/ubuntu quiet splash locale=it_IT bootkbd=it console-setup/layoutcode=it -- only-ubiquity <br>
+
append initrd=/ubuntu/casper/initrd.gz boot=casper netboot=nfs nfsroot=192.168.5.1:/var/lib/tftpboot/ubuntu quiet splash locale=it_IT bootkbd=it console-setup/layoutcode=it -- only-ubiquity <br>
 
</code>
 
</code>
  
label install
+
[[Category:Howto]]
menu label ^Install
 
menu default
 
kernel ubuntu-installer/i386/linux
 
append vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet
 
 
 
label cli
 
menu label ^Command-line install
 
kernel ubuntu-installer/i386/linux
 
append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet
 

Versione attuale delle 10:01, 4 apr 2013

Cos'è il PXE

Si tratta di un metodo per eseguire il boot di un computer attraverso una connessione di rete grazie al supporto di un apposito server.

Installare Ubuntu facendo boot da rete

Occorre un server nella LAN con installati i seguenti servizi:

  • tftpd-hpa
  • isc-dhcp-server
# sudo apt-get install tftpd-hpa isc-dhcp-server


Editare il file /etc/network/interfaces ed aggiungere la configurazione per la scheda di rete interna, es:

auto eth1
iface eth1 inet static
address 192.168.5.1
netmask 255.255.255.0


Editare il file /etc/dhcpd.conf per configurare il server dhcpd.

Nel successivo esempio di configurazione è stato messo a disposizione il range di IP da 192.168.5.100 a 192.168.5.250, qualsiasi altro range di IP privati andrà ugualmente bene (192.168.1.50-192.168.1.200, 10.0.0.1-10.0.0.254...)

192.168.5.1 è l'IP del PC che fa sia da dhcpd che da tftpd.

subnet 192.168.5.0 netmask 255.255.255.0 {
range 192.168.5.100 192.168.5.250;
next-server 192.168.5.1;
filename "pxelinux.0";
option domain-name-servers 8.8.8.8;
}

NB: Il parametro next-server indica il computer sul quale risiede il server tftpd, non deve essere necessariamente lo stesso del dhcpd.

Riavviare il dhcpd

$ sudo /etc/init.d/isc-dhcp-server restart


Ora occorre scaricare la directory netboot di Ubuntu dove risiedono i file del server tftpd, cioè /var/lib/tftpboot/

  1. cd /var/lib/tftpboot/
  2. lftp -c "open http://archive.ubuntu.com/ubuntu/dists/quantal/main/installer-i386/current/images/netboot/; mirror"

Floppy di boot da rete

Se il vostro PC è un po’ datato è probabile che la scheda di rete non lo supporti, in questo caso è possibile scaricare da ROM-o-matic.net immagini di floppy o cd con driver per l’installazione tramite PXE con (quasi) qualsiasi scheda di rete in commercio.


Installazione di ISO personalizzate

Le cose si complicano un pochino se vogliamo installare via PXE il livecd di Ubuntu (o anche una nostra live personalizzata fatta con remastersys), così da non dover riscaricare ogni volta i pacchetti da internet.

Scaricare l'iso che si desidera rendere disponibile per l'installazione

$ sudo wget -c http://releases.ubuntu.com/releases/12.10/ubuntu-12.10-desktop-i386.iso

Montarla in loop per estrarne il contenuto

$ sudo mount ubuntu-12.10-desktop-i386.iso /mnt/ -o loop
$ sudo mkdir /var/lib/tftpboot/ubuntu
$ sudo cp -a /mnt/casper/ /var/lib/tftpboot/ubuntu
$ sudo umount /mnt

Installare il server nfs e condividere la directory dove è stata estratta la ISO.

$ sudo apt-get install nfs-kernel-server
$ sudo echo "/var/lib/tftpboot/ubuntu   *(ro,sync,no_subtree_check)" >> /etc/exports
$ sudo /etc/init.d/nfs-kernel-server restart

Aggiungere al boot-screen dell'installer di Ubuntu la seguente riga per permettere l'installazione anche della live.

$ sudo nano /var/lib/tftpboot/ubuntu-installer/i386/boot-screens/text.cfg


default install

label Ubuntu 12.10 livecd
menu label ^Ubuntu-Live 12.10
kernel /ubuntu/casper/vmlinuz
append initrd=/ubuntu/casper/initrd.gz boot=casper netboot=nfs nfsroot=192.168.5.1:/var/lib/tftpboot/ubuntu quiet splash locale=it_IT bootkbd=it console-setup/layoutcode=it -- only-ubiquity