Progetto

Generale

Profilo

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