INSTALLAZIONE DI UNA DISTRO DEBIAN SU
CHIAVETTA USB
by monossido
Cosa serve:
1) Un’installazione linux con internet
dalla quale preparare la penna.
2) Da linux bisogna avere a disposizione
questi tool: debootstrap, fdisk, mkfs.ext2, chroot e altri
3) Una penna usb, con 1gb si è molto al
limite se si sceglie di installare Gnome o Kde, altro discorso sono i
DE minori. Io ne ho una da 4gb
4) Può essere utile avere qemu
installato e configurato per verificare che la penna faccia il boot
correttamente (invece di riavviare il computer)
Partizionare la penna
Prima di tutto bisogna partizionare la penna usb (la indicherò come
/dev/sda):
fdisk /dev/sda
Fdisk è molto semplice da usare, bisogna cancellare tutte le partizioni
esistenti e crearne una unica primaria. Poi bisogna renderla bootable e
impostare come file system il numero “83″ (Linux).
Una volta partizionata la chiavetta bisogna creare il filesystem vero e
proprio quindi:
mkfs.ext2 /dev/sda1
È meglio usare ext2 per ridurre gli accessi in scrittura della
chiavetta che la degraderebbero più in fretta.
Usare debootstrap
Ora montiamo la chiavetta normalmente:
mkdir /media/debusb
mount /dev/sda1
/media/debusb
Usiamo debootstrap, il quale ci permette di installare un sistema base
su un supporto esterno. Credo sia possibile installare anche Ubuntu ma
io ho preferito installare debian semplicemente perchè partendo da una
normale netinst posso selezionare io i programmi da installare e quindi
risparmiare spazio:
debootstrap –arch i386
sid /media/debusb
Io ho installato la sid (attualmente unstable) ma si può sceglire anche
sarge o lenny.
Il sistema è già praticamente pronto ora facciamo in modo che possa
fare il boot.
Chroot
Prima bisogna montare proc:
mount -t proc proc
/media/debusb/proc
ora si esegue il chroot:
chroot /media/debusb
In questo modo siamo dentro al sistema della chiavetta, per prima cosa
impostiamo i repository
deb
http://ftp.it.debian.org/debian/ sarge main contrib
deb
http://security.debian.org/ sarge/updates main contrib
aggiorniamo il sistema:
apt-get update
apt-get upgrade
Ora aggiustiamo il fstab in modo che ci siano meno accessi possbili
alla chiavetta che la degraderebbero:
#/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
Io ho commentato la prima riga perchè ovviamente il nome del device
della chiavetta dipende dal computer in cui si sta facendo il boot,
commentando non si sfrutta il vantaggio di montare il file system con
l’opzione noatime (sempre per il discorso degli accessi). Non ho fatto
particolari prove forse c’è qualche soluzione.
Ho commentato anche l’ultima riga perchè in quel modo la home si
cancellerebbe ad ogni riavvio, se uno si accontenta di un semplice
sistema live che non memorizza le impostazioni nella home può togliere
il commento.
Altro trucco per ridurre gli accessi è eliminare il file /etc/mtab e
sostituirlo con un link simbolico a /proc/mounts:
rm /etc/mtab
ln -s /proc/mounts
/etc/mtab
Ora utilizziamo uno script che consente di creare i file device:
cd /dev
MAKEDEV generic
Installiamo il kernel (questo o comunque quello che è disponibile nel
repository):
apt-get install
linux-image-2.6.23-1-486
e poi generiamo il nuovo initramfs:
update-initramfs -u
Grub
Il passo finale è quello di installare e configurare Grub
Usciamo dal chroot digitando “exit”, quindi dalla console della nostra
distribuzione principale digitiamo:
grub-install
–root-directory=/media/debusb /dev/sda
ATTENZIONE wordpress trasforma le due linee in un unica linea più
lunga, in realtà prima di root ci sono 2 linee.
Ed infine creiamo il file menu.lst
in /media/debusb/boot/grub/
######################################################
# Globals
default 1
fallback 0
color white/blue black/light-gray
#####################################################
# LIVE
title Debian from USB by monossido
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sda1
initrd /boot/initrd.img
boot
Per quanto riguarda menu.lst ci possono essere problemi a seconda di
come sono disposti gli hard disk nel computer dove stiamo facendo il
boot, le due uniche variabili sono “root (hdx,0)” e “kernel
/boot/vmlinuz root=/dev/sdy1″ normalmente basta poco per giocarci e
imbroccare le lettere giuste ricordandoci che per editare una riga
basta premere “e”, che grub supporta l’autocompletamento con tab e che
per fare il boot basta premere “b”.
Per ovviare a questi problemi forse converrebbe usare syslinux ma non
mi sono addentrato troppo nella questione.
A questo punto come ho scritto all’inizio si può verificare molto
velocemente che la penna faccia correttamente il boot con qemu, un
esempio di utilizzo può essere:
qemu -boot c -hda
/dev/sda
Finito! Ora
se tutto va bene si riesce a fare il boot e si può iniziare a
installare i software preferiti con apt!
La guida originale è stata scritta da monossido ed è reperibile qui.
torna ad inizio pagina - torna a guide