Installer debian avec debootstrap
Rédigé par Xavier - -
Ça vient peut-être de moi, mais je trouve que l'installeur de Debian Squeeze (encore en testing) est assez buggué et ne fonctionne pas sur certaines machines. Ma machine de bureau, équipée d'un Core i7, devait servir d'hôte pour Xen, à l'aide de Debian, mais malgré l'utilisation de 4 CD-RW différents je n'ai jamais pu l'installer.

Heureusement je disposais d'un petit Archlinux déjà installé, et je me suis dit qu'il était suremment possible d'installer Debian à partir de là. Après quelques minutes de recherche, j'ai fini par trouver debootstrap. C'est un outil permettant d'installer des distributions Linux basées sur Debian de manière simple. Évidemment on peut aussi le faire à la manière d'une Gentoo, mais pourquoi se compliquer la vie? Bref j'ai concocté un petit tutoriel pour ceux qui seraient dans le même cas que moi.
Logiciels
- Debootstrap
- fdisk, mkfs, gparted
Compétences
- Maitrise du partitionnement sur Linux
- Maitrise des points de montage, du fichier fstab
- Savoir configurer grub
Le plan
Dans mon cas, je voulais faire l'installation sur le disque sdb (mon premier disque est réservé à Windows). Les partitions sont logiques. La première est une type swap qui sera partagée par tous. Ensuite chaque système dispose d'une partition racine et une partition home. Voici ce que nous voulons obtenir à la fin:

Archlinux
Dans mon exemple j'utilise archlinux, mais ça marche avec n'importe quelle distribution pourvu qu'elle propose debootstrap! Dans le cas de archlinux, vous pouvez trouver ce logiciel dans AUR (avec Yaourt).
Partitionnement
Avec l'outil fdisk en lignes de commandes, ou gparted en interface graphique, créez deux nouvelles partitions sur votre disque. Une partition de 6GB, et une autre de 28GB ou plus. Formattez-les en ext3 (soit avec mkfs -t ext3 /dev/sdbX en lignes de commandes, ou avec gparted). Ensuite montez la première partition créée sur un répertoire, par exemple /debian-root. Dans l'exemple:
# mkdir /debian-root # mount /dev/sdb8 /debian-root
Debootstrap
L'outil contient des procédures d'installation prédéfinies. Il suffit de lui indiquer quelle distribution on veut, et il se charge d'aller chercher les paquets sur internet. Dans notre cas, nous voulons debian Squeeze 64bits et nous voulons l'installer dans la partition sdb8 montée dans /debian-root. La commande à entrer est:
# debootstrap --arch=amd64 squeeze /debian-root http://ftp.fr.debian.org/debian/
Après quelques minutes vous devriez avoir un système presque complet dans /debian-root.
Configuration
Dans l'état, ce système n'est ni bootable ni exploitable. Nous allons rentrer dedans en chroot pour pouvoir faire des modifications:
# mount -t proc none /debian-root/proc # mount -o bind /dev /debian-root/dev # chroot /debian-root /bin/bash
Nous allons commencer par passer le tout en français et le clavier en azerty. Il faut installer quelques paquets:
# apt-get update # apt-get install locales console-data
Le paquet console-data vous demandera si il faut changer la disposition du clavier. Choisissez la dernière option (choix à partir de la liste complète) puis validez "PC/Azerty/Latin9" (ou quelque chose qui y ressemble). Entrez ensuite la commande:
# dpkg-reconfigure locales
Et allez cochez tout ce qui se rapporte au FR. Pour la locale par défaut (demandé après) sélectionnez UTF8.
Ensuite il est temps d'installer un kernel, car par défaut il n'y en a pas. Nous avons installé un système 64bits, il faut donc mettre un kernel amd64:
# apt-get install linux-image-2.6-amd64
Il n'y a pas de mot de passe root non plus, il faut en créer un:
# passwd
Nous devons ensuite créer un fichier fstab pour indiquer les partitions à monter au démarrage.
# nano /etc/fstab
Dans mon cas, j'ai mis:
/dev/sdb5 none swap sw 0 0 /dev/sdb8 / ext3 defaults 0 1 /dev/sdb9 /home ext3 defaults 0 2
Configurons ensuite le nom d'hôte. Il faut créer un fichier /etc/hostname et le rentrer:
# nano /etc/hostname
Dans ce fichier placez un nom, par ex:
DebianHost
Configurons maintenant le réseau. Il faut activer le loopback et renseigner son adresse IP dans le fichier /etc/hosts.
# nano /etc/network/interfaces
Puis entrez:
auto lo iface lo inet loopback
Bien sûr ajoutez des informations relatives à votre réseau si vous voulez (j'ai mis des paramètres pour eth0, par exemple). Ensuite créez un fichier hosts:
# nano /etc/hosts
Et ajoutez:
127.0.0.1 localhost
Et pour finir, ajoutons un utilisateur. Par exemple, si vous voulez l'appeller "Xavier":
# useradd -m -G users,audio,lp,optical,storage,video,wheel,power -s /bin/bash xavier
Configuration de grub
Personnellement j'ai utilisé le Grub que Archlinux avait installé (donc tapez 'exit' pour sortir du chroot!). Dans /boot/grub/menu.lst j'ai ajouté:
title Debian root (hd1,7) kernel /boot/vmlinuz-2.6.32-3-amd64 root=/dev/sdb8 initrd /boot/initrd.img-2.6.32-3-amd64
Essais
Rebootez la machine, et le grub doit afficher une nouvelle entrée pour Debian. Si tout s'est bien passé, cela doit booter!