[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume]


Capitolo 660.   Realizzazione di un CD o un DVD simile, a partire da nanoLinux

nanoLinux esiste con lo scopo di poter essere adattato facilmente alle proprie esigenze, aggiungendo e togliendo pacchetti a seconda dei bisogni. Attualmente è possibile fare questo da una copia di nanoLinux su una partizione di un disco fisso, realizzata come spiegato in questo capitolo.

660.1   Modifica dei pacchetti applicativi installati

In generale, può essere conveniente partire da un'edizione di nanoLinux abbastanza completa, usando il programma orphaner per disinstallare tutto ciò che non serve. Il programma orphaner va usato con l'opzione -a, per visualizzare l'elenco di tutti i pacchetti la cui rimozione non comporta problemi di dipendenze. Naturalmente si devono lasciare i programmi che servono per riprodurre il CD o il DVD.

orphaner -a[Invio]

.-------------------------Orphaner (r487)----------------------------.
| Select packages for removal or cancel to quit:                     |
| .-----------(+)--------------------------------------------------. |
| |      [ ] myspell-sl                     main/text              | |
| |      [ ] nanolinux-47                   main/text              | |
| |      [ ] nanolinux-7                    main/text              | |
| |      [ ] nmapfe                         main/net               | |
| |      [ ] nrg2iso                        main/otherosfs         | |
| |      [ ] ntfsprogs                      main/otherosfs         | |
| `----------.(+)--------------------------------------------------' |
|--------------------------------------------------------------------|
|       <   OK   >    <Simulate>    < Cancel >    <  Help  >         |
`--------------------------------------------------------------------'

Riquadro 660.2. Pacchetti specifici di nanoLinux.

nanoLinux potrebbe includere dei pacchetti Debian realizzati appositamente, per ricordare le dipendenze principali dell'edizione standard. Si tratta dei pacchetti il cui nome inizia per nanolinux-.

Quando si tenta di adattare nanoLinux, questi pacchetti possono essere di intralcio, pertanto si possono rimuovere, senza temere effetti collaterali, a parte il fatto di non avere più riferimenti su cosa è indispensabile.

Eventualmente, si possono modificare gli stessi pacchetti intervenendo nel contenuto delle directory /etc/nanoLinux/debian-packages/*/, ricompilandoli attraverso lo script /etc/nanoLinux/debian-packages/make-nanolinux-packages. I file dei pacchetti generati si ottengono nella directory personale dell'utente root:

cd /etc/nanoLinux/debian-packages/[Invio]

./make-nanolinux-packages[Invio]

cd /root[Invio]

dpkg -i nanolinux-..._i386.deb[Invio]

660.2   Creazione del CD o del DVD

Una volta fatte le modifiche che si desiderano, si può usare il comando nanorc nanolinux make, senza argomenti, il quale innesta il file system principale nella directory /CD-ROOT/HD-ROOT/ ed esegue le altre operazioni necessarie, dopo aver ottenuto alcune informazioni indispensabili:

nanorc nanolinux make[Invio]

.----------------------nanoLinux 47-------------------------.
| Please note that producing the new CD or DVD requires a   |
| lot of virtual memory (so you need a lot of swap space)   |
| and a lot of free space inside "/tmp/".                   |
|                                                           |
| Is it ok? Should I continue?                              |
|-----------------------------------------------------------|
|                 < Yes >         < No  >                   |
`-----------------------------------------------------------'

Come avverte il riquadro iniziale, prima di poter avviare la procedura di creazione del nuovo CD o DVD, occorre verificare di avere abbastanza memoria virtuale e spazio su disco.

Dopo l'avvertimento iniziale, viene richiesto di specificare quale programma si desidera usare per la scrittura del disco; naturalmente la scelta dipende anche dal tipo di disco utilizzato. Si osservi che l'elenco dei programmi è composto da quelli che sono installati effettivamente:

.----CD/DVD burn program------.
| Please, select the CD/DVD   |
| burner.                     |
| .-------------------------. |
| |   cdrdao     CD-ROM     | |
| |   cdrecord   CD-ROM     | |
| |   dvdrecord  DVD-ROM    | |
| |   growisofs  DVD+-ROM   | |
| `-------------------------' |
|-----------------------------|
|     <  OK  >   <Cancel>     |
`-----------------------------'

A seconda del programma scelto, può essere necessario specificare il tipo di masterizzatore; nella maggior parte dei casi va bene il primo tipo in elenco. Qui si suppone sia stato scelto precedentemente il programma cdrdao:

.-----------------CD driver-------------------.
| Please, select the CD driver.               |
| .-----------------------------------------. |
| |   generic-mmc-raw  Most common driver   | |
| |   generic-mmc      Very common driver   | |
| |   cdd2600                               | |
| |   plextor                               | |
| |   plextor-scan                          | |
| |   ricoh-mp6200                          | |
| |   sony-cdu920                           | |
| |   sony-cdu948                           | |
| |   taiyo-yuden                           | |
| |   teac-cdr55                            | |
| |   toshiba                               | |
| |   yamaha-cdr10x                         | |
| `-----------------------------------------' |
|---------------------------------------------|
|           <  OK  >      <Cancel>            |
`---------------------------------------------'

Una volta specificato il programma e il tipo di masterizzatore, occorre individuare l'unità usata per la scrittura del disco. A questo proposito, a seconda del programma usato e del tipo di unità scelto, può essere sufficiente specificare il file di dispositivo dell'unità, oppure può essere necessario fornire le coordinate SCSI. Supponendo di avere scelto per la masterizzazione un programma che si accontenta dell'indicazione del file di dispositivo, viene mostrato un menù come quello seguente:

.---------SCSI CD/DVD writer device-----------.
| Please select the CD or DVD writer device.  |
| .-----------------------------------------. |
| |   /dev/hdb  YAMAHA_CRW8824E             | |
| |   /dev/hdc  LG_(KOR)DVD-ROM_DRD-8120B   | |
| `-----------------------------------------' |
|                                             |
|---------------------------------------------|
|           <  OK  >      <Cancel>            |
`---------------------------------------------'

In questo caso il programma propone esclusivamente unità ATAPI, dove solo la prima è un masterizzatore. In altri casi, se si dispone di un masterizzatore SCSI e si vuole utilizzare un programma come Cdrecord, il menù cambia e si aggiunge la possibilità di specificare un'unità SCSI:

.---------SCSI CD/DVD writer device-----------.
| Please select the CD or DVD writer device.  |
| .-----------------------------------------. |
| |   /dev/hdb  YAMAHA_CRW8824E             | |
| |   /dev/hdc  LG_(KOR)DVD-ROM_DRD-8120B   | |
| |   SCSI      select_a_SCSI_device        | |
| `-----------------------------------------' |
|                                             |
|---------------------------------------------|
|           <  OK  >      <Cancel>            |
`---------------------------------------------'

Da qui, se si seleziona proprio la voce SCSI, si ottiene una finestra speciale, che invita a indicare le coordinate SCSI nel modo tradizionale:

.--------------------------SCSI CD writer device-----------------------------.
| Please insert the SCSI CD writer device like this: "0,1,2" (BUS,ID,LUN).   |
| For example, "Host: scsi1 Channel: 02 Id: 03 Lun: 04" becomes: "1,3,4".    |
|                                                                            |
| Your /proc/scsi/scsi reports the following text.                           |
|                                                                            |
| Attached devices:                                                          |
| Host: scsi0 Channel: 00 Id: 03 Lun: 00                                     |
|   Vendor: TEAC     Model: CD-R55S          Rev: 1.0E                       |
|   Type:   CD-ROM                           ANSI SCSI revision: 02          |
| Host: scsi1 Channel: 00 Id: 00 Lun: 00                                     |
|   Vendor: HL-DT-ST Model: CD-RW GCE-8400B  Rev: 1.02                       |
|   Type:   CD-ROM                           ANSI SCSI revision: 02          |
| Host: scsi2 Channel: 00 Id: 00 Lun: 00                                     |
|   Vendor: IBM-DJSA Model: -210             Rev: AB8A                       |
|   Type:   Direct-Access                    ANSI SCSI revision: 02          |
| .------------------------------------------------------------------------. |
| |                                                                        | |
| `------------------------------------------------------------------------' |
|----------------------------------------------------------------------------|
|                       <  OK  >            <Cancel>                         |
`----------------------------------------------------------------------------'

In questo caso, supponendo di voler usare il masterizzatore identificato con la stringa HL-DT-ST, bisognerebbe indicare le coordinate 1,0,0.

Dopo aver indicato il masterizzatore da usare, si deve specificare la velocità massima per la masterizzazione:

.----------SCSI CD/DVD writer speed-------------.
| Please insert the SCSI CD/DVD writer speed.   |
| To get better compatibility, select "8" or    |
| below for CD, or "2" for DVD.                 |
| If you are preparing a DVD+RW, you might      |
| select also "2.4" speed.                      |
| .-------------------------------------------. |
| |1                                          | |
| `-------------------------------------------' |
|-----------------------------------------------|
|           <  OK  >      <Cancel>              |
`-----------------------------------------------'

Il disco che si va a realizzare può essere reso avviabile attraverso Isolinux oppure GRUB;(1) tale scelta va fatta a questo punto:

.----------Boot manager selection-------------.
| Please select the CD/DVD boot manager.      |
| .-----------------------------------------. |
| |   ISOLINUX  Isolinux                    | |
| |   GRUB      Grand unified boot loader   | |
| `-----------------------------------------' |
|---------------------------------------------|
|          <  OK  >      <Cancel>             |
`---------------------------------------------'

Viene richiesto di specificare la versione del CD o del DVD:

.---nanoLinux 47 release----.
| Please insert the         |
| nanoLinux 47 release      |
| identification string:    |
| .-----------------------. |
| |                       | |
| `-----------------------' |
|---------------------------|
|   <  OK  >    <Cancel>    |
`---------------------------'

Si deve specificare il livello di compressione dei dati nel CD o nel DVD; se si intende utilizzare una compressione, generalmente conviene scegliere il livello massimo, corrispondente al numero nove, altrimenti si scelga lo zero per trasferire i file inalterati nel CD o nel DVD:

.------zisofs compression level---------.
| Please, select the ZISOFS compression |
| level:                                |
| .-----------------------------------. |
| |   0  no compression at all        | |
| |   1                               | |
| |   2                               | |
| |   3                               | |
| |   4                               | |
| |   5  med compression              | |
| |   6                               | |
| |   7                               | |
| |   8                               | |
| |   9  max compression              | |
| `-----------------------------------' |
|---------------------------------------|
|         <  OK  >     <Cancel>         |
`---------------------------------------'

Vengono fatte anche una serie di richieste che riguardano la configurazione locale iniziale del CD o del DVD che si va a creare. Si comincia con la lingua per il funzionamento da console:

.---------Console language selection-----------.
| Please select your language for the console: |
| .------------------------------------------. |
| |   it_IT  default or previous selection   | |
| |   aa_DJ                                  | |
| |   af_ZA                                  | |
| |   br_FR                                  | |
| |   bs_BA                                  | |
| |   ca_ES                                  | |
| |   cs_CZ                                  | |
| |   da_DK                                  | |
| |   de_AT                                  | |
| |   de_BE                                  | |
| |   de_CH                                  | |
| |   de_DE                                  | |
| |   de_LU                                  | |
| |   en_AU                                  | |
| |   en_BW                                  | |
| |   en_CA                                  | |
| `---v(+)-----------------------------------' |
|                                              |
|----------------------------------------------|
|           <  OK  >      <Cancel>             |
`----------------------------------------------'

Il carattere usato per la console:

.--------------------------Console font selection----------------------------.
| Please select your console font:                                           |
| .------------------------------------------------------------------------. |
| | LatArCyrHeb-16+.psf.gz  previous_value                                 | |
| | LatArCyrHeb-08.psf.gz   /usr/share/consolefonts/LatArCyrHeb-08.psf.gz  | |
| | LatArCyrHeb-14.psf.gz   /usr/share/consolefonts/LatArCyrHeb-14.psf.gz  | |
| | LatArCyrHeb-16.psf.gz   /usr/share/consolefonts/LatArCyrHeb-16.psf.gz  | |
| | LatArCyrHeb-16+.psf.gz  /usr/share/consolefonts/LatArCyrHeb-16+.psf.gz | |
| | LatArCyrHeb-19.psf.gz   /usr/share/consolefonts/LatArCyrHeb-19.psf.gz  | |
| `------------------------------------------------------------------------' |
|                                                                            |
|                                                                            |
|----------------------------------------------------------------------------|
|                       <  OK  >            <Cancel>                         |
`----------------------------------------------------------------------------'

La mappa per la tastiera durante l'utilizzo della console:

.----------------------Console keyboard map selection------------------------.
| Please select your console keyboard map:                                   |
| .------------------------------------------------------------------------. |
| |it-xfree              previous_value                                    | |
| |azerty                /usr/share/keymaps/i386/azerty/azerty.kmap.gz     | |
| |be2-latin1            /usr/share/keymaps/i386/azerty/be2-latin1.kmap.gz | |
| |be-latin1             /usr/share/keymaps/i386/azerty/be-latin1.kmap.gz  | |
| |fr                    /usr/share/keymaps/i386/azerty/fr.kmap.gz         | |
| |fr-latin0             /usr/share/keymaps/i386/azerty/fr-latin0.kmap.gz  | |
| |fr-latin1             /usr/share/keymaps/i386/azerty/fr-latin1.kmap.gz  | |
| |fr-latin9             /usr/share/keymaps/i386/azerty/fr-latin9.kmap.gz  | |
| |fr-pc                 /usr/share/keymaps/i386/azerty/fr-pc.kmap.gz      | |
| |fr-x11                /usr/share/keymaps/i386/azerty/fr-x11.kmap.gz     | |
| |mac-usb-be            /usr/share/keymaps/i386/azerty/mac-usb-be.kmap.gz | |
| |mac-usb-fr            /usr/share/keymaps/i386/azerty/mac-usb-fr.kmap.gz | |
| |mac-usb-it            /usr/share/keymaps/i386/azerty/mac-usb-it.kmap.gz | |
| |wangbe                /usr/share/keymaps/i386/azerty/wangbe.kmap.gz     | |
| |ANSI-dvorak           /usr/share/keymaps/i386/dvorak/ANSI-dvorak.kmap.gz| |
| |dvorak-classic        /usr/share/keymaps/i386/dvorak/dvorak-classic.kmap| |
| `v(+)--------------------------------------------------------------------' |
|                                                                            |
|----------------------------------------------------------------------------|
|                       <  OK  >            <Cancel>                         |
`----------------------------------------------------------------------------'

La lingua per il funzionamento in modo grafico:

.------------X language selection---------------.
| Please select your language for the X         |
| graphical environment.                        |
| Please note that if there will be an          |
| environment variable LANG_FOR_X defined, it   |
| will override this selection.                 |
| .---^(+)------------------------------------. |
| |   pa_IN.UTF-8           UTF-8             | |
| |   pl_PL.UTF-8           UTF-8             | |
| |   pt_BR.UTF-8           UTF-8             | |
| |   pt_PT.UTF-8           UTF-8             | |
| |   ro_RO.UTF-8           UTF-8             | |
| |   ru_RU.UTF-8           UTF-8             | |
| |   ru_UA.UTF-8           UTF-8             | |
| |   se_NO.UTF-8           UTF-8             | |
| |   sid_ET.UTF-8          UTF-8             | |
| |   sk_SK.UTF-8           UTF-8             | |
| |   sl_SI.UTF-8           UTF-8             | |
| |   so_ET.UTF-8           UTF-8             | |
| `---v(+)------------------------------------' |
|-----------------------------------------------|
|           <  OK  >      <Cancel>              |
`-----------------------------------------------'

Il fuso orario:

.--------------------Time zone selection-----------------------.
| Please select your time zone:                                |
| .----------------------------------------------------------. |
| |   Europe/Rome                previous_value              | |
| |   Africa/Abidjan             Africa/Abidjan              | |
| |   Africa/Accra               Africa/Accra                | |
| |   Africa/Addis_Ababa         Africa/Addis_Ababa          | |
| |   Africa/Algiers             Africa/Algiers              | |
| |   Africa/Asmera              Africa/Asmera               | |
| |   Africa/Bamako              Africa/Bamako               | |
| |   Africa/Bangui              Africa/Bangui               | |
| |   Africa/Banjul              Africa/Banjul               | |
| |   Africa/Bissau              Africa/Bissau               | |
| |   Africa/Blantyre            Africa/Blantyre             | |
| |   Africa/Brazzaville         Africa/Brazzaville          | |
| |   Africa/Bujumbura           Africa/Bujumbura            | |
| |   Africa/Cairo               Africa/Cairo                | |
| |   Africa/Casablanca          Africa/Casablanca           | |
| |   Africa/Ceuta               Africa/Ceuta                | |
| |   Africa/Conakry             Africa/Conakry              | |
| `---v(+)---------------------------------------------------' |
|--------------------------------------------------------------|
|                 <  OK  >         <Cancel>                    |
`--------------------------------------------------------------'

Lo script usato per la masterizzazione, prima della preparazione dei dati («lisci» o compressi che sia) si occupa di sistemare alcune cose, come la cancellazione della directory temporanea e la creazione di una directory etc/ adatta.

I file /etc/passwd e /etc/group vengono copiati nell'immagine del CD o del DVD eliminando prima le utenze con numero UID da 1 000 a 29 999 (si osservi che gli utenti tizio e gli altri previsti per nanoLinux hanno numeri UID inferiori); il file /etc/shadow viene ricreato in base a un modello prestabilito nello script nanorc. In questo modo si dovrebbe riprodurre un CD o un DVD con le stesse utenze di partenza, tutte con la stessa parola d'ordine, evitando di costringere a fare altrettanto nel sistema operativo installato nel disco fisso.

Si veda anche il capitolo 677 per una modifica più importante di nanoLinux.

660.2.1   Identificazione dell'edizione

L'edizione standard di nanoLinux è identificata dalla data di realizzazione, o di pubblicazione, seguita eventualmente da un nome, come è successo per esempio con l'edizione 2004.07.14, che è stata annotata così:

2004.07.14 (terzilia)

Le derivazioni di nanoLinux è bene siano identificabili come tali, pertanto, se non gli si cambia il nome, è importante che già dalla stringa di edizione si capisca che si tratta comunque di una variante, usando una forma abbastanza differente, che, possibilmente, consenta di intendere la natura della modifica o il contesto per il quale la derivazione è stata realizzata.

Per la modifica del messaggio di avvio, si deve intervenire nei file CD-ROOT/isolinux/logo.msg e CD-ROOT/boot/grub/menu.lst (il secondo file va modificato soprattutto per la voce read the nanoLinux copyright notice).

Per la modifica del logo iniziale, si deve intervenire nel file CD-ROOT/isolinux/logo.png ed eventualmente nel file CD-ROOT/boot/grub/splashimage.png.

660.3   Ricompilazione del kernel

Il kernel standard di nanoLinux è fatto per gestire le situazioni più comuni; tuttavia ci sono componenti che non sono incluse, nemmeno come moduli. Per questo motivo, di norma sono inclusi i sorgenti che sono serviti per la preparazione dei kernel utilizzati, con le modifiche che sono state apportate per l'avvio da dischi USB.

I sorgenti si trovano precisamente a partire da /usr/src/kernel/. Prima di passare alla configurazione con make menuconfig (o altro comando simile), conviene copiare il file di configurazione del kernel standard, che si trova nella directory /boot/. Per esempio, ipotizzando un kernel 2.6.14.3, si tratta di eseguire i passaggi seguenti:

cp /boot/config-2.6.14.3 /usr/src/kernel/linux-2.6.14.3/.config[Invio]

cd /usr/src/kernel/linux-2.6.14.3[Invio]

make menuconfig[Invio]

Al termine, una volta salvata una nuova configurazione, si passa alla compilazione, con l'aiuto di nanorc:

nanorc kernel make[Invio]

.-----kernel revision--------.
| Please insert the kernel   |
| revision (must contain at  |
| least a number):           |
| .------------------------. |
| |                        | |
| `------------------------' |
|----------------------------|
|   <  OK  >  <Cancel>       |
`----------------------------'

Viene richiesto di inserire una stringa di identificazione della revisione del kernel, che deve contenere obbligatoriamente almeno un numero. Si potrebbe inserire qualcosa di simile all'esempio seguente:

mio.01[Invio]

Si osservi che si possono usare solo lettere, numeri, il segno "+" e il punto. Se la stringa fornita non è accettabile, si ottiene una segnalazione di errore e occorre ripetere il comando.

Al termine, se tutto funziona come previsto, si ottiene un pacchetto Debian nella directory personale dell'utente root. Seguendo l'esempio, si ottiene precisamente il file /root/kernel-image-2.6.14.3_nlnx+mio.01_i386.deb. Per installarlo si usa normalmente il programma dpkg:

cd /root[Invio]

dpkg -i kernel-image-2.6.14.3_nlnx+mio.01_i386.deb[Invio]

Quando viene creato un nuovo CD o DVD, con il comando nanorc nanolinux make, viene utilizzato sempre il kernel che risulta attivo, secondo quanto riportato dal comando uname -a; eventualmente si può controllare:

uname -a[Invio]

Linux nanohost 2.6.14.3 #1 PREEMPT Wed Dec 7 10:38:52 CET 2005 i686 GNU/Linux

660.4   Installazione di software non libero

Esiste del software che, a vario titolo, non è libero, ma del quale si può avere bisogno. Per aggiungere questo software a una versione installata di nanoLinux, conviene cercare delle versioni realizzate appositamente in formato di pacchetti Debian, in modo da non complicarsi troppo le cose. Naturalmente, occorre ricordare che se si installa del software non libero, non è possibile produrre una derivazione di nanoLinux da ridistribuire.

Una volta raccolti i pacchetti Debian da aggiungere alla propria installazione, è sufficiente utilizzare dpkg con l'opzione -i, come nell'esempio seguente, indicando l'elenco di tutti i file da installare:

dpkg -i j2re1.4_1.4.2.03-1_i386.deb \
  \j2re1.4-mozilla-plugin_1.4.2.03-1_i386.deb
[Invio]

(Lettura del database ... 116612 file e directory attualmente installati.)
Spacchetto j2re1.4 (da j2re1.4_1.4.2.03-1_i386.deb) ...
Selezionato il pacchetto j2re1.4-mozilla-plugin, che non lo era.
Spacchetto j2re1.4-mozilla-plugin (da j2re1.4-mozilla-plugin_1.4.2.03-1_i386.deb) ...
Configuro j2re1.4 (1.4.2.03-1) ...
Configuro j2re1.4-mozilla-plugin (1.4.2.03-1) ...

660.5   Riferimenti

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) Si osservi che il CD o il DVD avviato con GRUB non è in grado di consentire a sua volta l'avvio del primo disco fisso, quindi non si può poi lasciare il CD o il DVD nel lettore, perché questo fatto ostacolerebbe l'uso normale dell'elaboratore.


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome realizzazione_di_un_cd_o_un_dvd_simile_a_partire_da_nanolinu.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!