Progetto

Generale

Profilo

CustomUsbKeyInstallation » Cronologia » Versione 4

Simone Piccardi, 21-12-2010 10:58

1 3 Amministratore Truelite
h1. Installare una versione personalizzata di Debian su una chiavetta USB
2 1 Amministratore Truelite
3 3 Amministratore Truelite
4 4 Simone Piccardi
Installare una Debian su una chiavetta USB è relativamente semplice, grazie all'uso di deboostrap; tutto quello che serve è avere una macchina già installata con _Debian_ su cui utilizzare la chiavetta per costruire il sistema, se la macchina non dispone di deboostrap basterà installarlo con:
5 1 Amministratore Truelite
6 3 Amministratore Truelite
<pre>
7 1 Amministratore Truelite
apt-get install debootstrap
8
</pre>
9
10 4 Simone Piccardi
Nel seguito si farà conto che la chiavetta sia vista sul sistema di costruzione come @/dev/sda@, si verifichi che il sistema la riconosca effettivamente (si dà per scontato che esso sia configurato correttamente per utilizzare chiavette USB).
11 1 Amministratore Truelite
12 4 Simone Piccardi
h2. Partizionamento e sistema di base
13 1 Amministratore Truelite
14 4 Simone Piccardi
Il primo passo è ripartizionare la chiavetta, si possono utilizzare due partizioni (una per @/boot@ e una per la radice, o una unica partizione, per semplificare utilizzeremo questa ultima opzione. Per partizionare si può usare il comando preferito, le opzioni sono molte: fdisk, cfdisk, parted, ecc.
15
16 1 Amministratore Truelite
Una volta partizionata la chiavetta occorrerà crearvi sopra un filesystem, per ridurre gli accessi (che degradano la chiavetta) il filesystem più indicato è ext2, quindi nell'ipotesi di partizione unica lo creeremo con:
17
18 3 Amministratore Truelite
<pre>
19 1 Amministratore Truelite
mkfs.ext2 /dev/sda1
20 3 Amministratore Truelite
</pre>
21 1 Amministratore Truelite
22 4 Simone Piccardi
Una volta creato il filesystem dovremo montarlo sotto @/mnt@ in maniera opportuna per poterci lavorare; per far questo basta:
23 1 Amministratore Truelite
24 3 Amministratore Truelite
<pre>
25 1 Amministratore Truelite
mkdir /mnt/build
26
mount /dev/sda1 /mnt/build/
27 3 Amministratore Truelite
</pre>
28 1 Amministratore Truelite
29 4 Simone Piccardi
A questo punto ci viene in aiuto @deboostrap@ che ci consente di installare in maniera automatica un sistema base nella chiavetta, basterà eseguire il comando:
30 1 Amministratore Truelite
31 3 Amministratore Truelite
<pre>
32 1 Amministratore Truelite
debootstrap --arch i386 sarge /mnt/build
33 3 Amministratore Truelite
</pre>
34 1 Amministratore Truelite
35
che installa una Debian Sarge (si può specificare anche sid o testing). Il programma inizierà le sue operazioni, che durano un certo tempo, dando luogo ad un output del tipo:
36
37 3 Amministratore Truelite
<pre>
38 1 Amministratore Truelite
I: Retrieving Release
39
I: Retrieving Packages
40
I: Validating Packages
41
I: Checking component main on http://ftp.debian.org/debian...
42
I: Extracting base-files...
43
I: Extracting base-passwd...
44
...
45
I: Installing core packages...
46
I: Unpacking required packages...
47
I: Configuring required packages...
48
I: Installing base packages...
49
I: Base system installed successfully.
50 3 Amministratore Truelite
</pre>
51 1 Amministratore Truelite
52
Una volta installato il sistema base occorrerà completare la configurazione per permettere alla chiavetta di essere usata come disco principale per l'avvio, per farlo la maniera più semplice è quella di entrare nella stessa con un chroot; facendo:
53
54
<pre>
55 3 Amministratore Truelite
chroot /mnt/build
56 1 Amministratore Truelite
</pre>
57 3 Amministratore Truelite
58 1 Amministratore Truelite
e da qui in avanti tutti i comandi faranno riferimento alla gabbia chroot realizzata nella chiavetta.
59
60 4 Simone Piccardi
h2. Configurazione del sistema sulla chiavetta
61 1 Amministratore Truelite
62 4 Simone Piccardi
Il primo passo è quello di impostare le sorgenti di APT, basterà creare il file @/etc/apt/sources.list@, il cui contenuto sarà il seguente:
63
64 3 Amministratore Truelite
<pre>
65 1 Amministratore Truelite
deb http://ftp.it.debian.org/debian/ sarge main contrib
66
deb http://security.debian.org/ sarge/updates main contrib
67 3 Amministratore Truelite
</pre>
68 1 Amministratore Truelite
69
e si potrà verificare il funzionamento del tutto installando gli eventuali aggiornamenti con i comandi:
70
71 3 Amministratore Truelite
<pre>
72 1 Amministratore Truelite
apt-get update
73
apt-get upgrade
74
apt-get clean
75 3 Amministratore Truelite
</pre>
76 1 Amministratore Truelite
77
in cui l'ultimo è usato per pulire la cache dei pacchetti.
78
79 4 Simone Piccardi
Il passo successivo è quello di creare un @/etc/fstab@ opportuno, dato che la chiavetta si degrada con le operazioni di scrittura, è opportuno minimizzare le stesse, questo prevede l'uso dell'opzione di montaggio noatime e di directory temporanee in RAM; un esempio del contenuto di questo file è il seguente:
80 1 Amministratore Truelite
81 3 Amministratore Truelite
<pre>
82 1 Amministratore Truelite
/dev/sda1 /             ext2    defaults,errors=remount-ro,noatime 0    0
83
proc    /proc           proc    defaults                        0       0
84
tmpfs   /etc/network/run tmpfs  defaults,noatime                0       0
85
tmpfs   /tmp            tmpfs   defaults,noatime                0       0
86
tmpfs   /var/lock       tmpfs   defaults,noatime                0       0
87
tmpfs   /var/log        tmpfs   defaults,noatime                0       0
88
tmpfs   /var/run        tmpfs   defaults,noatime                0       0
89
tmpfs   /var/tmp        tmpfs   defaults,noatime                0       0
90
tmpfs   /home           tmpfs   defaults,noatime                0       0
91 3 Amministratore Truelite
</pre>
92 1 Amministratore Truelite
93 4 Simone Piccardi
e si potrà poi verificare che è a posto montando le varie directory. Si monti sempre @/proc@, dato che questo servirà per le successive installazioni, con:
94 1 Amministratore Truelite
95 3 Amministratore Truelite
<pre>
96 1 Amministratore Truelite
mount /proc
97 3 Amministratore Truelite
</pre>
98 1 Amministratore Truelite
99 4 Simone Piccardi
Inoltre dato che @/etc/mtab@ viene scritto frequentemente degradando la chiavetta, si abbia cura di rimuoverlo e sostituirlo con un link a @/proc/mounts@ che contiene le stesse informazioni:
100 1 Amministratore Truelite
101 3 Amministratore Truelite
<pre>
102 1 Amministratore Truelite
rm /etc/mtab
103
ln -s /proc/mounts /etc/mtab
104 3 Amministratore Truelite
</pre>
105 1 Amministratore Truelite
106
Il passo successivo è installare il kernel, ma prima occorre creare tutti i file di dispositivo necessari (dato che deboostrap ne crea solo una piccola parte; questo si fa con:
107
108 3 Amministratore Truelite
<pre>
109 1 Amministratore Truelite
cd /dev
110
./MAKEDEV generic
111 3 Amministratore Truelite
</pre>
112 1 Amministratore Truelite
113
dopo di che si potrà installare il kernel con:
114
115 3 Amministratore Truelite
<pre>
116 1 Amministratore Truelite
apt-get install kernel-source-2.6-386
117
apt-get clean
118 3 Amministratore Truelite
</pre>
119 1 Amministratore Truelite
120 4 Simone Piccardi
Infine qualora si voglia effettuare un backup della nostra chiavetta tutto quello che servirà è crearne una immagine usando @dd@, con:
121 1 Amministratore Truelite
122 3 Amministratore Truelite
<pre>
123 1 Amministratore Truelite
dd if=/dev/sda of=debusb.img
124 3 Amministratore Truelite
</pre>
125 1 Amministratore Truelite
126 4 Simone Piccardi
che potrà essere ripristinata su un'altra chiavetta (delle stesse dimensioni, o maggiori) con:
127 1 Amministratore Truelite
128 3 Amministratore Truelite
<pre>
129 1 Amministratore Truelite
dd if=debusb.img of=/dev/sda
130 3 Amministratore Truelite
</pre>