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


Capitolo 606.   nanoLinux: installazione e derivazione

nanoLinux può essere installato in una partizione di un disco fisso collegato al bus ATA interno o al bus USB. Nel secondo caso non fa differenza se si tratta di una memoria allo stato solido o di un disco vero e proprio; quello che conta è che ci sia lo spazio necessario a disposizione.

Una volta installato in un disco che consenta l'accesso anche in scrittura, è possibile cambiare l'insieme dei pacchetti installati e riprodurre un nuovo CD o DVD, purché siano rimasti i programmi necessari per la registrazione su questo tipo di supporti di memorizzazione.

Per l'installazione di nanoLinux viene proposta un'organizzazione particolare delle quattro partizioni primarie comuni, in modo da facilitare una sorta di standardizzazione, quando non emergono esigenze specifiche particolari.

Tabella 606.1. Convenzione suggerita nella suddivisione in partizioni per l'installazione di nanoLinux.

Esempi di file di dispositivo Utilizzo
/dev/hda1
/dev/hdb1
/dev/sda1
/dev/sdb1
La prima partizione primaria può essere utilizzata per inserirvi un file system Dos-FAT, che ne consente l'utilizzo con vari sistemi operativi e può servire anche per collocare il sistema di avvio (kernel e GRUB per esempio).
/dev/hda2
/dev/hdb2
/dev/sda2
/dev/sdb2
La seconda partizione primaria potrebbe essere usata per contenere il file system principale, che pertanto potrebbe essere di tipo Second-extended, meglio se precisamente si tratta di Ext3.
/dev/hda3
/dev/hdb3
/dev/sda3
/dev/sdb3
La terza partizione primaria potrebbe essere usata per contenere dati, oppure per un altro sistema operativo.
/dev/hda4
/dev/hdb4
/dev/sda4
/dev/sdb4
La quarta partizione primaria potrebbe essere usata per lo scambio della memoria virtuale.

Partendo dalla suddivisione proposta nella tabella appena mostrata, la prima partizione primaria si può omettere del tutto, se si ritiene di non averne bisogno. Per quanto riguarda la terza partizione primaria, se di questa non c'è bisogno subito, la si può omettere ugualmente; tuttavia, nel caso si preveda la possibilità di averne bisogno in un momento successivo, si può predisporre inizialmente una quarta partizione per lo scambio della memoria virtuale, che in seguito potrebbe essere ridotta, per ricavare la terza partizione che inizialmente non serviva. Naturalmente, in questo modo si può ottenere anche una prima partizione in un secondo momento, che però andrebbe a collocarsi in una posizione avanzata del disco; in alcuni casi, questo fatto può costituire un inconveniente da considerare.

606.1   Installazione in un disco fisso

nanoLinux può essere installato in un disco, sia quando sta funzionando da CD o da DVD, sia quando è in funzione da un disco normale. Ciò permette, per esempio, di installarlo da disco USB a disco ATA, da disco USB a un altro disco USB, o in altre combinazioni possibili.

Nella tabella successiva è annotato, in linea di massima, di quale dimensione deve essere la partizione in cui si vuole installare nanoLinux. Se si vogliono fare delle modifiche all'insieme di pacchetti applicativi installati, o comunque se si vogliono fare altre variazioni, per poi ricreare un CD o un DVD, occorre avere molto più spazio, che viene usato per la creazione di file temporanei nella directory /tmp/.

Tabella 606.2. Spazio richiesto per l'installazione dei vari livelli. Allo spazio indicato si deve aggiungere eventualmente quanto richiesto da una partizione usata per lo scambio della memoria virtuale.

Livello Spazio necessario per il funzionamento Spazio necessario se si vuole ricreare un nuovo CD o DVD
II circa 500 Mibyte circa 1 500 Mibyte
III circa 2 Gibyte circa 6 Gibyte
IV circa 4 Gibyte circa 12 Gibyte
V circa 12 Gibyte circa 36 Gibyte

Prima di installare nanoLinux è necessario predisporre manualmente le partizioni nel disco che deve accoglierlo. Per questo è disponibile fdisk, con cui si deve predisporre una partizione per la memoria virtuale (tipo 8216) e una per il file system (tipo 8316). Eventualmente si può usare anche parted per ridimensionare le partizioni già esistenti.

Quando si va a modificare la suddivisione in partizioni di un disco, occorre prima accertarsi di non utilizzarlo. L'errore più frequente che si commette sta nel dimenticare attiva una partizione per lo scambio della memoria virtuale. Ciò può succedere anche quando si avvia nanoLinux da un CD o da un DVD, perché se questo trova una partizione già predisposta per lo scambio della memoria virtuale, la utilizza. Pertanto, prima di intervenire in un disco con programmi come fdisk e parted, occorre verificare di non utilizzare quel disco anche in tal modo. Si può verificare facilmente l'utilizzo di memoria di scambio con l'uso del comando free. A ogni modo, se ci si dimentica di questo o di altri accessi al disco, al termine delle modifiche, queste non sono prese in considerazione dal sistema, pertanto si può essere costretti a riavviare, o a ripeterle dopo che gli accessi sono stati esclusi. Eventualmente, per terminare l'uso di una memoria di scambio, basta il comando seguente:

swapoff -a[Invio]

Viene mostrato un esempio sintetico di suddivisione in partizioni con fdisk, che si uniforma ai criteri descritti all'inizio del capitolo, riferito al primo disco ATA (/dev/hda). Eventualmente si veda anche il capitolo 30 per una descrizione più dettagliata.

fdisk /dev/hda[Invio]

Command (m for help): 

Il programma fdisk accetta comandi composti da una sola lettera e per vederne un breve promemoria basta utilizzare il comando m.

Command (m for help): m[Invio]

Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

La prima cosa che si fa normalmente è di visualizzare la situazione iniziale con il comando p:

Command (m for help): p[Invio]

Disk /dev/hda: 10.0 GB, 10056131072 bytes
64 heads, 32 sectors/track, 9590 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         100      102384    6  DOS 16-bit >=32M
/dev/hda2             101        9000     9113600   83  Linux
/dev/hda3            9001        9590      604160   82  Linux swap

In questo caso, si preferisce cancellare le partizioni esistenti e ricominciare da zero:

Command (m for help): d[Invio]

Partition number (1-4): 1[Invio]

Command (m for help): d[Invio]

Partition number (1-4): 2[Invio]

Command (m for help): d[Invio]

Selected partition 3

Command (m for help): p[Invio]

Disk /dev/hda: 10.0 GB, 10056131072 bytes
64 heads, 32 sectors/track, 9590 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System

A questo punto si definiscono la seconda e quarta partizione, per ospitare il file system principale e lo scambio della memoria virtuale rispettivamente:

Command (m for help): n[Invio]

Command action
   e   extended
   p   primary partition (1-4)

p[Invio]

Partition number (1-4): 2[Invio]

First cylinder (1-9590, default 1): 1[Invio]

Last cylinder or +size or +sizeM or +sizeK (1-9590, default 9590): +9500M[Invio]

Command (m for help): n[Invio]

Command action
   e   extended
   p   primary partition (1-4)

p[Invio]

Partition number (1-4): 4[Invio]

First cylinder (9062-9590, default 9062): 9062[Invio]

Last cylinder or +size or +sizeM or +sizeK (9062-9590, default 9590): 9590[Invio]

Command (m for help): p[Invio]

Disk /dev/hda: 10.0 GB, 10056131072 bytes
64 heads, 32 sectors/track, 9590 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda2               1        9061     9278448   83  Linux
/dev/hda4            9062        9590      541696   83  Linux

A questo punto si deve modificare il tipo di partizione per /dev/hda4:

Command (m for help): t[Invio]

Partition number (1-4): 4[Invio]

Hex code (type L to list codes): L

 0  Empty           1c  Hidden Win95 FA 70  DiskSecure Mult bb  Boot Wizard hid
 1  FAT12           1e  Hidden Win95 FA 75  PC/IX           be  Solaris boot   
 2  XENIX root      24  NEC DOS         80  Old Minix       c1  DRDOS/sec (FAT-
 3  XENIX usr       39  Plan 9          81  Minix / old Lin c4  DRDOS/sec (FAT-
 4  FAT16 <32M      3c  PartitionMagic  82  Linux swap      c6  DRDOS/sec (FAT-
 5  Extended        40  Venix 80286     83  Linux           c7  Syrinx         
 6  FAT16           41  PPC PReP Boot   84  OS/2 hidden C:  da  Non-FS data    
 7  HPFS/NTFS       42  SFS             85  Linux extended  db  CP/M / CTOS / .
 8  AIX             4d  QNX4.x          86  NTFS volume set de  Dell Utility   
 9  AIX bootable    4e  QNX4.x 2nd part 87  NTFS volume set df  BootIt         
 a  OS/2 Boot Manag 4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access     
 b  Win95 FAT32     50  OnTrack DM      93  Amoeba          e3  DOS R/O        
 c  Win95 FAT32 (LB 51  OnTrack DM6 Aux 94  Amoeba BBT      e4  SpeedStor      
 e  Win95 FAT16 (LB 52  CP/M            9f  BSD/OS          eb  BeOS fs        
 f  Win95 Ext'd (LB 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  EFI GPT        
10  OPUS            54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/
11  Hidden FAT12    55  EZ-Drive        a6  OpenBSD         f0  Linux/PA-RISC b
12  Compaq diagnost 56  Golden Bow      a7  NeXTSTEP        f1  SpeedStor      
14  Hidden FAT16 <3 5c  Priam Edisk     a8  Darwin UFS      f4  SpeedStor      
16  Hidden FAT16    61  SpeedStor       a9  NetBSD          f2  DOS secondary  
17  Hidden HPFS/NTF 63  GNU HURD or Sys ab  Darwin boot     fd  Linux raid auto
18  AST SmartSleep  64  Novell Netware  b7  BSDI fs         fe  LANstep        
1b  Hidden Win95 FA 65  Novell Netware  b8  BSDI swap       ff  BBT            

Hex code (type L to list codes): 82[Invio]

Changed system type of partition 4 to 82 (Linux swap)

Command (m for help): p[Invio]

Disk /dev/hda: 10.0 GB, 10056131072 bytes
64 heads, 32 sectors/track, 9590 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda2               1        9061     9278448   83  Linux
/dev/hda4            9062        9590      541696   82  Linux swap

Per memorizzare le variazioni si conclude con il comando w; se invece si preferisce rinunciare, basta utilizzare il comando q che si limita a concludere l'esecuzione del programma annullando le operazioni svolte.

Command (m for help): w[Invio]

The partition table has been altered!
...
Syncing disks.
...

Dopo la suddivisione in partizioni, occorre inizializzare ciò che serve. Proseguendo secondo l'esempio di suddivisione appena proposto, di può intervenire così:

mkswap /dev/hda4[Invio]

mkfs.ext3 /dev/hda2[Invio]

Al termine si può passare all'installazione, con il comando seguente, indicando il file di dispositivo corrispondente alla partizione di destinazione, che deve essere stata preparata e inizializzata come è già stato mostrato:

nanorc nanolinux install[Invio]

Figura 606.14. Il comando nanorc nanolinux install richiede di specificare il file di dispositivo corrispondente alla partizione nella quale installare il CD o il DVD.

.---------------------nanoLinux IV installation-----------------------.
| Please insert the device file for the disk partition used as the    |
| destination or enter the already mounted mount-point.               |
| If you enter something like "/dev/..." it is assumed to be a device |
| file; if you enter something like "/mnt/..." it is assumed to be a  |
| mount-point, where you have already mounted your destination file   |
| system.                                                             |
| .-----------------------------------------------------------------. |
| |/dev/hd...                                                       | |
| `-----------------------------------------------------------------' |
|                                                                     |
|---------------------------------------------------------------------|
|                   <  OK  >            <Cancel>                      |
`---------------------------------------------------------------------'

Naturalmente, al posto di /dev/hd... occorre indicare il file di dispositivo che corrisponde alla partizione in cui si vuole installare il sistema operativo, cancellando i puntini finali superflui. Si osservi che l'esempio proposto dal programma sembra suggerire l'installazione in un disco ATA, ma si può installare anche in un disco USB esterno, mettendo il nome appropriato (/dev/sd...), oppure in insieme di dischi RAID (/dev/mdn).

Alcuni lettori CD o DVD, all'apparenza perfettamente funzionanti, potrebbero non essere in grado di leggere tutto il contenuto di un disco, anche senza la segnalazione di alcun errore. È importante tenere presente il problema quando si utilizza nanoLinux in questo modo, ma soprattutto quando si cerca di installarlo, perché ciò che si ottiene potrebbe essere solo una copia parziale del disco originale.

La copia richiede un certo tempo, proporzionale alle dimensioni, ovvero al livello di nanoLinux. Quando si può verificare che il contenuto della directory boot/ è stato copiato, si può procedere in un'altra console virtuale a installare il sistema di avvio, che si avvale di GRUB. Si continua a supporre di installare la copia di nanoLinux nella partizione corrispondente al file di dispositivo /dev/hda2:

grub[Invio]

grub> root (hd0,1)[Invio]

 Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)[Invio]

 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  16 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,1)/boot/grub/stage2
/boot/grub/menu.lst"... succeeded
Done.

grub> quit[Invio]

In questo modo viene installato un menù di avvio generico, con il quale si deve specificare la partizione da avviare. Volendo si può modificare il file boot/grub/menu.lst per le proprie esigenze, soprattutto se si intende avviare anche un altro sistema operativo (si veda il capitolo 36 per la descrizione dell'utilizzo di GRUB).

Nel caso l'installazione avvenga in un disco diverso, occorre usare l'indicazione appropriata per GRUB. Supponendo di volere installare nella seconda partizione di un disco USB esterno, se nell'elaboratore è presente un solo disco ATA e non ci sono altri dischi esterni, GRUB lo considera come secondo disco, pertanto il disco andrebbe identificato come (hd1) e la partizione come (hd1,1).

Quando si avvia il sistema per mezzo di GRUB, l'ordine dei dischi può essere diverso; pertanto, il disco esterno USB che viene avviato dal BIOS, potrebbe risultare essere il primo disco. Di questo occorre essere consapevoli per poter configurare correttamente il file boot/grub/menu.lst, o almeno per sapere quale voce scegliere all'avvio. Inizialmente può essere necessario fare degli esperimenti, modificando al volo l'istruzione di avvio con il comando e (edit), aiutandosi con il completamento automatico di GRUB stesso (si veda eventualmente il capitolo 36 GRUB)).

Riquadro 606.17. Avvio di un disco esterno e ritardo nel kernel.

Per l'avvio di nanoLinux installato in un disco USB è importante considerare che tra le opzioni del kernel deve essere prevista la presenza di setupdelay, a cui si assegna un numero intero che rappresenta un ritardo in secondi prima dell'innesto del file system principale. Questa opzione è presente solo nel kernel realizzato per nanoLinux e consente di avviare un disco USB senza bisogno di un disco RAM. Questa opzione è già presente nel file boot/grub/menu.lst per le voci riferite a dischi di questo tipo, con un ritardo di 5 s. Il tipo di modifiche apportate al kernel è descritto nel dettaglio nel capitolo 61.

Riquadro 606.18. Sistemazione dell'avvio.

Quando si installa un sistema operativo è meglio essere prudenti: in generale è sconsigliabile tentare di far convivere due sistemi operativi diversi nello stesso disco o anche in dischi diversi ma collegati allo stesso sistema di bus ATA, a meno che entrambi siano predisposti per convivere pacificamente assieme. In generale, GNU/Linux funziona correttamente se vengono usati, alternativamente, anche altri sistemi sullo stesso elaboratore, ma possono essere gli altri sistemi operativi che non sono in grado di fare altrettanto. Piuttosto di rischiare, è sicuramente meglio installare in un disco esterno collegato con un bus USB.

Nel caso si debba installare nanoLinux in una partizione di un disco ATA, convivendo con un altro sistema operativo, il problema che si deve risolvere subito sta nel gestire l'avvio separato dei due sistemi, pertanto occorre conoscere la configurazione di GRUB per questo scopo (tenendo conto del rischio di non poter più avviare l'altro sistema operativo se si sbaglia qualcosa). Volendo evitare questo problema conviene evitare del tutto l'installazione di GRUB, avviando nanoLinux con l'aiuto del CD o del DVD, indicando, nel caso degli esempi fatti, la sigla hda2 all'avvio. Nello stesso modo, quando si installa in un disco USB esterno, se il BIOS non è in grado di avviarlo, si può usare un CD o un DVD indicando la sigla appropriata (per esempio sda2 se si tratta della seconda partizione).

Riquadro 606.19. Installazione in un insieme RAID e avvio successivo.

Se si installa nanoLinux in un insieme di dischi RAID (un file di dispositivo del tipo /dev/mdn, è bene che la directory /boot/ sia contenuta in una partizione «normale», altrimenti diventa difficile installare poi il sistema di avvio.

Al termine della copia, oltre a predisporre il sistema di avvio, è necessario intervenire in alcune parti della configurazione; per la precisione è necessario verificare il file /etc/fstab, all'interno del quale conviene anche indicare la partizione contenente la memoria virtuale. Si tratta delle prime tre righe, che, secondo gli esempi proposti devono risultare alla fine nel modo seguente:

/dev/hda4   none                 swap   sw                           0   0
/dev/hda2   /                    auto   defaults,errors=remount-ro   0   1
/dev/hda2   /CD-ROOT/HD-ROOT     auto   defaults,noauto              0   0

Si osservi che è necessaria l'indicazione di due punti di innesto associati allo stesso file di dispositivo: reinnestando la partizione anche nella directory /CD-ROOT/HD-ROOT/ è possibile poi ricreare un nuovo CD o DVD di nanoLinux, probabilmente dopo aver modificato qualcosa nella copia realizzata nella partizione del disco fisso.

Al termine dell'installazione, lo script elimina la parola d'ordine agli utenti comuni, in modo da non consentirne l'accesso, lasciando funzionante solo l'utenza dell'amministratore (root). Se prima dell'installazione la parola d'ordine è stata cambiata, questo cambiamento viene mantenuto anche nella copia che viene installata. Se la parola d'ordine dell'utente root non è stata cambiata prima dell'installazione, alla prima occasione è necessario farlo, associandone eventualmente una agli utenti comuni che si vogliono usare. Si tenga conto anche del fatto che il sistema operativo che si ottiene installando nanoLinux prevede l'avvio automatico del servente OpenSSH, pertanto chiunque potrebbe accedere all'utenza root se la parola d'ordine originale non viene sostituita.

Riquadro 606.21. Utenze comuni.

Quando si installa nanoLinux in un disco comune (interno o esterno), conviene creare delle utenze personalizzate. Gli utenti tizio, caio,... martino e calpurnio, pur non potendo accedere per mancanza di una parola d'ordine, dispongono comunque della loro directory personale: in alcune situazioni ciò può essere utile; in altre può essere considerato un problema di sicurezza. In generale, se gli utenti comuni predefiniti non servono, è meglio eliminare del tutto le loro directory personali, che corrispondono a /home/tizio/, /home/caio/,... /home/calpurnio/.

Si osservi comunque che questa modifica non pregiudica la produzione di un nuovo CD o DVD, perché queste directory personali vengono ricreate in modo automatico.

Se l'elaboratore in cui si lavora è connesso stabilmente a una rete locale, si può utilizzare il comando nanorc network config per la configurazione di una situazione comune, oppure si può arrivare anche a modificare lo script /etc/init.d/network (rischiando però di dover rinunciare agli automatismi di nanoLinux); si osservi che questo file è molto diverso dallo standard delle distribuzioni GNU/Linux Debian, ma nulla vieta di riportarlo alla normalità se questo è ciò che si desidera. In ogni caso, può essere utile modificare i file /etc/hostname e /etc/mailname. Per esempio, se il proprio elaboratore deve avere il nome di dominio dinkel.brot.dg, il file /etc/hostname deve contenere la stringa dinkel, mentre nel file /etc/mailname serve il nome di dominio completo (eventualmente, il file /etc/mailname viene modificato anche dal comando nanorc mta domain).

Una volta installato nanoLinux, può essere necessario intervenire nel file di configurazione /etc/X11/xorg.conf, che in condizioni normali è predisposto per un adattatore grafico VESA, oppure si può usare il comando nanorc x config (in tal caso servono i privilegi dell'utente root), che consente di ricreare un file /etc/X11/xorg.conf adatto.

Attraverso il comando nanorc x config si ricrea il file /etc/X11/xorg.conf a partire da /etc/X11/xorg.conf.vesa, modificando il tipo di adattatore grafico e la mappa della tastiera. Dopo tale modifica, si utilizza startx nel modo normale.

Nel caso si intenda utilizzare il sistema APT (capitolo 43) per fare delle modifiche sui pacchetti installati o per procedere a un aggiornamento di questi, si ricordi di modificare il file /etc/apt/sources.list, indicando valori appropriati al proprio contesto.

606.2   Installazione in una directory

Nel caso lo si preferisca, è possibile installare nanoLinux in una struttura più articolata, composta da più dischi o semplicemente da più partizioni innestate tra di loro. Per fare questo, occorre innestare inizialmente la partizione che deve ospitare il file system principale a partire da una sottodirectory di /mnt/ (secondo il criterio normale di nanoLinux); successivamente occorre creare le directory ulteriori, a partire dalle quali si intende articolare il file system di destinazione, quindi occorre innestare manualmente le altre partizioni e infine procedere con l'installazione.

A titolo di esempio, si suppone di disporre di un disco ATA e di averlo suddiviso nel modo seguente:

Partizione Scopo
/dev/hda1 partizione di avvio, da innestare nella directory /boot/;
/dev/hda2 partizione del file system principale;
/dev/hda5 partizione da innestare nella directory /usr/;
/dev/hda6 partizione da innestare nella directory /home/;
/dev/hda7 partizione per lo scambio della memoria virtuale (swap).

Dopo aver inizializzato in modo appropriato le varie partizioni, queste vanno innestate secondo lo schema previsto, ma per farlo occorre anche creare le directory necessarie:

mount /mnt/hda2[Invio]

mkdir /mnt/hda2/boot[Invio]

mkdir /mnt/hda2/usr[Invio]

mkdir /mnt/hda2/home[Invio]

mount -t auto /dev/hda1 /mnt/hda2/boot[Invio]

mount -t auto /dev/hda5 /mnt/hda2/usr[Invio]

mount -t auto /dev/hda6 /mnt/hda2/home[Invio]

A questo punto, si può procedere con il comando di installazione, ma invece di indicare un file di dispositivo come destinazione, si deve specificare la directory da cui il tutto si articola: /mnt/hda2.

nanorc nanolinux install[Invio]

.---------------------nanoLinux IV installation-----------------------.
| Please insert the device file for the disk partition used as the    |
| destination or enter the already mounted mount-point.               |
| If you enter something like "/dev/..." it is assumed to be a device |
| file; if you enter something like "/mnt/..." it is assumed to be a  |
| mount-point, where you have already mounted your destination file   |
| system.                                                             |
| .-----------------------------------------------------------------. |
| |/dev/hd...                                                       | |
| `-----------------------------------------------------------------' |
|                                                                     |
|---------------------------------------------------------------------|
|                   <  OK  >            <Cancel>                      |
`---------------------------------------------------------------------'

Si deve correggere e indicare /mnt/hda2:

/mnt/hda2<OK>

Il resto procede normalmente.

606.3   Installazione compressa

Il CD o il DVD di nanoLinux contiene un file system compresso, che viene trattato dal kernel in modo trasparente, ovvero come se fosse un file system normale. Il kernel Linux è in grado di gestire diversi tipi di file system compressi, ma si tratta in ogni caso di file system in sola lettura.

È possibile installare nanoLinux copiando il file-immagine del CD o del DVD in una partizione, che però deve avere una capacità maggiore o uguale a quella del file-immagine originale:

cat nLinux-III.edizione.iso9660.gz.* | gunzip > /dev/hda2[Invio]

Oppure:

cp /dev/hdc /dev/hda2[Invio]

Quelli mostrati sono solo esempi possibili, nei quali si presume di dover installare la copia in questione nella seconda partizione del primo disco ATA. Nel secondo caso, in particolare, si immagina di avere il CD o il DVD di nanoLinux in un lettore corrispondente alla terza unità ATA (la seconda modalità di copia può generare degli errori al termine, che però non dovrebbero risultare fatali).

La partizione che si ottiene può essere avviata solo con l'aiuto di un sistema esterno, come GRUB, che però deve trovarsi al di fuori di quel file system. Pertanto, in tal caso fa comodo una partizione /dev/hda1 per questo scopo.

La configurazione di GRUB per avviare nanoLinux in questa modalità di funzionamento non ha niente di diverso rispetto a un'installazione normale: quando il sistema operativo si avvia, il file system viene innestato in sola lettura e tutto funziona come se fosse un CD o un DVD, a parte il fatto che è sicuramente più veloce.

Avendo un sistema in sola lettura, di cui non si può modificare la configurazione, può essere utile prevedere la terza partizione primaria per salvare i dati e anche un file contenente una configurazione, che può essere letta automaticamente all'avvio, come avviene per nanoLinux funzionante da CD o da DVD.

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

In generale, può essere conveniente partire da nanoLinux IV, 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:                     |
| .-----------(+)--------------------------------------------------. |
| |      [ ] mtoolsfm                       main/otherosfs         | |
| |      [ ] myspell-sl                     main/text              | |
| |      [ ] mysql-doc                      non-free/misc          | |
| |      [ ] mysql-navigator                main/misc              | |
| |      [ ] mysqlcc-i18n                   main/misc              | |
| |      [ ] nanolinux-ii                   main/text              | |
| |      [ ] nanolinux-iii                  main/text              | |
| |      [ ] nanolinux-iv                   main/text              | |
| |      [ ] nmapfe                         main/net               | |
| |      [ ] nrg2iso                        main/otherosfs         | |
| |      [ ] ntfsprogs                      main/otherosfs         | |
| `----------.(+)--------------------------------------------------' |
|--------------------------------------------------------------------|
|       <   OK   >    <Simulate>    < Cancel >    <  Help  >         |
`--------------------------------------------------------------------'

Molto probabilmente, se le modifiche richiedono l'eliminazione di pacchetti, i primi a dover essere rimossi sono nanolinux-*, che servono solo a tenere traccia di alcune dipendenze secondo l'organizzazione standard di nanoLinux.

Riquadro 606.25. Pacchetti specifici di nanoLinux.

nanoLinux include dei pacchetti Debian realizzati appositamente, per ricordare le dipendenze principali dell'edizione standard. Si tratta precisamente dei pacchetti nanolinux-ii, nanolinux-iii, nanolinux-iv e nanolinux-v. Questi pacchetti sono installati in modo cumulativo; pertanto nanoLinux II contiene solo il primo (nanolinux-ii), mentre nanoLinux V li contiene tutti.

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]

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 IV-------------------------.
| 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; per esempio, nel caso di nanoLinux II è probabile che ce ne sia uno solo:

.----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. In questo caso 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 mostrata 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 solo 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 selezione proprio la voce SCSI, si ottiene una finestra speciale, dove si 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 da usare per la masterizzazione:

.----------SCSI CD/DVD writer speed-------------.
| Please insert the SCSI CD/DVD writer speed.   |
| To get better compatibility, select "4" or    |
| below for CD, or "1" 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; 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 III release---.
| Please insert the         |
| nanoLinux III release     |
| identification string:    |
| .-----------------------. |
| |                       | |
| `-----------------------' |
|---------------------------|
|   <  OK  >    <Cancel>    |
`---------------------------'

Si deve specificare il livello di compressione dei dati nel CD o nel DVD; generalmente conviene scegliere il livello massimo, corrispondente al numero nove:

.------zisofs compression level---------.
| Please, select the ZISOFS compression |
| level:                                |
| .-----------------------------------. |
| |   9  max compression, min speed   | |
| |   8                               | |
| |   7                               | |
| |   6                               | |
| |   5  med compression, med speed   | |
| |   4                               | |
| |   3                               | |
| |   2                               | |
| |   1  min compression, max speed   | |
| `-----------------------------------' |
|---------------------------------------|
|         <  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 encoding selection------------------------.
| Please select your console font encoding;                                  |
| usual values might be "lat1u-16.psf.gz" and "LatArCyrHeb-16.psf.gz":       |
| .------------------------------------------------------------------------. |
| |LatArCyrHeb-16+.psf.gz   previous_value                                 | |
| |alt-8x14.psf.gz          /usr/share/consolefonts/alt-8x14.psf.gz        | |
| |alt-8x16.psf.gz          /usr/share/consolefonts/alt-8x16.psf.gz        | |
| |alt-8x8.psf.gz           /usr/share/consolefonts/alt-8x8.psf.gz         | |
| |altb-8x16.psf.gz         /usr/share/consolefonts/altb-8x16.psf.gz       | |
| |altc-8x16.psf.gz         /usr/share/consolefonts/altc-8x16.psf.gz       | |
| |aply16.psf.gz            /usr/share/consolefonts/aply16.psf.gz          | |
| |arm8.psf.gz              /usr/share/consolefonts/arm8.psf.gz            | |
| |cp850-8x14.psf.gz        /usr/share/consolefonts/cp850-8x14.psf.gz      | |
| |cp850-8x16.psf.gz        /usr/share/consolefonts/cp850-8x16.psf.gz      | |
| |cp850-8x8.psf.gz         /usr/share/consolefonts/cp850-8x8.psf.gz       | |
| |cp857-8x14.psf.gz        /usr/share/consolefonts/cp857-8x14.psf.gz      | |
| |cp857-8x16.psf.gz        /usr/share/consolefonts/cp857-8x16.psf.gz      | |
| `v(+)--------------------------------------------------------------------' |
|                                                                            |
|                                                                            |
|                                                                            |
|----------------------------------------------------------------------------|
|                       <  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>                    |
`--------------------------------------------------------------'

Come si intende dalle richieste fatte da nanorc, il processo di creazione dell'immagine del CD o del DVD comprende la compressione di una parte del file system, cosa che può richiedere la disponibilità di una grande quantità di memoria virtuale.

Lo script usato per la masterizzazione, prima della compressione dei dati 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 621 per una modifica più importante di nanoLinux.

606.4.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 devono poter essere identificate come tali, pertanto è importante che già dalla stringa di edizione si capisca questo fatto, usando una forma abbastanza differente, che, possibilmente, consenta di intendere la natura della modifica o il contesto per il quale la derivazione è stata realizzata. Ecco per esempio come si presenta un'edizione modificata da Massimo Piai, ottenuta a partire da nanoLinux 2004.02.29:

2004.02.29-PXAM-2004.09.09

Oltre a questa accortezza, è importante che all'avvio si possa comprendere che si tratta di una variante, modificando il file CD-ROOT/isolinux/logo.msg e il file CD-ROOT/boot/grub/menu.lst (il secondo file va modificato per quanto riguarda la voce read the nanoLinux copyright notice) con delle annotazioni appropriate. A questo proposito, nel caso si realizzi una derivazione contenente software proprietario che non può essere ridistribuito, diventa indispensabile chiarirlo già in questi file, per evitare che la derivazione venga ridistribuita erroneamente, pur in buona fede. Nell'esempio di variante di Massimo Piai, si arriva a mostrare che si tratta di un'edizione modificata anche nel logo, che appare così:

logo pxam

Per fare altrettanto, occorre intervenire nel file CD-ROOT/isolinux/logo.png, che riguarda l'avvio con Isolinux, mentre per l'avvio con GRUB occorre modificare il file CD-ROOT/boot/grub/splashimage.png.

Per completare il tutto, un file di testo nella directory radice del CD o del DVD, potrebbe contenere l'elenco delle modifiche apportate. Segue un estratto del file PXAM predisposto da Massimo Piai, che nell'edizione originale è assente:

This CD-R is a "fork" of nanoLinux III 2004.02.29 which has undergone
several modifications:

20040731
========
added packages: python-imaging-doc, python-imaging-doc-html,
python-imaging, python-imaging-tk, python-pmw, python-tk

20040802
========
on the master hard disk installation,
created in /CD-ROOT/etc.nanoLinux/rcS.d a symlink S99rc.local ->
../init.d/rc.local to solve a quirk regarding rc.local 
not executed when system is booted from CD-R (now it is 
executed on boot)
---
added packages: frozen-bubble, bsdgames, mozilla-mailnews,
python-doc, python-docutils, xfig-doc
...
...
20040909
========
added packages: w3m, iitalian, witalian
modified /etc/X11/fvwm/system.fvwm2rc.nanoLinux3 (added mount/umount
entries for /mnt/sda[5-8])

[pxam]

606.5   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, nanoLinux V include i sorgenti usati 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

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

606.7   Riferimenti

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


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

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

Valid ISO-HTML!

CSS validator!