Installare una versione personalizzata di Debian su una chiavetta USB¶
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:
apt-get install debootstrap
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).
Partizionamento e sistema di base¶
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.
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:
mkfs.ext2 /dev/sda1
Una volta creato il filesystem dovremo montarlo sotto /mnt
in maniera opportuna per poterci lavorare; per far questo basta:
mkdir /mnt/build mount /dev/sda1 /mnt/build/
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:
debootstrap --arch i386 sarge /mnt/build
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:
I: Retrieving Release I: Retrieving Packages I: Validating Packages I: Checking component main on http://ftp.debian.org/debian... I: Extracting base-files... I: Extracting base-passwd... ... I: Installing core packages... I: Unpacking required packages... I: Configuring required packages... I: Installing base packages... I: Base system installed successfully.
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:
chroot /mnt/build
e da qui in avanti tutti i comandi faranno riferimento alla gabbia chroot realizzata nella chiavetta.
Configurazione del sistema sulla chiavetta¶
Il primo passo è quello di impostare le sorgenti di APT, basterà creare il file /etc/apt/sources.list
, il cui contenuto sarà il seguente:
deb http://ftp.it.debian.org/debian/ sarge main contrib deb http://security.debian.org/ sarge/updates main contrib
e si potrà verificare il funzionamento del tutto installando gli eventuali aggiornamenti con i comandi:
apt-get update apt-get upgrade apt-get clean
in cui l'ultimo è usato per pulire la cache dei pacchetti.
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:
/dev/sda1 / ext2 defaults,errors=remount-ro,noatime 0 0 proc /proc proc defaults 0 0 tmpfs /etc/network/run tmpfs defaults,noatime 0 0 tmpfs /tmp tmpfs defaults,noatime 0 0 tmpfs /var/lock tmpfs defaults,noatime 0 0 tmpfs /var/log tmpfs defaults,noatime 0 0 tmpfs /var/run tmpfs defaults,noatime 0 0 tmpfs /var/tmp tmpfs defaults,noatime 0 0 tmpfs /home tmpfs defaults,noatime 0 0
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:
mount /proc
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:
rm /etc/mtab ln -s /proc/mounts /etc/mtab
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:
cd /dev ./MAKEDEV generic
dopo di che si potrà installare il kernel con:
apt-get install kernel-source-2.6-386 apt-get clean
Infine qualora si voglia effettuare un backup della nostra chiavetta tutto quello che servirà è crearne una immagine usando dd
, con:
dd if=/dev/sda of=debusb.img
che potrà essere ripristinata su un'altra chiavetta (delle stesse dimensioni, o maggiori) con:
dd if=debusb.img of=/dev/sda
Aggiornato da Simone Piccardi circa 14 anni fa · 4 revisions