tux-debianwww.palmix.orgtux-debian


  HOME  GUIDE  ARTICOLI  DOWNLOADS  LINKS

 
INSTALLAZIONE DI UNA DISTRO DEBIAN SU CHIAVETTA USB
by monossido 

usbswirl

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