Installare Ubuntu via NetBoot (PXE)

Miniguida su come installare Ubuntu via rete

Qualche domenica fa ho approfittato di una mattina libera per installare Feisty sul mio portatile, operazione che mi ero ripromesso di fare da diverso tempo ma causa impegni e distrazioni varie non avevo mai fatto. Fin qui nulla di nuovo sotto questo cielo, quanti di voi hanno fatto la stessa operazione?, ma allora perché questo articolo? La particolarità dell’installazione non è legata ad ubuntu, o almeno non direttamente, ma all’hardware su cui dovevo installarlo, un Toshiba Portegè R100 sprovvisto di lettore CD/DVD. A complicare il tutto una limitazione inserita nel bios che impedisce il boot a mezzo usb di un lettore esterno, una boiata della Toshiba per farti comprare i suoi lettori PCMCIA, considerazione che faccio poiché sul manuale è espressamente indicato che il boot da CD è possibile solo tramite PCMCIA e che la stessa Toshiba garantisce solo per i suoi prodotti.

Unica alternativa per installare Ubuntu rimane quella tramite boot di rete (fortunatamente questo supportato), ed ecco allora spiegato il senso di questo articolo. Descrivere i semplici passi necessari ad una installazione via PXE di ubuntu.

Per l’installazione ho utilizzato un server TFTP sotto windows poiché devo anche sistemare il fisso e l’unica installazione semifunzionante è quella con un vecchio windows dismesso. I passi da seguire restano comunque pressoché identici, basta sostituire il demone TFTP con il corrispettivo Unix.

Vediamo quindi come installare Feisty via PXE iniziando dalla lista della spesa, ovvero

Cosa serve:

a) Una rete domestica con un pc che faccia da server TFTP (M$ windows nel mio caso)
b) Una connessione ad internet veloce (DSL o cavo che sia)
c) un demone TFTP ( io ho usato Tftpd32.exe)
d) l’immagine di boot di Ubuntu Feisty.

Il primo passo è preparare la macchina server affinché faccia da TFTP e DHCP, per far ciò sotto windows potere utilizzare il già citato Tftpd32 scaricabile liberamente da qui http://tftpd32.jounin.net/

Decomprimete lo zip dove vi pare, vi sconsiglio di utilizzare l’installer piuttosto prendete lo zip e scompattatelo in una cartella a vostro piacimento, E:\nb\tftpd32 nel mio caso.

Il passo successivo consiste nel recuperare l’immagine netboot di feisty che trovate qui
http://archive.ubuntu.com/ubuntu/dists/feisty/main/installer-i386/current/images/netboot/netboot.tar.gz

Estraete il contenuto del file nella stassa cartella utilizzata per il server tftpd (E:\nb\netboot).

Decompresso il contenuto bisogna copiare:

la cartella “E:\nb\netboot\ubuntu-installer\i386\pxelinux.cfg”
ed i files “E:\nb\netboot\ubuntu-installer\i386\pxelinux.0” ed “E:\nb\netboot\ubuntu-installer\i386\linux” in E:\nb\netboot”

fatto ciò è possibile avviare il server tftp tramite l’eseguibile tftpd32.exe

Nella tab tftp configurare le opzioni come in figura:

tftp server

spostarsi nella tab dhcp e configurare le varie opzioni come segue:

  • ip pool starting address: il primo ip che verra’ rilasciato (ES: 192.168.1.110)
  • size: il numero di ip massimi rilasciabili, potete mettere anche 2 (ES: 5)
  • boot file: /netboot/pxelinux.0
  • dafult router: l’indirizzo del vostro gateway (es: 192.168.1.1)
  • mask: la maschera della vostra rete (ES: 255.255.255.0)

Le operazioni di configurazione del demone TFTP sono terminate, ricordarsi di salvare le impostazioni del DHCP tramite apposito bottone “salva” sulla tab di configurazione.

I passi successivi si eseguono sulla macchina nella quale vogliamo installare Ubuntu. Per prima cosa bisogna controllate che nel bios sia impostato il boot da rete in modalita’ PXE e che questa modalità di boot abbia precedenza su eventuali altri dispositivi. Se non lo fosse configurate di conseguenza il bios ed avviate il pc.

Quello che vi verrà mostrato a video dipende dal tipo di bios utilizzato, in generale si vengono mostrate le fasi di acqusizione ip tramite DHCP, la richiesta al server TFTP.

Potete controllare nei log del server tftp le richieste con il relativo esito, se non arriva nessuna richiesta di DHCP ricontrollare la configurazione ed i cablaggi tra client (pc che vogliamo installare) e server.

In assenza di problemi l’immagine del kernel viene scaricata dal server ed avviata, quello che vi si presenta è qualcosa di simile a questo:

 

screen1

Confermiamo l’installazione client, a meno che non vogliate installare un server, e dopo qualche secondo apparire la schermata di scelta della lingua:

 

screen2

Da questo momento in poi seguite una delle tante guide su come installare ubuntu. Unica accortezza, armatevi di pazienza perché tutto verra’ scaricato dalla rete quindi ci vorrà’ un pezzo per completare l’installazione.

20 pensieri su “Installare Ubuntu via NetBoot (PXE)

  1. Quando mi decidero’ a provare Linux,
    ormai e’ un anno che dico lo provo lo provo e invece nulla, un po’ per il tempo che e’ veramente poco e un po’ di sana pigrizia.
    Complimenti per la guida.
    Un salutone. 😉

  2. Ciao gigidn,
    il tuo articolo è molto interessante e fatto bene, per questo vorrei chiederti se posso pubblicarlo anche sul sito del LUG (Linux user group) Viscosa di cui faccio parte.
    Ovviamente con i dovuti riferimenti al creatore.

    Se per te va bene potresti esportarlo da wordpress così che possa importarlo facilmente?

    In ogni caso grazie mille!
    Buona giornata,
    Stefano.

  3. ciao, ho provato a seguire tutto come descritto nella guida, ma non va, e nel logviewer mi da questi messaggi:

    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0B:6A:F4:31:3D [03/09 20:52:09.062]
    Client requested address 169.254.12.76 [03/09 20:52:09.062]
    no more address or address previously allocated by another server [03/09 20:52:09.062]
    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0B:6A:F4:31:3D [03/09 20:52:13.062]
    Client requested address 169.254.12.76 [03/09 20:52:13.062]
    no more address or address previously allocated by another server [03/09 20:52:13.062]
    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0A:E4:57:6F:E2 [03/09 20:52:15.281]
    no more address or address previously allocated by another server [03/09 20:52:15.281]
    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0A:E4:57:6F:E2 [03/09 20:52:17.343]
    no more address or address previously allocated by another server [03/09 20:52:17.343]
    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0B:6A:F4:31:3D [03/09 20:52:20.062]
    Client requested address 169.254.12.76 [03/09 20:52:20.062]
    no more address or address previously allocated by another server [03/09 20:52:20.062]
    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0A:E4:57:6F:E2 [03/09 20:52:21.421]
    no more address or address previously allocated by another server [03/09 20:52:21.421]
    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0A:E4:57:6F:E2 [03/09 20:52:29.531]
    no more address or address previously allocated by another server [03/09 20:52:29.531]
    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0B:6A:F4:31:3D [03/09 20:52:36.062]
    Client requested address 169.254.12.76 [03/09 20:52:36.062]
    no more address or address previously allocated by another server [03/09 20:52:36.062]
    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0B:6A:F4:31:3D [03/09 20:54:21.937]
    Client requested address 169.254.12.76 [03/09 20:54:21.953]
    no more address or address previously allocated by another server [03/09 20:54:21.953]
    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0B:6A:F4:31:3D [03/09 20:54:25.937]
    Client requested address 169.254.12.76 [03/09 20:54:25.953]
    no more address or address previously allocated by another server [03/09 20:54:25.953]
    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0B:6A:F4:31:3D [03/09 20:54:34.937]
    Client requested address 169.254.12.76 [03/09 20:54:34.953]
    no more address or address previously allocated by another server [03/09 20:54:34.953]
    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0B:6A:F4:31:3D [03/09 20:54:50.937]
    Client requested address 169.254.12.76 [03/09 20:54:50.953]
    no more address or address previously allocated by another server [03/09 20:54:50.953]

  4. Ho usato un hub. adesso sembra che vada. comunica con il server dhcp, ma poi si blocca sul tfdp, mi dice che non riesce a stabilire una connessione con il tfdp

  5. ciao, innanzitutto grazie per la guida, ma è possibile fare ‘sta cosa anche senza avere un router e collegando semplicemente i 2 pc con un cavo di rete? inoltre non capisco “ip pool starting address: il primo ip che verra’ rilasciato”: rilasciato da chi o da cosa?

    grazie in anticipo!

  6. il client TFTP ha anche un server dhcp, “ip pool starting address” e’ l’insieme degli indirizzi ip di questo server.

    Naturalmente e’ possibile utilizzare un cavo cross e due pc collegati in rete ma solo per avviare la procedura. L’immagine PXE fornita da ubuntu e’ configurata per andarsi a scaricare i pacchetti via rete quindi hai bisogno di un collegamento ad internet. Se sul pc server e’ impostato un nat con una adsl allora non ci stanno problemi, se non e’ presente una connessione di rete allora si deve modificare l’immagine ed usare il pc come server, cosa un pelo piu’ complessa.

  7. grazie della risposta!
    alla fine ce l’ho fatta anche se non ho capito bene come facendo un miscuglio di questa guida e un altro paio e staccando il cavo a tradimento dopo il boot e attaccandolo a internet!

    mi sento proprio un maghetto dei computer :p

    grazie ancora e complimenti per il blog

  8. ciao io ho seguito la guida e sono arrivato alla scelta del mirror dove scaricare la release ma qualsiasi mirror scelga mi da errore e mi dice
    “mirror dell archivio non buono
    il mirror dell archivio ubuntu specificato non è disponibile o non contiene un file release valido. provare un mirror diverso”

    io ne ho provati un po oltre a italia..(francia, spagna svezia e alcuni americani) ma il risultato è sempre lo stesso…

    ps ho scaricato il netboot di gusty e non di feisty

  9. forse ce l’ho fatta..
    dopo aver smanettato un po con la shell mi sono accorto che il problema era il dns

    quindi
    nano /etc/resolv.conf

    e ho cambiato la riga

    nameserver 0.0.0.0

    in
    nameserver 208.67.222.222

    esco dalla shell e funge:)

    ciao

  10. ciao, ottimo post davvero. se invece di ubuntu volessi usare tftpd32 per installare da rete windows xp? ho anch’io un r100. devo ripristinarlo dato che non mi fa più accedere a win dicendomi che la pass e/o l’username inseriti sono errati. ho già provato ad accedere anche come administrator e guest ma nulla…credo abbia qualche problema di registro :s

  11. Che io sappia non e’ possibile installare windows via tftp, motivo per il quale ho scritto questa guida. l’R100 non ha cd e non fa il boot da cd-usb quindi per chi si trova il windows in pappa unica soluzione che ho trovato e’ installare linux anche se alcuni drivers per la verita’ non son perfetti mentre altri funzionano a meraviglia, vedi la wireless.

    Mi spiace ma su windows non so aiutarti anche perche’ non conosco bene questo so.

  12. @Sergio

    Ciao Sergio, per installare XP ti devi armare di santissima pazienza. Senza di questa finisci per distruggere il notebook in mille pezzettini e presentarti fuori dalla casa del progettista dello stesso con una mazza da baseball. A parte questo piccolo inciso quello di cui hai realmente bisogno è un convertitore per HD da 1,8 pollici a quelli a 3,5 IDE classici, lo puoi trovare tranquillamente sulla baia a pochi € e di un lettore floppy usb (che invece fà in boot tranquillamente, ODIO TOSHIBA). Una volta che ti sei procurato questo magico convertitore dovrai quindi disporre di un fisso dove poter collegare il disco e formattarlo in un unica partizione (puoi farne anche di più ma non te lo consiglio) in FAT32. Una volta completata la formattazione, sempre con il disco collegato attraverso l’adattatore ad un altro PC, dovrai scaricare WBOOTESS.EXE (http://www.nerdlabs.org/bootdisks/ ) lo trovi in fondo alla pagina ed eseguirlo.In alto troverai tre “spunte”, seleziona la seconda e deseleziona la prima. Ora indica come cartella di estrazione dei file il disco del toshiba da 1,8 pollici (ad es E:) dai OK e vedrai che nel disco saranno comparsi un po’ di file.Ora copia l’intera cartella i386 che trovi all’interno del CD di XP sempre sul HD del Toshiba. Bene siamo a buon punto, ora prendi un floppy formattato e riesegui WBOOTESS.EXE lascia selezionato la prima opzione e vedrai che gli stessi file saranno caricati sul floppy. Ora spegni tutto e rimetti il disco da 1,8 pollici sul toshiba, attaca il floppy USB al Toshiba e inserisci il floppy. Ora tenendo premuto F12 accendi il TOSHIBA, spostati con le freccette e seleziona il floppy. Questo dovrebbe fare il Boot, lascia caricare tutto e ti troverai in dos. Controlla che venga visto il disco da DOS dando il comando C: seguito da DIR . Ti dovrebbero comparire tutti i file che prima hai copiato sul disco. Bene ora ridai il comando A: per tornare al floppy. Momento cruciale dai il comando “sys C:” senza virgolette ovviamente e attendi una ventina di secondi che ti torni ad A:.Fatto questo spegni il TOSHIBA tenendo premuto il tasto di spegnimento. Stacca il floppy e fai ripartire il TOSHIBA. nei giro di pochi secondi ti ritroverai in DOS e dovrai dare due semplici comandi “cd i386” seguito “winnt.exe” successivamente partira la classica installazione di WINDOWS XP. Ultima cosa che ti devi ricordare è di selezionare la conversione in NTFS dopo che scegli la partizione dove installare Windows. Spero di esserti stato utile.

    Ciao

    Orange

  13. ciao , bella la guida è possibile fare un installazione cosi anche per Xp appogiandogli la iso ho provato con unibootin ma inutilmente

  14. Ciao, sarebbe interessante sapere come modificare l’immagine fornita per evitare di scaricare file dalla rete, ma prenderli da un iso locale.
    Grazie.

  15. Io ho lo stesso problema con un vecchio Aspire che vorrei resuscitare, magari anche solo per regalarlo, con Ubuntu o anche con xubuntu. Il fatto è che sono abbastanza in difficoltà a operare con due computer, per ragioni logistiche, ma un server è necessario mi pare di capire…

Lascia un commento