Preparazione delle partizioni

NLNX può essere installato in una partizione di un'unità di memorizzazione collegata al bus ATA interno o al bus USB.

Quando si installa NLNX in un'unità di memorizzazione comune, sia interna, sia esterna, per l'avvio si può usare SYSLINUX. Inoltre, come viene descritto nella sezione u56, per l'avvio dalla rete si usa PXELINUX.

Se si utilizza una partizione in una memoria allo stato solido, è necessario installare NLNX in modo che acceda al file system in sola lettura, per non bruciare rapidamente l'unità. Per lo stesso motivo, in tale memoria non va creata una partizione o un file per lo scambio della memoria virtuale.

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

Tabella u46.1. Cosa occorre usare per installare NLNX in un disco fisso comune o in un'unità esterna USB.

Comando Descrizione
fdisk file_di_dispositivo
Creazione o modifica delle partizioni.
mkswap file_di_dispositivo
Inizializzazione di una partizione di scambio per la memoria virtuale.
mkfs.ext3 file_di_dispositivo
Inizializzazione di una partizione da usare per l'installazione del sistema operativo o di altri dati.
mkfs.msdos file_di_dispositivo
Inizializzazione di una partizione da usare per l'avvio del sistema operativo, quando si utilizza SYSLINUX a questo proposito.
nlnxrc nlnx install
Comando di nlnxrc per eseguire la procedura di installazione.
syslinux
extlinux
Predisposizione del sistema di avvio attraverso SYSLINUX.
install-mbr
Ricostruzione del settore di avvio generico.

Piano di utilizzo delle partizioni

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

Tabella u46.2. Convenzione suggerita nella suddivisione in partizioni per l'installazione di NLNX.

Esempi di file di dispositivo Utilizzo

/dev/hdx1
/dev/sdx1
La prima partizione primaria, di tipo FAT16 (codice 616), contenente un file system Dos-FAT e utilizzata per collocare il sistema di avvio (kernel e SYSLINUX). Questa partizione deve avere una capacità di almeno 80 Mibyte, ma non può essere troppo grande; ed è assolutamente indispensabile la sua presenza se si deve usare SYSLINUX per l'avvio.

/dev/hdx2
/dev/sdx2
La seconda partizione primaria di tipo Second-extended (codice 8316), da usare per collocarvi il file system principale (preferibilmente di tipo Ext3).

/dev/hdx3
/dev/sdx3
La terza partizione primaria da usare eventualmente per dati di vario tipo, oppure per un altro sistema operativo.

/dev/hdx4
/dev/sdx4
La quarta partizione primaria da usare eventualmente per lo scambio della memoria virtuale (lo scambio della memoria virtuale non deve essere gestito su delle unità di memoria solida).

partizioni

Per quanto riguarda la terza partizione primaria, se di questa non c'è bisogno subito, la si può omettere; 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.

Sistema di emergenza: «rescue»

L'avvio di NLNX, in qualunque condizione, si avvale di un disco RAM iniziale, il quale contiene un sistema operativo minimo che può essere utilizzato autonomamente. Si ottiene l'avvio esclusivo di questo sistema minimo con la selezione della voce rescue.

Attraverso il sistema di emergenza è possibile svolgere molte delle operazioni che sono descritte in questo capitolo, contando su un utilizzo ridotto al minimo della memoria centrale. In particolare potrebbero essere create e inizializzate le partizioni, soprattutto quella per lo scambio della memoria virtuale. È possibile anche accedere a file system remoti attraverso il protocollo NFS ed è disponibile il programma partimage per salvare e recuperare partizioni intere.

Suddivisione in partizioni

NLNX può essere installato in un disco, sia quando sta funzionando da DVD live (o da qualunque altro contesto in cui il file system principale è in sola lettura), sia quando è in funzione da un disco normale (in tal caso il file system è in lettura e scrittura). Ciò permette, per esempio, di installarlo da disco USB (lettura-scrittura) a disco ATA, da disco USB a un altro disco USB, o in altre combinazioni possibili.(1)

Prima di installare NLNX è necessario predisporre manualmente le partizioni nel disco che deve accoglierlo. Per questo è disponibile fdisk, con cui si deve definire 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 NLNX da un DVD live, 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 SATA (/dev/sda). Eventualmente si veda anche il capitolo 6 per una descrizione più dettagliata del procedimento.

fdisk /dev/sda[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/sda: 164.5 GB, 164505600000 bytes
255 heads, 63 sectors/track, 20000 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot   Start      End      Blocks   Id  System
/dev/sda1   *        1    10000    80325000    b  W95 FAT32
/dev/sda2        10001    20000    80325000    b  W95 FAT32

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]

Selected partition 2

Command (m for help): p[Invio]

Disk /dev/sda: 164.5 GB, 164505600000 bytes
255 heads, 63 sectors/track, 20000 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot   Start      End      Blocks   Id  System

A questo punto si definiscono la prima, la seconda e la quarta partizione, in base al piano della tabella u46.2, prospettando di non avere bisogno di una terza partizione per i dati:

Command (m for help): n[Invio]

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

p[Invio]

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

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

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

Command (m for help): p[Invio]

Disk /dev/sda: 164.5 GB, 164505600000 bytes
255 heads, 63 sectors/track, 20000 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot   Start      End      Blocks   Id  System
/dev/sda1            1       60      481950   83  Linux

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 (61-20000, default 61): 61[Invio]

Last cylinder or +size or +sizeM or +sizeK (61-20000, default 20000): +150G[Invio]

Command (m for help): p[Invio]

Disk /dev/sda: 164.5 GB, 164505600000 bytes
255 heads, 63 sectors/track, 20000 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start         End      Blocks   Id  System
/dev/sda1             1          60      481950   83  Linux
/dev/sda2            61       19000   152135550   83  Linux

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 (19001-20000, default 19001): 19001[Invio]

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

Command (m for help): p[Invio]

Disk /dev/sda: 164.5 GB, 164505600000 bytes
255 heads, 63 sectors/track, 20000 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start         End      Blocks   Id  System
/dev/sda1             1          60      481950   83  Linux
/dev/sda2            61       19000   152135550   83  Linux
/dev/sda3         19001       20000     8032500   83  Linux

A questo punto si deve modificare il tipo di partizione per /dev/sda1 e /dev/sda4, inoltre si deve rendere avviabile la prima:

Command (m for help): t[Invio]

Partition number (1-4): 1[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): 6[Invio]

Changed system type of partition 1 to 6 (FAT16)

Command (m for help): t[Invio]

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

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/sda: 164.5 GB, 164505600000 bytes
255 heads, 63 sectors/track, 20000 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot   Start      End      Blocks   Id  System
/dev/sda1            1       60      481950    6  FAT16
/dev/sda2           61    19000   152135550   83  Linux
/dev/sda3        19001    20000     8032500   82  Linux swap

Command (m for help): a[Invio]

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

Command (m for help): p[Invio]

Disk /dev/sda: 164.5 GB, 164505600000 bytes
255 heads, 63 sectors/track, 20000 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot   Start      End      Blocks   Id  System
/dev/sda1   *        1       60      481950    6  FAT16
/dev/sda2           61    19000   152135550   83  Linux
/dev/sda3        19001    20000     8032500   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.
...

Inizializzazione delle partizioni

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

mkfs.msdos /dev/sda1[Invio]

mkfs.ext3 /dev/sda2[Invio]

mkswap /dev/sda4[Invio]


1) È il caso di precisare che non si può produrre un nuovo DVD live quando il sistema in funzione ha il file system principale in sola lettura, come quando sta già lavorando da un DVD live o da una memoria solida USB. Inoltre, l'installazione da un disco fisso normale (in lettura e scrittura) produce un risultato leggermente diverso, per ciò che riguarda il ripristino delle utenze.

«a2» 2013.11.11 --- Copyright © Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net