Progetto

Generale

Profilo

CustomUsbKeyInstallation » Cronologia » Versione 2

Amministratore Truelite, 08-03-2006 15:40

1 2 Amministratore Truelite
[[TracNav(TOC)]]
2 1 Amministratore Truelite
= Installare una versione personalizzata di Debian su una chiavetta USB =
3
4
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
6
{{{
7
apt-get install debootstrap
8
}}}
9
10
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
Partizionamento e sistema di base
12
13
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.
14
15
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:
16
17
{{{
18
mkfs.ext2 /dev/sda1
19
}}}
20
21
Una volta creato il filesystem dovremo montarlo sotto '''/mnt''' in maniera opportuna per poterci lavorare; per far questo basta:
22
23
{{{
24
mkdir /mnt/build
25
mount /dev/sda1 /mnt/build/
26
}}}
27
28
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:
29
30
{{{
31
debootstrap --arch i386 sarge /mnt/build
32
}}}
33
34
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:
35
36
{{{
37
I: Retrieving Release
38
I: Retrieving Packages
39
I: Validating Packages
40
I: Checking component main on http://ftp.debian.org/debian...
41
I: Extracting base-files...
42
I: Extracting base-passwd...
43
...
44
I: Installing core packages...
45
I: Unpacking required packages...
46
I: Configuring required packages...
47
I: Installing base packages...
48
I: Base system installed successfully.
49
}}}
50
51
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:
52
53
{{{
54
chroot /mnt/build
55
}}}
56
57
e da qui in avanti tutti i comandi faranno riferimento alla gabbia chroot realizzata nella chiavetta.
58
Configurazione del sistema sulla chiavetta
59
60
Il primo passo è quello di impostare le sorgenti di APT, basterà creare il file /etc/apt/sources.list, il cui contenuto sarà il seguente:
61
62
{{{
63
deb http://ftp.it.debian.org/debian/ sarge main contrib
64
deb http://security.debian.org/ sarge/updates main contrib
65
}}}
66
67
e si potrà verificare il funzionamento del tutto installando gli eventuali aggiornamenti con i comandi:
68
69
{{{
70
apt-get update
71
apt-get upgrade
72
apt-get clean
73
}}}
74
75
in cui l'ultimo è usato per pulire la cache dei pacchetti.
76
77
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:
78
79
{{{
80
/dev/sda1 /             ext2    defaults,errors=remount-ro,noatime 0    0
81
proc    /proc           proc    defaults                        0       0
82
tmpfs   /etc/network/run tmpfs  defaults,noatime                0       0
83
tmpfs   /tmp            tmpfs   defaults,noatime                0       0
84
tmpfs   /var/lock       tmpfs   defaults,noatime                0       0
85
tmpfs   /var/log        tmpfs   defaults,noatime                0       0
86
tmpfs   /var/run        tmpfs   defaults,noatime                0       0
87
tmpfs   /var/tmp        tmpfs   defaults,noatime                0       0
88
tmpfs   /home           tmpfs   defaults,noatime                0       0
89
}}}
90
91
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:
92
93
{{{
94
mount /proc
95
}}}
96
97
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:
98
99
{{{
100
rm /etc/mtab
101
ln -s /proc/mounts /etc/mtab
102
}}}
103
104
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:
105
106
{{{
107
cd /dev
108
./MAKEDEV generic
109
}}}
110
111
dopo di che si potrà installare il kernel con:
112
113
{{{
114
apt-get install kernel-source-2.6-386
115
apt-get clean
116
}}}
117
118
Infine qualora si voglia effettuare un backup della nostra chiavetta tutto quello che servirà è crearne una immagine usando dd, con:
119
120
{{{
121
dd if=/dev/sda of=debusb.img
122
}}}
123
124
che potrà essere ripristinata su un'altra chiavetta (delle stesse dimensioni!) con:
125
126
{{{
127
dd if=debusb.img of=/dev/sda
128
}}}