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