CustomUsbKeyInstallation » Cronologia » Versione 3
Versione 2 (Amministratore Truelite, 08-03-2006 15:40) → Versione 3/4 (Amministratore Truelite, 08-03-2006 15:40)
[[TracNav(TOC)]] h1. = 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: <pre> {{{ apt-get install debootstrap </pre> }}} 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: <pre> {{{ mkfs.ext2 /dev/sda1 </pre> }}} Una volta creato il filesystem dovremo montarlo sotto */mnt* '''/mnt''' in maniera opportuna per poterci lavorare; per far questo basta: <pre> {{{ mkdir /mnt/build mount /dev/sda1 /mnt/build/ </pre> }}} 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: <pre> {{{ debootstrap --arch i386 sarge /mnt/build </pre> }}} 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: <pre> {{{ 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. </pre> }}} 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: <pre> {{{ chroot /mnt/build </pre> }}} 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: <pre> {{{ deb http://ftp.it.debian.org/debian/ sarge main contrib deb http://security.debian.org/ sarge/updates main contrib </pre> }}} e si potrà verificare il funzionamento del tutto installando gli eventuali aggiornamenti con i comandi: <pre> {{{ apt-get update apt-get upgrade apt-get clean </pre> }}} 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: <pre> {{{ /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 </pre> }}} 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: <pre> {{{ mount /proc </pre> }}} 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: <pre> {{{ rm /etc/mtab ln -s /proc/mounts /etc/mtab </pre> }}} 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: <pre> {{{ cd /dev ./MAKEDEV generic </pre> }}} dopo di che si potrà installare il kernel con: <pre> {{{ apt-get install kernel-source-2.6-386 apt-get clean </pre> }}} Infine qualora si voglia effettuare un backup della nostra chiavetta tutto quello che servirà è crearne una immagine usando dd, con: <pre> {{{ dd if=/dev/sda of=debusb.img </pre> }}} che potrà essere ripristinata su un'altra chiavetta (delle stesse dimensioni!) con: <pre> {{{ dd if=debusb.img of=/dev/sda </pre> }}}