Progetto

Generale

Profilo

CustomUsbKeyInstallation » Cronologia » Versione 3

Amministratore Truelite, 08-03-2006 15:40

1 2 Amministratore Truelite
[[TracNav(TOC)]]
2 1 Amministratore Truelite
3 3 Amministratore Truelite
h1. Installare una versione personalizzata di Debian su una chiavetta USB
4
5
6 1 Amministratore Truelite
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:
7
8 3 Amministratore Truelite
<pre>
9 1 Amministratore Truelite
apt-get install debootstrap
10 3 Amministratore Truelite
</pre>
11 1 Amministratore Truelite
12
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).
13
Partizionamento e sistema di base
14
15
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.
16
17
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:
18
19 3 Amministratore Truelite
<pre>
20 1 Amministratore Truelite
mkfs.ext2 /dev/sda1
21 3 Amministratore Truelite
</pre>
22 1 Amministratore Truelite
23 3 Amministratore Truelite
Una volta creato il filesystem dovremo montarlo sotto */mnt* in maniera opportuna per poterci lavorare; per far questo basta:
24 1 Amministratore Truelite
25 3 Amministratore Truelite
<pre>
26 1 Amministratore Truelite
mkdir /mnt/build
27
mount /dev/sda1 /mnt/build/
28 3 Amministratore Truelite
</pre>
29 1 Amministratore Truelite
30
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:
31
32 3 Amministratore Truelite
<pre>
33 1 Amministratore Truelite
debootstrap --arch i386 sarge /mnt/build
34 3 Amministratore Truelite
</pre>
35 1 Amministratore Truelite
36
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:
37
38 3 Amministratore Truelite
<pre>
39 1 Amministratore Truelite
I: Retrieving Release
40
I: Retrieving Packages
41
I: Validating Packages
42
I: Checking component main on http://ftp.debian.org/debian...
43
I: Extracting base-files...
44
I: Extracting base-passwd...
45
...
46
I: Installing core packages...
47
I: Unpacking required packages...
48
I: Configuring required packages...
49
I: Installing base packages...
50
I: Base system installed successfully.
51 3 Amministratore Truelite
</pre>
52 1 Amministratore Truelite
53
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:
54
55 3 Amministratore Truelite
<pre>
56 1 Amministratore Truelite
chroot /mnt/build
57 3 Amministratore Truelite
</pre>
58 1 Amministratore Truelite
59
e da qui in avanti tutti i comandi faranno riferimento alla gabbia chroot realizzata nella chiavetta.
60
Configurazione del sistema sulla chiavetta
61
62
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
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
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
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
95 3 Amministratore Truelite
<pre>
96 1 Amministratore Truelite
mount /proc
97 3 Amministratore Truelite
</pre>
98 1 Amministratore Truelite
99
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
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
Infine qualora si voglia effettuare un backup della nostra chiavetta tutto quello che servirà è crearne una immagine usando dd, con:
121
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
che potrà essere ripristinata su un'altra chiavetta (delle stesse dimensioni!) con:
127
128 3 Amministratore Truelite
<pre>
129 1 Amministratore Truelite
dd if=debusb.img of=/dev/sda
130 3 Amministratore Truelite
</pre>