Il titolo sarebbe dovuto essere "Come installare una distribuzione Linux direttamente dal prorpio O.S. senza inutili perdite di tempo, riuscendo così a fare diverse altre cose " ma sarebbe stato troppo lungo :). Diciamo che questa soluzione è molto comoda, soprattutto per chi come me nell' hard disk, ama testare molteplici O.S, e di conseguenza non ha voglia di rimanere fisso a guardare il monitor mentre il tutto finisce. L'esempio base che riporto è quello di una installazione di Debian 6.0 Squeeze da Debian Squeeze stessa, ma diciamo che si può adattare alle varie esigenze.
Requisiti:
- una partizione libera
- debootstrap installato
- un minimo di manualità, creatività e pazienza
formattare partizione in ext4, creare cartella di lavoro e mount partizione:
# mkfs.ext4 /dev/sdXX
# mkdir /mnt/debian
# mount /dev/sdXX /mnt/debian
scaricare debian squeeze base per la propria architettura, i386 o amd64
# /usr/sbin/debootstrap --arch i386 squeeze /mnt/debian https://ftp.it.debian.org/debian
oppure se si ha il cd debian montato in /cdrom, cambiare l'indirizzo con il path tipo: file:/cdrom/debian/
alla fine dell'istallazione base eseguire chroot:
# chroot /mnt/debian /bin/bash
adesso siamo all'interno del sistema, dove possiamo fare delle modifiche, io mi limito a citarne alcune, quelle più importanti, il lavoro grosso e di perfezionamento si può fare direttamente una volta avviato l' O.S. oppure tante modifiche direttamente dal chroot.
# nano /etc/fstab
all'interno inseriamo qualche linea tipo:
/dev/sdXX / ext4 defaults 0 1
/dev/scd1 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/scd0 /media/cdrom1 udf,iso9660 user,noauto 0 0
la partizione di swap condivisa andiamo a recuperarla da /etc/fstab del nostro sistema principale
quindi montiamo tutto:
# mount -a
abilitare connessione:
# nano /etc/network/interfaces
ed inserire qualche linea tipo:
auto lo
iface lo inet loopback
allow-hotplug eth0
eth0 inet dhcp
con resolv.conf non dovrebbero esserci problemi:
# nano /etc/resolv.conf
altrimenti inserire:
domain localdomain
search localdomain
nameserver 192.168.1.1
nameserver 192.168.1.1
aggiungere hostname:
# echo Debianbox > /etc/hostname
anche in /etc/hosts non dovrebbero esserci problemi:
# nano /etc/hosts
altrimenti inserire:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
a questo punto siamo pronti a scaricare i pacchetti che ci permetteranno di avviare il nosto O.S. in tutta tranquillità:
# apt-get update
# apt-cache search linux-image
scaricare ed installare linux-image per la propria architettura, grub-pc, ed il proprio DE come gnome o kde:
# apt-get install linux-image-versione-arch grub-pc gnome-desktop-environment
alla fine apparirà qualche errore, ma non è importante. Nell'attesa del completamento, ci si può occupare d'altro, ed è proprio questo il senso di questa guida 🙂 Una volta riavviato basta fare un update-grub per trovare nel menu di grub la voce della nostra installazione, ma abbiamo il problema del login dato che non è stato settato ne utente e ne password, quindi per ovviare a questo problema, nel menu di grub relativo al nostro O.S. digitare "e" ed aggiungere al kernel l'opzione:
rw init=/bib/bash
adesso si può proseguire con il boot e nella shell che appare, non rimane che aggiungere utente e password:
# adduser nome_utente # passwd root
a questo punto abbiamo una Debian Squeeze perfettamente funzionante (quasi) 🙂
Step Finale:
molto probabilmente all'avvio non si dispone della connessione internet per poter aggiornare ed installare i componenti che mancano, questo perchè bisogna abilitare la nostra interfaccia di rete, eth0 o eth1, i passi potrebbero essere:
# ifconfig eth0 up
# ifconfig eth0 indirizzo_rete
# dhclient
spero di essermi ricordato tutto 🙂
enjoy 😉