====== PCBSD sotto qemu ======
Questa guida ha lo scopo di introdurre al Sistema Operativo FreeBSD in una delle sue varianti più
"user-friendly" disponbile sul mercato.
Questa guida non vuole certamente essere esaustiva o definire se un sistema operativo sia meglio di un altro, né
avviare o gestire codeste "guerre di religione" portando acqua ad uno o all'altro mulino: io sono un convinto
utente Linux e la mia esperienza con i sistemi *BSD è solo marginale, ma sufficiente da farmi dire che comunque
rappresentano una valida alternativa a Linux: sono sistemi stabili, sicuri e di alta affidabilità ((Non a caso
ad esempio [[http://www.openbsd.it/it/index.html|OpenBSD]] "gongola" del fatto che in otto anni sia stata
trovata (e risolta!) una sola vulnerabilità remota nell'installazione base)).
===== Note legali =====
Installare PC-BSD sotto qemu (o sfruttare queste informazioni per una nuova installazione di PC-BSD)\\
Una guida scritta e pubblicata da Grizzly per [[http://www.uibbs2.com|Undefined Illusion BBS]].
versione 0.9.0 - Novembre 2005\\
Copyright (C) 2005 Grizzly aka Mirko Tuccitto
\\
È garantito il permesso di copiare, distribuire e/o modificare questo documento seguendo i termini della Licenza
per Documentazione Libera GNU (GNU/FDL), versione 1.2 o qualsiasi altra versione successiva pubblicata dalla
Free Software Foundation; senza sezioni invariabili, senza testo di copertina né di retro di copertina. Una
copia della può essere scaricata da http://www.gnu.org/licenses/fdl.html
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free
Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license may be downloaded
from http://www.gnu.org/licenses/fdl.html
\\
Qualora troviate questa guida utile per i vostri scopi, vi invito a inviarmi una cartolina illustrata (della
vostra città, di un posto panoramico, delle vostre vacanze, di quello che vi pare).
Spedite le vostre cartoline a:
Grizzly c/o Undefined Illusion BBS
12A, via Salvatore Monteforte - 96100 Siracusa ITALY
===== Guida =====
Con poche modifiche potete usare questa guida per installare direttamente PC-BSD su un nuovo computer, ma
considerate che non mi assumo nessuna responsabilità per quanto possa accadervi a seguito dell'uso di questo
manuale. Ad ogni mondo, per usare lo stesso limite di licenza di [[http://mulinux.sunsite.dk/|MuLinux]], se
qualcosa dovesse andare storto siete autorizzati a richiedermi un risarcimento dei soldi che mi avete dato
per aver scritto questa guida C-:
:!: Le immagini presenti su questo documento sono state ridimensionate, per vederle a pieno schermo e piena
dimensione basta solo clickare su ognuna.
==== Requisiti minimi di sistema ====
Avete bisogno quantomeno di:
* un sistema Linux funzionante (-: (consiglio UbuntuLinux);
* qemu 0.7.0 o superiore;
* almeno 6 Gb di spazio disponibile su disco (vale la regola: più ce n'è, meglio è...);
* non meno di 512Mb di RAM e almeno 256Mb di spazio di swap (256Mb di memoria per il sistema emulato);
* le due immagini iso dei cd-rom "installazione" e "langpack" di PC-BSD;
* una sacra dose di **tempo libero** LOL LOL perché l'operazione è piuttosto lunghetta;
Le immagini iso aggiornate dei due cd-rom possono essere scaricate direttamente dal sito internet del progetto
http://www.pcbsd.org (io ho compilato questo manuale riferendomi alla versione 1.0rc1 dei cd, ma sono
ragionevolmente sicuro che non ci dovrebbero essere grosse differenze con le eventuali versioni successive).
==== Fase 1: preparare il sistema ====
Cominciate con il copiare i due file iso in una cartella dedicata (es. nella **''~/pcbsd''**).
A questo punto potete creare l'immagine dell'hard disk, diciamo di crearne uno dedicandogli 2GB di spazio; per
farlo entrate nella cartella in cui si trovano le immagini iso ed usate il comando:
dd if=/dev/zero of=harddisk.img bs=1M count=2048
Dopo qualche istante di attesa (a seconda della velocità del sistema a disposizione) sarà disponibile un file
di 2GB dal nome (ma guarda un po') ''harddisk.img''.
Ok: siete pronti a cominciare. Assicuratevi che l'eseguibile di qemu sia disponibile nel path, il comando per
avviare il sistema virtuale è il seguente:
qemu -m 256 -hda harddisk.img -cdrom PCBSD--x86-CD1.iso -boot d
Questo comando avvia un sistema virtuale con 256MB di RAM, usando il file ''harddisk.img'' come hard disk e il
cd-rom emulato dall'immagine iso del primo cd di PC-BSD; infine l'opzione "''-boot d''" serve a far avviare
questo sistema dal cd-rom.
Ricordate che di solito qemu "cattura" tastiera e mouse, ma vi consente di continuare a lavorare con
l'ambiente X-11 premendo ''Ctrl-Alt'' ((Ve lo ricorda: se sta usando mouse e tastiera sulla barra del titolo
della sua finestra dice infatti "Press Ctrl-Alt to exit grab")).
A questo punto apparirà la prima schermata di avviamento:
{{ uibbs2:guide:cap01.jpg?400x235 }}
##//Figura 1: schermata di avviamento di PC-BSD//##
Non toccate nulla: dopo pochi secondi, come per magia, comparirà la schermata di avviamento di PC-BSD:
{{ uibbs2:guide:cap02.jpg?400x308 }}
##//Figura 2: schermata di avviamento del sistema//##
Limitatevi ad attendere fino alla comparsa del menu testuale per l'avviamento dell'installazione:
{{ uibbs2:guide:cap03.jpg?400x235 }}
##//Figura 3: menu di installazione//##
Vi consiglio di scegliere "Change Resolution to 800x600" e poi "Start graphical install (800x600)".
----
Partirà il sistema X-11 (dapprima lo schermo apparira "sporco", ma non fateci caso: è la memoria video non
ripulita correttamente) e dopo qualche istante finalmente si aprirà la schermata principale che vi richiede
di scegliere una lingua per l'installazione ed una per la tastiera.
{{ uibbs2:guide:cap04.jpg?400x310 }}
##//Figura 4: scelta della lingua//##
Scegliete "Italian" sia come lingua che come tastiera e (un consiglio) scegliete come tastiera "Generic 105-key
(Intl) PC", poi clickate su "Start Installation", apparirà la prima schermata di riepilogo a cui potete
limitarvi a clickare su "avanti":
{{ uibbs2:guide:cap05.jpg?400x310 }}
##//Figura 5: schermata di benvenuto//##
Si avvia quindi la scelta delle partizioni:
{{ uibbs2:guide:cap06.jpg?400x310 }}
##//Figura 6: selezione delle partizioni//##
La gestione automatica delle partizioni ho notato che fa delle cose un po' strane con gli hard disk di
dimensione inferiore ai 5GB (ad esempio sull'hard disk da 2GB pretende di creare una partizione di swap di
1GB), per cui selezionate "Usa l'intero disco per UNIX" (D'altronde non ci sono altri sistemi operativi (-:
installati) e poi "Personalizza DiskLabel":
{{ uibbs2:guide:cap07.jpg?400x310 }}
##//Figura 7: personalizzazione delle partizioni//##
Dopo aver clickato su "Avanti" un avviso che l'hard disk sarà formattato richiede la vostra attenzione:
{{ uibbs2:guide:cap08.jpg?400x110 }}
##//Figura 8: avviso sulla formattazione//##
clickate su "Ok" ed entrerete nella selezione delle slice sulla partizione BSD.
C'è da fare una digressione: Linux utilizza le partizioni standard (primarie, estese e logiche) e quindi
è sottoposto anche ai limiti delle quattro partizioni primarie o estese e cinque partizioni logiche; i
sistemi basati su BSD - invece - gestiscono in maniera completamente diversa le partizioni: creano delle
sotto-partizioni (le ''slice'') come parti di una singola partizione primaria di tipo "BSD".
Ora l'intenzione è quella di creare, per l'esperimento, solo due slice, una per il mountpoint "''/''" e l'altra
per lo swap. Il sistema vi offrirà una scelta a dir poco geniale: una slice root "/" da 1024MB ed una di swap
da 1023MB.
Selezionate lo slice di swap ''/dev/ad0s1b'', clickate su "Edita" e assegnategli una dimensione di 128MB,
confermate e poi selezionate quella di root ''/dev/ad0s1a'' e assegnategli il resto dello spazio, in maniera
tale che la schermata risulti cosi:
{{ uibbs2:guide:cap09.jpg?400x310 }}
##//Figura 9: personalizzazione delle partizioni//##
Clickate su "Avanti": saranno preparate le partizioni e il sistema vi darà la possibilità di installare un
boot-loader: selezionate di installare "BSD Boot Loader"
{{ uibbs2:guide:cap10.jpg?400x310 }}
##//Figura 10: selezione del boot-loader//##
----
Dopo aver clickato ancora su "Avanti" finalmente si avvierà l'installazione vera e propria:
{{ uibbs2:guide:cap11.jpg?400x310 }}
##//Figura 11: inizio dell'installazione//##
L'operazione impiegherà un po' di tempo (circa un ora) e potrete approfittarne per seguire il consiglio dato
dall'installazione e godervi un po' di relax. C-:
Al termine del lungo tempo di cui sopra (-: verranno installati i file di avviamento:
{{ uibbs2:guide:cap12.jpg?400x310 }}
##//Figura 12: copia dei file di sistema//##
e quindi il sistema passerà alla fase successiva:
{{ uibbs2:guide:cap13.jpg?400x310 }}
##//Figura 13: richiesta di password root e utente//##
Per prima cosa dovete scegliere una password per l'utente ''root'' e indicare almeno un utente che
utilizzerà la macchina: compilate i campi e, se volete, selezionate la casella "Auto-Login user", che avvierà
il sistema già automaticamente autenticato con quel nome utente (altrimenti ad ogni avviamento vi verranno
richiesti il nome utente e la password):
{{ uibbs2:guide:cap14.jpg?400x310 }}
##//Figura 14: dati di esempio//##
Clickando Avanti saranno effettuate ancora delle ultime operazioni di configurazione, quindi vi verrà
annunciato che le operazioni si sono concluse e che clickando su "Completato" sarà riavviato il sistema.
{{ uibbs2:guide:cap15.jpg?400x310 }}
##//Figura 15: conclusione dell'installazione//##
A questo punto **niente paura**: quando clickerete su "Completato" il sistema si riavvierà e ripartirà
nuovamente il CD. Aspettate che si ripresenti la schermata di avviamento, premete la barra spaziatrice per
bloccare il timeout, poi tornate alla finestra di xterm da cui avete avviato qemu e premete ''Ctrl-C'' per
uscire dall'emulatore.
----
==== Fase 2: Installazione dei componenti aggiuntivi ====
Vi consiglio caldamente di fare un backup dell'immagine dell'hard disk prima di continuare: in questo modo
se dovesse scapparvi qualche errore a questa fase dell'installazione non sareste costretti a ricominciare
dall'inizio o a cercare delle soluzioni di ripiego; un sistema sicuro consiste nel comprimere in un file
l'immagine dell'hard disk. Potete usare un comando come:
tar cjf Backup_Hardisk.tar.bz2 harddisk.img
(Il file risultante dovrebbe raggiungere una dimensione approssimativa di 350MB)
Ora è il momento di riavviare il nostro sistema, ma facendogli capire che abbiamo "cambiato" il cd nel lettore.
Da un xterm inviate il comando:
qemu -hda harddisk.img -cdrom PCBSD--x86-CD2.iso -m 256 -boot c
Notate l'opzione "''-boot c''" che farà avviare il sistema dall'hard disk e non più dal lettore CD.
Alla richiesta di boot premete F1 o Enter, oppure semplicemente attendete qualche secondo:
{{ uibbs2:guide:cap16.jpg?400x235 }}
##//Figura 16: avviamento del sistema da hard disk//##
Dopo qualche istante comparirà la schermata di avviamento del sistema (La stessa del cd-rom):
{{ uibbs2:guide:cap02.jpg?400x308 }}
successivamente ritornerà lo schermo di testo che vi fornirà qualche informazione sull'avviamento:
{{ uibbs2:guide:cap17.jpg?400x235 }}
##//Figura 17: informazioni sull'avviamento//##
:!: Poiché qemu non emula correttamente la scheda di rete al primo avviamento del sistema ''sendmail'' andrà in
errore, e rimarrà appeso per circa cinque minuti prima di dichiarare il timeout.
Niente paura: questo problema al momento lo possiamo superare con le "cattive": quando rimarrà bloccato dopo
''Starting sshd'', per il momento premete ''Ctrl-C'' (**dentro la finestra dell'emulatore, non al xterm da cui
avete lanciato qemu!**); il sistema protesterà perché è stato bloccato ''rc.sendmail'' ma andrà avanti.
{{ uibbs2:guide:cap18.jpg?400x235 }}
##//Figura 18: l'avviamento continua dopo aver interrotto sendmail//##
Subito dopo l'avviamento del ''cron'', segue un'altra fase abbastanza lenta: "''Local package
initialization:''", ma qua dovrete limitarvi ad aspettare un po' almeno alla prima installazione: questo
script, infatti, non può venire interrotto con ''Ctrl-C'' come con il sendmail: simpaticamente fa il trap del
segnale e invia un bel ''halt'' alla macchina, facendola spegnere dopo due minuti...
Quando finalmente le procedure si avviamento si sono concluse, il sistema prima vi regala una schermata con il
''motd'':
{{ uibbs2:guide:cap19.jpg?400x235 }}
##//Figura 19: il sistema avviato: motd//##
e, dopo qualche istante, ritornerà l'ambiente grafico e ripartirà l'installazione: ora vi viene richiesto di
installare il pacchetto della lingua italiana dal secondo CD
{{ uibbs2:guide:cap20.jpg?400x310 }}
##//Figura 20: continua l'installazione//##
Poiché il secondo CD è già "inserito" limitatevi a clickare su "Next": troverà il secondo CD e vi chiederà
se volete installare tutte le localizzazioni (altrimenti installerà solo quella italiana), potete lasciare la
scelta di default e clickare di nuovo su "Next", installando solo le localizzazioni per l'italiano:
{{ uibbs2:guide:cap21.jpg?400x310 }}
##//Figura 21: richiesta delle localizzazioni da installare//##
Vi verrà segnalato che è in corso l'installazione della localizzazione italiana, attendete ancora qualche
minuto affinché l'operazione vada a buon fine:
{{ uibbs2:guide:cap22.jpg?400x310 }}
##//Figura 22: installazione delle localizzazioni//##
Quando sarà finito, potete clickare tranquillamente su "Finish":
{{ uibbs2:guide:cap23.jpg?400x310 }}
##//Figura 23: fine dell'installazione delle localizzazioni//##
----
Dopo qualche istante il sistema uscirà da X-11 e tornerà al prompt ''PCBSD#'': niente paura! Ancora qualche
istante e finalmente si avvierà il buon kdm:
{{ uibbs2:guide:cap24.jpg?400x308 }}
##//Figura 24: la schermata di kdm//##
Fornite il nome utente a la password che avete stabilito per l'utente (l'accesso root da kdm è disabilitato) e
si avvierà finalmente KDE
{{ uibbs2:guide:cap25.jpg?400x308 }}
##//Figura 25: avviamento in corso di kde//##
:!: qemu non emula correttamente la scheda sonora, per cui kde si avvierà con un errore ("Impossibile aprire il
sistema sonoro"):
{{ uibbs2:guide:cap26.jpg?400x308 }}
##//Figura 26: kde avviato con un errore//##
Non date troppa importanza al fatto, e limitatevi a selezionare "non mostrare questo messaggio in futuro" e
poi premete su "Ok".
**Il vostro sistema PC-BSD e' ora avviato correttamente e pronto a funzionare**!
per non trovare ai successivi avviamenti il problema di sendmail, aprite un terminale e digitate questi
comandi:
su -
cd /etc/rc.d
chmod 0644 rc.sendmail
In questo modo lo script non sarà più avviato all'accensione e vi farà risparmiare alcuni minuti (-:
==== Fase 3: chiusura del sistema e riavvii successivi ====
Per spegnere il sistema PC-BSD fate click sul ''menu K'' e selezionate "Termina la sessione...", poi
clickate su "Spegnere il computer":
{{ uibbs2:guide:cap27.jpg?400x308 }}
##//Figura 27: schermata di chiusura di kde//##
A questo punto l'ambiente X-11 si chiuderà e il sistema concluderà tutti i servizi, fino ad regalare una
schermata che spiega che il sistema è stato arrestato e chiede di premere eventualmente un tasto per
riavviarlo:
{{ uibbs2:guide:cap28.jpg?400x235 }}
##//Figura 28: sistema arrestato//##
Ora tornate al xterm da cui avete lanciato qemu e premete ''Ctrl-C'' per uscire dall'emulatore (oppure nella
finestra dell'emulatore premete un tasto per riavviare il sistema (-: )
Per avviare successivamente il sistema, non serviranno più le immagini dei CD di installazione, per cui potrete
utilizzare semplicemente il comando:
qemu -m 256 -hda harddisk.img
===== Conclusione =====
PC-BSD è basato su FreeBSD, ed è un sistema sufficientemente maturo da poter essere utilizzato anche in
"produzione" per determinate caratteristiche. Gli aggiornamenti ed i pacchetti che utilizza sono gli stessi
del FreeBSD da cui coglie l'eredità. Tra l'altro la versione che ho usato per questo documento (1.0rc1) è già
basata sulla nuova versione 6.0 di FreeBSD.
Come avete potuto vedere l'installazione è estremamente semplice ed è possibile avere un sistema già quasi
completamente installato con pochi click di mouse; questo meccanismo di installazione è certamente molto più
semplice rispetto a molti altri sistemi di installazione dei sistemi operativi *BSD.
L'uso non si discosta tantissimo da quello di un comune sistema Linux (Entrambi i Sistemi Operativi sono
conformi agli standard POSIX e sono molte anche le analogie fra di loro).
Ad esempio la directory ''/proc'' di BSD è leggermente diversa da quella di Linux, ma per gli "abitudinari"
di determinate informazioni è disponibile la directory ''/usr/compat/linux/proc''; non so:
%cd /usr/compat/linux/proc
%cat cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 14
stepping : 3
flags : fpu de pse tsc msr pae mce cx8 sep pge cmov mmx fxsr xmm b26
cpu MHz : 2177.37
bogomips : 2177.37
%
Per altre informazioni:
* http://www.pcbsd.org/
* http://www.freebsd.org/
* http://www.bsd.org/
* http://fabrice.bellard.free.fr/qemu/
E non trattenetevi dallo sperimentare... qemu può leggere un cd-rom anche senza dover creare un'immagine iso:
infatti potete anche inserire un cd-rom nel lettore e avviare qemu con un'opzione del tipo ''-cdrom
/dev/**hdX**'', sostituendo "hdX" con il nome dell'unità cd-rom (esempio hdc, sdb...)