Debootstrap
Questo post é un piccolo howto su come installare Debian (o distro derivate come ubuntu) con debootstrap.
Nota importante #
Lo scopo principale di questo post é spiegare il funzionamento di debootstrap e tenere degli appunti sulle fasi principali per l’installazione, non quello di fare un cut&paste diretto dei comandi.
Assunzioni #
In questo post si assume che:
- il disco sia già stato partizionato nella maniera corretta;
- si stia installando debian sid;
- la partizione di root é
/dev/sda1
; - la partizione /home
/dev/sda5
; - la partizione di swap é
/dev/sda2
.
Preparare il sistema live #
Per prima cosa occorre avere un media boot-abile di una distribuzione debian-based (ubuntu, mint, debian…etc). Facciamo il boot con il sistema live e accediamo alla console o, se si preferisce l’interfaccia grafica, ad un emulatore di terminale.
Probabilmente l’installazione live non contiene debootstrap. Lo si può installare con: sudo apt-get install debootstrap
.
Preparare le partizioni #
Se il disco non é partizionato o si vuole cambiarne la suddivisione si può usare fdisk. Il mio disco solitamente é già partizionato e, soprattutto, nella partizione /home ci sono tutti i miei dati. Se questa é anche la vostra condizione occorre stare molto attenti a formattare unicamente la partizione root e non quella home. Il comando da eseguire é: sudo mkfs.ext3 /dev/sda1
.
Ora creiamo una directory sotto /mnt che sarà la base dell’installazione: sudo mkdir /mnt/new_install
Successivamente montiamo lì i nostri filesystem: sudo mount /dev/sda1 /mnt/new_install
. (si potrebbe montare già da ora anche la directory /home ma per evitare cancellazioni accidentali meglio farlo dopo)
Eseguire debootstrap #
Ok, si é pronti finalmente a lanciare debootsrap: sudo debootstrap --verbose --arch=amd64 sid /mnt/new_install
. Per fare questo dovrete essere connessi ad internet. Una volta eseguito il comando si dovrà aspettare lo scaricamento e l’installazione del sistema base.
Ora, se tutto é andato per il verso giusto, dovremmo avere in /mnt/new_install la struttura base del fileystem e possiamo dunque procedere con il mount dei filesystem di sistema:
- proc:
sudo mount -t proc /proc /mnt/new_install/proc
- sysfs:
sudo mount -t sysfs /sys /mnt/new_install/sysfs
- dev:
sudo mount --bind /dev /mnt/new_install/dev
Inoltre creiamo un file che servità durante l’installazione del bootloader:touch /mnt/new_install/etc/mtab
Infine copiamo il file con i dns di sistema nella nuova installazione: sudo cp -a /etc/resolv.conf /mnt/new_install/etc/resolv.conf
Chrooting #
Possiamo ora fare chroot nella nuova installazione: sudo chroot /mnt/new_install /bin/bash
Da questo momento in poi saremo all’interno della nuova installazione. Per prima cosa, prima che ci si dimentichi e si debba rifare tutto da capo, impostiamo la password di root del sistema: passwd
Dopodiché installiamo qualche pacchetto fondamentale con apt-get o aptitude:
- linux-image
- grub
- vim :-) Nel mio caso ora é il momento di montare il filesystem /home con:
sudo mount /dev/sda5 /mnt/new_install/home
e, se si vuole partire da un configurazione pulita per il proprio utente, spostare la vecchia home_dir:sudo mv /mnt/new_install/home/user /mnt/new_install/home/user_old
Ultimo passo da non dimenticare, pena un kernel panic al primo avvio, creare il file /etc/ contenente:
proc /proc proc nodev,noexec,nosuid 0 0 /dev/sda1 / ext3 errors=remount-ro 0 1 /dev/sda5 /home ext3 defaults,user_xattr 0 2 /dev/sda2 none swap sw 0 0
Ora é possibile uscire dal chroot e fare il reboot del sistema. Una volta fatto il boot nel sistema base si può partire con l’installazione di tutti i pacchetti (xorg, etc) e con la creazione degli utenti.
Finito, la nostra disto é installata!