Differenze tra le versioni di "PXE"

Da GolemWiki.
Jump to navigation Jump to search
Riga 58: Riga 58:
 
default install
 
default install
  
label Ubuntu 12.10 livecd
+
label Ubuntu 12.10 livecd
menu label  ^Ubuntu-Live 12.10
+
menu label  ^Ubuntu-Live 12.10
kernel /ubuntu/casper/vmlinuz
+
kernel /ubuntu/casper/vmlinuz
append initrd=/ubuntu/casper/initrd.gz boot=casper netboot=nfs nfsroot=192.168.0.2:/var/lib/tftpboot/ubuntu quiet splash locale=it_IT bootkbd=it console-setup/layoutcode=it -- only-ubiquity
+
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
  
label install
+
label install
menu label ^Install
+
menu label ^Install
menu default
+
menu default
kernel ubuntu-installer/i386/linux
+
kernel ubuntu-installer/i386/linux
append vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet
+
append vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet
  
label cli
+
label cli
menu label ^Command-line install
+
menu label ^Command-line install
kernel ubuntu-installer/i386/linux
+
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
+
append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet

Versione delle 00:12, 18 nov 2012

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.

Installare Ubuntu facendo boot da rete

Occorrente:

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

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...)

192.168.5.2 è 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.254;
next-server 192.168.5.2;
filename "pxelinux.0";
}

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/dhcp4-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 col remastersys), così da non dover riscaricare ogni volta i pacchetti da internet.

Scarichiamo l’iso che ci interessa

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

Montiamola in loop per estrarne il contenuto

  1. mount ubuntu-12.10-desktop-i386.iso /mnt/ -o loop
  2. mkdir /var/lib/tftpboot/ubuntu
  3. cp -a /mnt/casper/ /var/lib/tftpboot/ubuntu
  4. umount /mnt

Installiamo il server nfs e condividiamo la directory dove abbiamo estratto il contenuto della ISO.

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

Editiamo il boot-screen dell’installer di Ubuntu per permettere l’installazione anche della live.

  1. 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.2:/var/lib/tftpboot/ubuntu quiet splash locale=it_IT bootkbd=it console-setup/layoutcode=it -- only-ubiquity
label install
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