La documentazione di NetBSD è per la maggior parte nel formato delle pagine di manuale (man) e comprende soprattutto documentazione tecnica di riferimento, molto valida e completa ma non particolarmente adatta a scopo introduttivo. A parte ciò è impossibile leggere una pagina man prima di aver installato il sistema ...
Nota: dopo l'installazione si possono anche trovare varie guide di Unix/BSD nella directory /usr/share/doc; alcune hanno carattere storico, mentre altre vengono tuttora aggiornate. Sono divise in tre gruppi, psd (UNIX Programmer's Supplementary Documents), smm (UNIX System Manager's Manual) e usd (UNIX User's Supplementary Documents). Purtroppo alcune directory sono vuote, probabilmente per motivi di licenza dei contenuti. Il testo può essere letto sullo schermo con nroff. Per esempio:
$ cd /usr/share/doc/smm/09.sendmail $ nroff -me 09.sendmail/intro.me | moreUsando i makefile si può anche generare output in formato Postscript, pronto per essere stampato.
È tuttavia innegabile una certa carenza di guide utente e dei cosiddetti HOWTO e, pertanto, occorre sfruttare al massimo quelle esistenti. Una serie di documenti si trova nella release di NetBSD, in formato testo, mentre ulteriori informazioni si possono trovare sul sito web di NetBSD (www.netbsd.org e mirror), in particolare le cosiddette Frequently Asked Questions (FAQ).
Documentazione originale: il sito di NetBSD contiene varie pagine di documentazione e di HOWTO, sia generici sia specifici per piattaforma. Si tratta di informazioni utili ed esposte in maniera semplice (per esempio come vedere una partizione Windows da NetBSD oppure come avviare NetBSD dal boot loader di Windows NT, ecc.). In questa guida per ora non vengono duplicate le informazioni già presenti sul sito di NetBSD.
Più o meno in tutte le versioni di NetBSD si trovano i seguenti file:
Note per l'installazione di NetBSD/i386. Da leggere (e rileggere) assolutamente: contiene una descrizione del sistema, l'elenco dei dispositivi hardware supportati e le istruzioni per l'installazione.
Non proprio essenziale per l'installazione, ma conviene leggerlo.
Descrive la struttura della release di NetBSD in formato man (preformattato: si può leggere con un normale editor di testo).
Sul sito web di NetBSD si trovano varie guide online, molto utili e molto sintetiche
Contiene alcune informazioni di carattere generale (per esempio come ricompilare il kernel) e i puntatori alle altre FAQ.
Argomenti specifici di NetBSD/i386.
Guida alla configurazione di rete e all'uso di PPP.
Il layout dei file in una distribuzione NetBSD è descritto nel file INSTALL. Giusto per promemoria, i file binari da installare si trovano (per la piattaforma i386) nella subdirectory i386/binary/sets. I relativi sorgenti si trovano nella directory source/sets. Nella directory source/patches vengono messi i patch ai sorgenti per correggere eventuali problemi (solitamente relativi a problemi di sicurezza scoperti dopo l'uscita della release).
La prima cosa da fare per installare NetBSD è leggere le note di installazione della release desiderata, che si trovano nel file INSTALL. La procedura di installazione è descritta in dettaglio. A questo punto si può decidere il mezzo da utilizzare per l'installazione tra quelli supportati.
ftp |
nfs |
CDROM |
floppy |
filesystem |
directory locale |
sysinst, il programma di installazione, non permette di cambiare il layout della tastiera e, pertanto, l'installazione deve essere effettuata utilizzando la disposizione della tastiera americana. In realtà non si tratta di un grosso problema, dal momento che per installare NetBSD da CDROM bisogna semplicemente scegliere tra una serie di opzioni di tipo alfanumerico, e quindi i tasti corrispondono. Se si installa via ftp, il problema può essere più noioso. Penso che le prossime versioni del programma di installazione consentiranno di modificare il layout della tastiera ma, per ora, ci si può orizzontare con la seguente tabella:
Al termine dell'installazione, una delle prime cose da fare sarà cambiare la disposizione della tastiera.
In alcuni punti del programma di installazione si fa riferimento alla geometria del disco fisso, e in particolare a
geometria reale |
geometria del BIOS |
La geometria reale è quella rilevata dal sistema e si riferisce alla geometria effettiva del disco. La geometria del BIOS è la geometria con la quale il BIOS vede il disco e potrebbe essere diversa da quella reale (per esempio, potrebbe essere rimappata LBA). Il disco fisso che verrà usato nell'esempio di installazione ha la seguente geometria
real: 6232 cyl, 16 heads, 63 sec BIOS: 779 cyl, 128 heads, 63 sec (LBA)
In questo caso il BIOS usa la modalità LBA per rimappare la geometria del disco diminuendo il numero di cilindri e aumentando quello di tracce (ma il prodotto resta uguale: 6232*16 = 779*128 = 99712). Ricordando che un settore è composto da 512 byte, la dimensione del disco è: 6232*16*63*512 = 3 GB. NetBSD non ha alcun bisogno di rimappare la geometria del disco, ed è anche possibile cambiare la geometria manualmente se quella rilevata dal sistema non fosse corretta.
In questa sezione cercheremo di chiarire che cosa sono le partizioni (dal punto di vista del BIOS e dal punto di vista di NetBSD) spiegando nel contempo come si avvia un PC e come NetBSD arriva a prendere il controllo.
Quando un PC viene avviato, il controllo viene preso dal BIOS che effettua una serie di verifiche (dette POST, Power On Self Test, per es. il test della RAM) e determina qual'è il dispositivo di avviamento da utilizzare (solitamente configurabile nelle impostazioni del BIOS); in questo esempio supporremo che si tratti del primo disco fisso IDE (che NetBSD identifica con wd0). Il BIOS carica in memoria il "loader" (programma di caricamento) il cui codice si trova nel Master Boot Record (MBR) del disco fisso e gli cede il controllo (ossia salta alla prima istruzione del programma).
Il Master Boot Record si trova al cilindro 0, testina 0 e settore 1 del disco fisso e contiene il programma di caricamento già citato e la tabella delle partizioni BIOS che indica in che modo il disco fisso è stato partizionato.
Partizionare un disco fisso significa suddividerne la superficie fisica in unità logiche (le partizioni BIOS); tale suddivisione viene memorizzata nella già citata tabella delle partizioni all'interno del MBR. Partizionando un disco si hanno vari benefici, per esempio si possono installare più sistemi operativi, ognuno nella sua partizione. Assegnando più partizioni a uno stesso sistema operativo si diminuiscono i rischi di perdita di dati in caso di malfunzionamenti.
Supponendo di aver partizionato il disco per poterci installare più sistemi operativi, come fa il loader a decidere quale sistema avviare? La risposta è semplice: nella tabella delle partizioni è presente un flag in corrispondenza della partizione attiva; il loader cerca la partizione marcata e le cede il controllo, ossia carica un secondo programma di avviamento che si trova all'inizio (cioè nel primo settore) della partizione stessa (NetBSD chiama questo programma "bootblock" ed è quello che carica in memoria ed esegue il kernel).
Secondo questo schema di avviamento, sembrerebbe che sia possibile installare più sistemi operativi, ognuno nella sua partizione, ma che all'accensione del PC parta sempre lo stesso (quello della partizione attiva); in effetti, con un MBR standard è così. È a questo punto che interviene il cosiddetto "selettore di boot" (boot selector), un programmino che sostituisce il loader standard del MBR e che consente di scegliere a quale partizione cedere il controllo e quindi quale sistema operativo avviare.
NetBSD dispone di un proprio boot selector che il programma di installazione può scrivere nel MBR su richiesta dell'utente. A questo punto dovrebbe essere chiaro che il boot selector è necessario soltanto se si è in presenza di più sistemi operativi...
NetBSD si installa in una delle quattro partizioni primarie del BIOS.
Fin qui abbiamo parlato del BIOS e delle sue partizioni; NetBSD è in grado di leggere le partizioni BIOS del Master Boot Record ma non le utilizza per il proprio funzionamento. Invece, utilizza una propria tabella delle partizioni, chiamata "disklabel", che si trova all'inizio della partizione BIOS riservata a NetBSD (che deve essere una partizione primaria). Si noti che si tratta di una struttura propria di NetBSD, della quale il BIOS è del tutto ignaro.
Le partizioni NetBSDBSD (dette anche "slice") sono visibili solo da NetBSD e sono identificate mediante lettere (da "a" in avanti). Per esempio wd0a indica la partizione 'a' del primo disco IDE (wd0). Nell'esempio di Figura 3-1 vi sono due partizioni BIOS primarie; la prima è occupata dal DOS e la seconda da NetBSD, che la suddivide a sua volta in partizioni BSD scrivendo una disklabel.
Nota: in realtà non è del tutto esatto dire che la disklabel suddivide la partizione BIOS di NetBSD in sotto-partizioni. Come si può vedere dalla figura le partizioni "c" e "d" non sono sotto-partizioni. La disklabel è, a tutti gli effetti, la tabella delle partizioni personale di NetBSD: il kernel di NetBSD non consulta la tabella BIOS ma la disklabel.
Nota: la disposizione descritta nella Figura 3-1 è tipica dei sistemi i386 per quanto riguarda il significato delle partizioni "c" e "d".
Nota: come già spiegato, se NetBSD non è l'unico sistema operativo presente sul disco fisso (come nell'esempio precedente) è necessario installare un boot manager, cioè un programma che in fase di boot del computer consente di scegliere il sistema operativo da avviare. Il programma di installazione di NetBSD può installare automaticamente un boot manager se l'utente lo richiede.
Se l'altro sistema operativo sul disco fisso è Windows NT, è possibile utilizzare il boot manager di NT, aggiungendo NetBSD al menu; la procedura (molto semplice) è descritta sul sito di NetBSD.
Lo spazio da dedicare a NetBSD dipende chiaramente dall'uso che se ne vuole fare (per esempio server o workstation), dalla versione di NetBSD e dai programmi che si vogliono installare. A titolo di esempio si consideri un sistema usato come desktop con un disco fisso da 420 MB sul quale sono stati installati X, i sorgenti del kernel e alcuni programmi. Alla partizione di swap sono stati dedicati 32 MB. df mostra quanto segue:
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/wd1a 31887 16848 13444 56% / /dev/wd1e 363507 173202 172129 50% /usr
Come si vede sul sistema sono rimasti circa 180 MB liberi.
Le prime installazioni, in generale, non vanno quasi mai bene; questo vale per tutti i sistemi operativi e NetBSD non fa eccezione. L'importante è non scoraggiarsi e riprovare: ciò che all'inizio sembra incomprensibile diventa presto chiaro in virtù delle prove fatte e dell'esperienza acquisita (nonché delle numerose riletture del file INSTALL).
Durante le prime installazioni conviene accettare tutti i valori di default che vengono proposti dal programma di installazione, evitando di avventurarsi in modifiche alla disklabel o simili. L'unica reale decisione da prendere è lo spazio da dedicare alla partizione NetBSD con fdisk.
Nella restante parte di questo capitolo vediamo in dettaglio un esempio reale di installazione per uno dei casi più comuni: l'installazione da CD-ROM. Gli altri tipi di installazione non differiscono nei concetti ma solo nel modo in cui vengono reperiti gli archivi da installare. Si noti che alcuni dettagli dell'installazione possono presentare delle differenze a seconda della versione di NetBSD installata: l'esempio si riferisce alla versione 1.5.
Nell'esempio seguente vengono sempre prese le strade più "difficili":
Tabella delle partizioni senza spazio disponibile: bisognerà eliminare una o più partizioni per fare spazio a NetBSD.
Partizionamento usando i settori anziché i megabyte come unità di misura.
Modifica manuale della disklabel creata dal programma di installazione (anche qui usando i settori come unità di misura).
Installazione di tipo "custom".
Queste scelte fanno apparire l'installazione molto più laboriosa di quanto non sia nella realtà ma, d'altronde, non avrebbe molto senso scrivere una guida che illustri solo le situazioni più facili. Si tenga comunque presente che scegliendo di utilizzare i default dell'installazione le operazioni sono molto più semplici.
Prima di procedere all'installazione è bene pianificare accuratamente le operazioni da compiere. Per prima cosa bisogna leggere attentamente il già citato INSTALL, che descrive i passi necessari per l'installazione, controllando in particolare l'elenco delle compatibilità hardware. Poi è necessario liberare uno spazio sufficiente a accogliere NetBSD sul disco fisso. Se NetBSD deve condividere il disco con altri sistemi operativi, bisognerà probabilmente creare una nuova partizione (a questo ci pensa il programma di installazione), eventualmente riducendone una esistente (a questo ci deve pensare l'utente). Per questo scopo si può usare un prodotto commerciale (per esempio Partition Magic) oppure un prodotto freeware come FIPS o pfdisk (presente nella distribuzione di NetBSD).
L'installazione è logicamente divisa in due parti. Nella prima parte si crea una partizione per NetBSD e si crea la disklabel per la partizione. Nella seconda parte si decide che cosa si vuole installare e si estraggono i file nella partizione appena creata. La prima parte è indipendente dal metodo di installazione (CD-ROM, ftp, NFS, ecc.). Al termine della prima parte viene richiesto di confermare le operazioni effettuate; fino a quel momento non è stato scritto ancora nulla sul disco fisso: annullando l'installazione tutto rimane come era prima di incominciare e il disco fisso non viene modificato in alcun modo.
Nota: se si dispone di un CD-ROM avviabile di NetBSD non è necessario creare il dischetto di installazione; basterà riavviare il computer dopo averlo predisposto per fare il boot dal lettore di CD (questa opzione non è disponibile su tutti i PC). Chi fa il boot da CD può passare direttamente alla sezione seguente.
La prima operazione da compiere è la creazione del floppy di installazione. Si tratta di copiare l'immagine del dischetto da CD a floppy. Se questa operazione viene effettuata in ambiente DOS si userà il programma rawrite.exe che si trova nella directory i386/installation/misc. Il file da copiare su dischetto è i386/installation/floppy/boot.fs.
Formattare il floppy in ambiente DOS.
Portarsi nella directory \NETBSD-1.3.2\I386\INSTALLATION\FLOPPY del CD-ROM.
Eseguire ..\MISC\RAWRITE indicando BOOT.FS come Source file name e A: come Destination drive.
Se la creazione del dischetto viene effettuata in ambiente Unix, si userà il comando dd; per esempio:
# cd i386/installation/floppy # dd if=boot.fs of=/dev/fd0a bs=36b
dd copia blocchi di 512 byte: l'opzione bs=36b indica di copiare 36 blocchi per volta, per velocizzare l'operazione.
Nota: un dischetto da 1440K contiene 1474560 byte ed è composto da 80 cilindri, 2 tracce, 18 settori da 512 byte, cioè da 80*2*18=2880 blocchi da 512 byte. Quindi, con l'opzione bs=36b si copia un cilindro per volta.
Ora tutto è pronto per l'installazione vera e propria ma, prima di cominciare, è bene acquisire alcune informazioni sull'hardware del PC.
La cosa più importante da scoprire è il tipo di disco fisso montato sul sistema (IDE, SCSI, ...) e la sua geometria. Queste informazioni si possono ricavare dal manuale del disco, da uno dei tanti programmi diagnostici per DOS oppure dal BIOS stesso all'avviamento del computer. Su alcuni dischi la geometria è stampata su un'etichetta attaccata al disco. Un'altra valida possibilità è di collegarsi al sito Internet del produttore e cercare le specifiche tecniche del disco fisso. Se si intende installare via ftp o via NFS è bene annotarsi anche le impostazioni della scheda di rete: una delle cause di problemi più frequente è che l'IRQ della scheda di rete non corrisponde a quello impostato nel kernel. Vediamo, a titolo di esempio, le impostazioni per una categoria di schede di rete a loro tempo molto diffuse, le NE2000 compatibili sul bus ISA. Il kernel è preconfigurato per individuare schede con queste due impostazioni:
ne0 at isa? port 0x280 irq 9 # NE[12]000 ethernet cards ne1 at isa? port 0x300 irq 10Pertanto, se le impostazioni di una NE2000 installata sul sistema non coincidono con ne0 o con ne1 il kernel di installazione non la rileverà (dopo l'installazione è naturalmente possibile compilare un kernel personalizzato in grado di riconoscere anche altre configurazioni).
Già che ci siamo, conviene scoprire anche qualche informazione sul resto del sistema, per esempio il tipo di scheda audio, il numero di porte seriali e parallele, ecc. Tutte queste informazioni possono essere utili in un secondo tempo, anche se solitamente non servono in fase di installazione. È molto importante individuare eventuali impostazioni non standard delle periferiche; per far ciò, confrontare le impostazioni del proprio sistema (IRQ, porte di I/O, ecc.) con quelle di default riportate nel file INSTALL.
Nota: si può procedere all'installazione anche senza sapere la geometria del disco. L'informazione sulla geometria serve unicamente per controllo: il programma di installazione è in grado di determinarla automaticamente.
Inserire il floppy di installazione appena creato nel lettore A: e riavviare il computer (oppure fare il boot da CD-ROM). Dal dischetto viene fatto il boot del kernel compresso netbsd.gz. Durante il boot del dischetto di installazione appena creato (per certe versioni di NetBSD i dischetti potrebbero essere due) all'avvio del kernel vengono visualizzate le informazioni sui dispositivi trovati e configurati. È probabile che vi siano molte segnalazioni di dispositivi non trovati: ciò è dovuto al fatto che il kernel sul dischetto comprende il supporto per una grande quantità di periferiche; è naturale che non tutte siano presenti sul sistema.
Terminata la procedura di avvio ci si ritrova nel menu principale del programma di installazione, mostrato nella Figura 3-2. Non bisogna lasciarsi ingannare dall'aspetto spartano di sysinst: si tratta di un programma molto potente e flessibile. Da qui in avanti si seguono le istruzioni mostrate a video, tenendo presenti le spiegazioni del file INSTALL. Le schermate di sysinst sono tutte strutturate nello stesso modo: nella parte superiore viene visualizzata una breve spiegazione, nella parte centrale viene mostrata la situazione attuale riscontrata da NetBSD (non presente in questa schermata) e nella parte inferiore compare il menu con le scelte possibili. Scegliendo l'opzione di installazione ("a") si arriva alla schermata di conferma, mostrata nella Figura 3-3.
Dopo aver scelto di proseguire con l'opzione "b", viene il momento di indicare su quale disco fisso si vuole installare NetBSD. Se sul sistema sono presenti più dischi fissi viene mostrato un elenco da cui scegliere; in questo caso sul sistema c'è un solo disco fisso IDE e quindi il programma di installazione non propone scelte ma si limita a visualizzare una schermata informativa, mostrata in Figura 3-4.
Nota: le informazioni mostrate in questa schermata cambieranno a seconda del tipo e del numero di dischi fissi installati sul sistema.
Successivamente (Figura 3-5) viene visualizzata la geometria vista dal BIOS per il disco selezionato nella schermata precedente. Si può confermare la geometria mostrata oppure modificarla a mano. Questa seconda opzione serve nel caso in cui il sistema non abbia riconosciuto la geometria correttamente.
È arrivato il primo momento importante dell'installazione: il partizionamento del disco fisso. La prima cosa da fare è indicare se NetBSD occuperà una partizione (scelta consigliata) o l'intero disco (scelta temeraria). Anche scegliendo la prima opzione, comunque, si può creare una partizione che copre l'intero disco (Figura 3-6): la differenza è che nella prima modalità di installazione la tabella delle partizioni viene mantenuta in una modalità compatibile con altri sistemi operativi.
In questo esempio useremo un disco con la seguente geometria reale, corrispondente alla geometria BIOS mostrata nella Figura 3-5.
6232 cyl, 16 heads, 63 sec (6232 x 16 x 63 = 6281856 settori totali) 1 settore = 512 byte 1 traccia = 63 settori = 63 * 512 byte = 32 K 1 cilindro = 16 * 63 * 512 byte = 504 K
Il passo seguente, illustrato nella Figura 3-7 è l'indicazione dell'unità di misura da utilizzare per partizionare il disco: i settori sono quelli che consentono la maggiore precisione, ricordando che sui dischi più vecchi conviene allineare le partizioni a multipli della dimensione del cilindro. I megabyte sono più semplici da utilizzare perché non richiedono calcoli manuali e sono più "intuitivi".
Nel seguito utilizzeremo i settori perché sono più utili a fine dimostrativo. Scegliendo l'opzione "c" si arriva alla schermata di interfaccia di fdisk.
La Figura 3-8 mostra la situazione del disco fisso prima dell'installazione di NetBSD: vi sono quattro partizioni primarie, una per DOS/Windows, due per Linux e una non utilizzata. Anche se c'è una partizione libera non c'è spazio libero sul disco: la colonna End(sec) della partizione 2 mostra che sono occupati tutti i 6281856 settori totali del disco.
Nota: nella schermata di fdisk vale sempre la formula
Start(sec) + Size(sec) = End(sec)inoltre la colonna End(sec) di una partizione corrisponde alla colonna Start(sec) della partizione seguente. Questo non è molto intuitivo perché il settore visualizzato nella colonna End(sec) in realtà non appartiene alla partizione bensì è il primo settore della partizione seguente. Nella disklabel viene invece utilizzata una convenzione diversa (e più logica).
Per fare spazio bisogna sacrificare (a malincuore) le due partizioni di Debian GNU/Linux, incominciando dall'ultima (opzione "c"). Viene visualizzata la schermata di modifica dei dati di una partizione di Figura 3-9 che mostra i dati correnti della partizione 2.
Per cancellare la partizione si seleziona dapprima il tipo unused con l'opzione "a: Kind" e poi si sceglie l'ozpione "b" e si lasciano vuoti i campi "Start" e "Size" (premendo invio senza inserire nulla). Infine i conferma il tutto con l'opzione "d". Quando si ritorna alla schermata principale di fdisk, la partizione risulta libera. Allo stesso modo si cancellano le partizioni 2 e 1, fino a lasciare solo la partizione 0 (Figura 3-10).
Rimane solo la partizione DOS/Windows di 2088516 settori, cioè 1029 MB (circa 1 GB). Lo spazio libero è dato dalla differenza tra il numero totale di settori, già calcolato sopra, e il punto finale della partizione DOS (colonna "End")
6281856 - 2088579 = 4193277 settori = 2047 MB liberi sul disco
Nota: si noti che la partizione DOS inizia al settore 63 e non al settore 0 come ci si potrebbe aspettare. Infatti la prima traccia (cioè i primi 63 settori) è riservata. Al cilindro 0, traccia 0, settore 1 del disco fisso si trova il Master Boot Record (MBR). All'avvio del computer il BIOS carica in memoria il MBR dal disco fisso, determina qual'è la partizione attiva e carica in memoria il boot sector di quella partizione, al quale cede il controllo. Il boot sector della partizione provvede a avviare il relativo sistema operativo.
Ora si procede a creare una nuova partizione per NetBSD, che deve iniziare alla fine della partizione DOS, scegliendo l'opzione "b". Per creare una nuova partizione occorre specificare
il tipo della nuova partizione
il settore iniziale della nuova partizione
la dimensione in settori della nuova partizione
Per prima cosa si indica che la nuova partizione deve essere di tipo "NetBSD" (opzione "a: Kind") e poi si inseriscono i dati appena calcolati: inizio = 2088579 e dimensione = 4193277 (utilizzando l'opzione "b"). Alla fine si controlla che tutto sia corretto e si conferma la creazione con l'opzione "d" che riporta al menu principale di fdisk. Il risultato finale è visualizzato nella Figura 3-11 che mostra la tabella delle partizioni completata. A questo punto si può selezionare l'opzione "x" per passare al menu seguente.
Nota: la versione di sysinst di NetBSD 1.5 verifica anche l'inizio e la fine delle partizioni non utilizzate (quelle marcate unused, anche se questi dati non vengono mostrati a video. Pertanto potrebbe accadere che il programma indichi che vi sono delle sovrapposizioni nelle partizioni mentre a video sembra tutto corretto. Consiglio pertanto di sistemare anche i dati di inizio e fine delle partizioni non utilizzate.
La schermata che viene visualizzata adesso dipende da vari fattori. Se è stato commesso qualche errore nel partizionamento (per esempio è stata creata una partizione che si sovrappone a un'altra già esistente) sysinst visualizzerà un messaggio e proporrà di ritornare alla schermata di partizionamento. Se i dati inseriti sono corretti, a seconda della versione di NetBSD e dei dati inseriti ora potrebbe comparire una schermata che avvisa che la partizione NetBSD si trova in una posizione nella quale il BIOS potrebbe non riuscire ad avviarla e chiede se si vuole proseguire lo stesso. Questo fatto potrebbe essere un problema sui PC meno recenti; il PC utilizzato per l'esempio si avvia perfettamente. Non è possibile dare una regola generale (dipende dal BIOS); per il momento, se compare questo avviso consiglio di ignorarlo e proseguire.
Nota: questa non è una limitazione di NetBSD bensì di alcuni BIOS più vecchi che non sono in grado di fare il boot di una partizione che si trovi oltre il limite di 1024 cilindri. Per approfondire questo argomento bisogna studiare i diversi tipi di BIOS e le diverse modalità di indirizzamento utilizzate (CHS fisici, CHS logici, LBA, ecc.), argomenti che esulano dalle finalità di questa guida e comunque non essenziali per l'installazione.
Con i BIOS più recenti, che supportano le estensioni int13, è possibile installare e avviare NetBSD su partizioni > 8GB purché il codice di boot di NetBSD sia installato nel MBR, cosa che si può ottenere installando il boot manager di NetBSD.
Anche la schermata successiva dipende dalla versione di NetBSD: la 1.5 se si accorge della presenza di più sistemi operativi chiede se si vuole installare un boot manager. Oltre a installare il boot manager, sysinst procede anche a configurarlo; si può specificare quali scritte appariranno all'avvio del computer, quale sistema sarà avviato di default e con quale timeout. La schermata di configurazione del boot manager è mostrata nella Figura 3-12.
Nota: in questa schermata si possono usare i tasti < e > per scorrere la lista di opzioni se i tasti freccia per qualche motivo non funzionano.
Indicare le partizioni che devono comparire nel menu del boot manager all'avvio del PC selezionando una delle opzioni da "a" a "d". Nella colonna "Menu entry" devono comparire i nomi di tutte le partizioni che si vogliono avviare dal boot manager come mostrato nella Figura 3-13.
Scegliendo l'opzione "e" si può specificare un timeout per il menu di avvio: trascorsi i secondi specificati viene automaticamente avviato il sistema di default, definito mediante l'opzione "f". Come default si può indicare
una partizione specifica
un altro disco fisso
la prima partizione attiva
All'uscita di questa schermata si può dire terminata la parte dell'installazione relativa al partizionamento BIOS.
Fino ad ora abbiamo parlato di partizioni riferendoci a quelle che NetBSD chiama partizioni BIOS o slice: nell'esempio precedente abbiamo due slice (DOS e NetBSD). Adesso è venuto il momento di definire le partizioni BSD.
Il programma di installazione presenta tre alternative per la creazione delle partizioni, come illustrato nella Figura 3-14.
Per una prima installazione conviene selezionare "a:" oppure "b:", lasciando al sistema il compito di decidere le partizioni e la loro dimensione. Naturalmente in questo esempio non ci accontenteremo di una soluzione così semplice e cercheremo di complicarci la vita (a fini puramente didattici, si intende) modificando a mano le partizioni.
Nota: quando si lascia decidere al sistema occorre comunque una certa cautela se lo spazio su disco è poco: controllare le indicazioni date dalla schermata sullo spazio necessario per le installazioni standard. Se non è sufficiente, bisognerà modificare la disklabel o crearne direttamente una personalizzata. Il programma di installazione della versione 1.5 si accorge automaticamente di queste incongruenze e visualizza una schermata di avvertimento.
La strategia che seguiremo sarà di far creare al sistema una disklabel in automatico e poi di modificarla a mano. Scegliendo l'opzione "b" della Figura 3-14 viene mostrata la schermata di Figura 3-15.
A questo punto ci si potrebbe limitare a confermare (scegliendo l'opzione "b") e il lavoro sarebbe finito: supponiamo invece di decidere che la partizione di swap è troppo grossa e di volerla ridurre per aumentare usr. Scegliendo l'opzione "a" cambiamo la dimensione della partizione di swap: nella nuova schermata cambiamo l'unità di misura, passando ai settori, con il risultato mostrato in Figura 3-16.
La sequenza delle partizioni (cioè le lettere assegnate alle partizioni) è standard; alcune lettere hanno un significato ben preciso.
a è la partizione root.
b è la partizione di swap.
c copre l'intera slice NetBSD (e quindi non copre la parte DOS).
d copre l'intero disco. Si noti che l'area coperta da questa partizione "esce" dalla slice di NetBSD. Con un meccanismo analogo a questo (cioè creando una partizione che "esce" dalla slice di NetBSD) sarà possibile consentire a NetBSD di "vedere" partizioni DOS, Linux, ecc.
e è la prima partizione libera, su cui viene solitamente montato /usr.
Nota: il significato delle lettere attribuite alle partizioni non è lo stesso su tutte le piattaforme supportate da NetBSD. L'elenco precedente è specifico del port-i386.
Le partizione b e c dovrebbero essere lasciate inalterate (vanno modificate solo in caso di errata impostazione da parte di sysinst). Per la partizione a si può cambiare tranquillamente la dimensione ma è meglio mantenere il punto di mount. Si possono creare fino a 8 partizioni, per cui sono disponibili le lettere da e a h.
Per modificare la partizione di swap bisogna modificare la partizione b. Inoltre sarà necessario cambiare anche la partizione e, per farla iniziare dopo la fine della partizione b. Le partizioni c e d non si possono modificare (cosa abbastanza ovvia, dato il loro significato).
Supponiamo di voler assegnare circa 150 MB per lo swap (corrispondenti a 307200 settori): la partizione b, dunque, inizierà al settore 2524032 e finirà al settore 2831231 (2524032+307200-1).
id: Size Offset End FStype Bsize Fsize Mount point --- ---- ------ --- ------ ----- ----- ----------- a: 435453 2088579 2524031 4.2BSD 8192 1024 / b: 307200 2524032 2831231 swap ...
Lo spazio rimanente lo assegnamo alla partizione e: inizio 2831232, dimensione 3450624 e fine 6281855. I valori sono stati ricavati in questo modo: l'inizio è il settore che immediatamente segue il settore finale della partizione b, la fine è fissa (corrisponde all'ultimo settore della partizione NetBSD) e la dimensione è data da End - Offset + 1.
id: Size Offset End FStype Bsize Fsize Mount point --- ---- ------ --- ------ ----- ----- ----------- a: 435453 2088579 2524031 4.2BSD 8192 1024 / b: 307200 2524032 2831231 swap ... e: 3450624 2831232 6281855 4.2BSD 8192 1024 /usr
L'esempio precedente mostra la situazione che si vuole ottenere sulla disklabel. Per modificare le due partizioni si usano le opzioni "b" ed "e" e si inseriscono i dati calcolati.
La schermata di modifica è mostrata in Figura 3-17.
La disklabel modificata è visualizzata nella Figura 3-18.
Dimensioni delle partizioni: è molto difficile fornire dei criteri generali per decidere quante partizioni creare e come dimensionarle: dipende molto dall'uso che si farà del computer (server, workstation, server di posta, ecc.). Per una workstation possono bastare le partizioni a (per /) di almeno 50 MB, b (per lo swap) grande poco più della RAM disponibile ed e (per /usr) più grande possibile. Per un server si utilizzerà una suddivisione più sofiticata. Le strategie di suddivisione del disco sono comunque moltissime ed esulano dallo scopo di questa guida.
Quando il risultato è soddisfacente si può selezionare "x: Exit" per salvare e uscire e si ritorna alla schermata della Figura 3-15 dove, questa volta, si sceglie l'opzione "b".
La creazione delle partizioni (BIOS e BSD) era senz'altro lo scoglio più grosso dell'installazione; adesso la strada è tutta in discesa. Per completare la procedura bisogna dare un nome (a piacere) al disco (di default viene proposto mydisk) e confermare le operazioni eseguite.
Nota: tutto quello che è stato fatto sino a ora non è ancora stato scritto su disco: è ancora possibile cambiare idea e abbandonare l'installazione.
Il sistema provvede adesso a creare le partizioni e i filesystem eseguendo fdisk, newfs, fsck e installboot e poi, se tutto va bene, si passa all'installazione delle distribuzioni e del kernel.
Nota: nella versione 1.5.3 di NetBSD è presente un'ulteriore schermata che chiede di selezionare il tipo di blocchi di boot da installare: normali o seriali. Selezionare il tipo normale, a meno di non sapere esattamente di che cosa si tratta...
La prima parte dell'installazione è terminata. Il prossimo passo è la scelta del tipo di installazione, che può essere full oppure custom. L'opzione full installa l'intera distribuzione mentre l'opzione custom installa il set di base (obbligatorio) e consente di selezionare i set restanti. È consigliabile scegliere l'opzione full a meno che non vi siano particolari problemi di spazio su disco. Nel seguito sceglieremo l'ozpione custom, che porta alla schermata di Figura 3-19.
I primi tre set sono obbligatori perché senza di essi il sistema non può funzionare. Gli altri set si possono attivare/disattivare con l'apposita opzione nel menu. Inizialmente tutti i set sono selezionati: in questo caso l'installazione sarebbe del tutto equivalente a quella dell'opzione "full" del menu precedente. Scegliamo di installare tutto e proseguiamo con l'opzione "x: Exit".
Successivamente sysinst chiede se si desidera vedere i nomi dei file estratti durante il processo di estrazione
A questo punto il programma di installazione ha bisogno di trovare gli archivi della distribuzione (i file .tgz): occorre indicargli dove andarli a prendere. Il menu offre varie possibilità:
Le varie opzioni sono spiegate in dettaglio nel solito file INSTALL. Si noti che è possibile installare anche da un file system non ancora montato come, per esempio, una partizione MSDOS. Ciò significa che è possibile copiare tutti i file della distribuzione in una partizione MS-DOS e utilizzarli poi per l'installazione.
Selezionando "cdrom" il sistema chiede il nome del dispositivo (per esempio cd0) e provvede a montarlo automaticamente. Inoltre bisogna specificare il percorso dei file della distribuzione binaria: sysinst presenta il percorso di default. Nel caso del CD-ROM creato da me, NetBSD si trova nella directory NetBSD-1.5 e quindi bisogna modificare il percorso utilizzando l'opzione "b". Il nuovo percorso sarà:
/NetBSD-1.5/i386/binary/sets
Nota: in quest'occasione si presenta il problema della tastiera americana a cui ho già accennato. Vedere la Sezione 3.3.1.
Il nome del dispositivo: è anche possibile controllare il nome del dispositivo corrispondente al CD-ROM.
Premere Ctrl-Z per sospendere sysinst: ci si trova al prompt della shell.
Dare il comando cat /kern/msgbuf; in questo modo vengono visualizzati i messaggi d'avvio del kernel, nei quali dovrebbe comparire anche il CD-ROM con il nome del dispositivo (per esempio cd0).
Se le scritte scorrono troppo rapidamente si può anche utilizzare ed /kern/msgbuf (a patto di conoscere ed).
Tornare al programma di installazione con il comando fg.
Al termine dell'installazione viene visualizzato un messaggio che conferma che le operazioni sono andate a buon fine. Infine, selezionando "a: ok" vengono creati i device file (dispositivi).
L'installazione è terminata. Sysinst offre la possibilità di effettuare alcune configurazioni prima di riavviare il sistema. La prima cosa che si può configurare è la timezone (cioè il fuso orario di appartenenza). Per l'Italia selezionare Europe/Rome. Nella schermata successiva si può definire la password di root. A questo punto si ritorna al menu principale e il sistema si può riavviare.