Installer ubuntu via un terminal grâce à debootstrap et à chroot
Introduction
Debootstrap est un outil performant qui sert à installer les composants essentiels du système linux. Il est notamment utilisé dans les netinstall de debian. Chroot est un programme permettant de changer la racine du système, c'est à dire utiliser un deuxième système linux en même temps que le premier avec un seul kernel.
But
Ce tutoriel a plusieurs utilisations possibles :
- Installer un ubuntu complet à partir de n'importe quel Linux sans avoir besoin de media externe.
- Comprendre comment Linux est installé.
- Créer un environnement de test sur une machine → passer l’installation du kernel
Installation des programmes requis
(cette partie doit être adaptée à votre distribution Linux)
Installez le paquet debootstrap
Formatage et montage des disques
Pour un disque dur vide, créez une partition de ± 10Go par exemple puis la swap, ici 1Go (2 fois plus que la RAM).
sudo fdisk /dev/sda Command (m for help): p . . . Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-3876, default 1): (Appuyez sur Entrée) Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +10000
ensuite tapez "a" puis "1" pour la rendre bootable
Ensuite créez la partition pour le swap :
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (1-3876, default 1): (Appuyez sur Entrée) Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +1024M
Enfin, tapez "w" pour terminer le partitionnement.
Formatez la première partition en ext3 :
mke2fs -j /dev/sda1
Formatez la deuxième partition en swap :
mkswap /dev/sda2
Activez le swap :
swapon /dev/sda2
Montez le sda1 sur le dossier install (à créer) qui servira de point de montage :
mkdir /media/install mount /dev/sda1 /media/install
utilisation de debootstrap
L'installation est ici faite pour ubuntu precise 12.04 32bit.
sudo debootstrap --include ubuntu-minimal --arch i386 precise /media/install http://archive.ubuntu.com/ubuntu
Montages en vue d'un chroot
Montages spéciaux pour accéder aux médias et autres périphériques.
sudo mount --bind /dev /media/install/dev sudo mount --bind /dev/pts /media/install/dev/pts sudo mount --bind /sys /media/install/sys sudo mount -t proc /proc /media/install/proc
Chroot
sudo chroot /media/install /bin/bash
Dans le chroot
montage dans le chroot
mount -a
Paramétrage de apt
Modifiez les sources et ajoutez les dépôts universe et multiverse.
apt-get update
Installation des locales
Configuration du clavier.
apt-get install console-data dpkg-reconfigure console-data dpkg-reconfigure keyboard-configuration
Installation des locales françaises et reconfiguration de celles-ci.
/usr/share/locales/install-language-pack fr_FR
dpkg-reconfigure locales
Configuration du lieu.
dpkg-reconfigure tzdata
Configuration de l'heure.
hwclock --systohc --utc
Il faut mettre l'heure en non utc :
apt-get install nano
nano /etc/default/rcS
Et mettre UTC=no
On sort du chroot :
exit
Paramétrage de hostname et fstab
Copie des fichier nécessaires
Copie des fichiers de configuration.
sudo cp /etc/hosts /etc/hostname /etc/resolv.conf /media/install/etc/hostname sudo cp /etc/network/interfaces /media/install/etc/network sudo cp /etc/fstab /media/install/etc
sudo chroot /media/install/ /bin/bash
Il faut trouver les UID de chaque partition afin de les mettre dans le fstab (le fstab se chargeant avant que les noms des disques et partitions (sda1, etc.) ne soient attribués, il faut lui donner le nom unique de la partition) :
blkid
nano /etc/fstab
voici un exemple ( à ne pas reprendre tel quel mais à adapter selon votre configuration) :
proc /proc proc defaults 0 0 UUID=34bf3784-2c97-48e3-92ce-025e3cd6344c / ext4 errors=remount-ro 0 1 UUID=57a6f7ec-8de6-4f47-a244-f171c6a41ab3 /home ext4 defaults 0 2 UUID=cfe0a0d6-3280-4104-878d-efede6cce024 none swap sw 0 0 /dev/cdrom /cdrom udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Ensuite, créez les points de montage :
mkdir /cdrom /media/floppy0
Installer le kernel et grub
Tout d’abord, nous installons le kernel.
apt-get install linux-image-generic-pae
Ensuite, installation de grub : (grub s'est probablement déjà installé avec le kernel)
sudo apt-get install grub-pc update-grub
exit
Installation des backports :
sudo cp /etc/kernel-img.conf /media/install/etc/kernel-img.conf sudo chroot /media/install/ /bin/bash apt-get install linux-backports-modules-cw-3.3-precise-generic-pae
mot de passe
Afin que tout le monde n'ait pas accès aux droits root, il faut mettre un mot de passe.
passwd
Voilà, ubuntu est installé.
Regardez aussi tasksel
Sources externes :
http://www.isalo.org/wiki.debian-fr/index.php?title=Installation_squeeze_chroot_debootstrap
http://www.gentoo.org/doc/fr/handbook/handbook-x86.xml
Contributeur principal : amj - Mes remerciements à Shanx, S.O.D. et Arya