Installation d'une Debian (powerpc) à partir de debootstrap
Par olivier le mercredi 14 mars 2012, 18:17 - Documentation - #
Dans cet article, nous allons voir comment installer la distribution Debian à partir de l'utilitaire debootstrap. Pour corser le tout, le partitionnement se fera en LVM.
Les prérequis
Note
[1] C'est beaucoup plus souple, que l'installateur de Debian.
Avant le chroot
On doit changer la disposition du clavier, on peut utiliser azerty ou mac-macbook-fr. Avec ce dernier les touches #
@ et ><
sont inversées.
# loadkeys azerty
Il faut également vérifier la date et l'heure.
Le partitionnement
Comme j'utilise une architecture powerpc, on doit utiliser mac-fdisk
.
# mac-fdisk /dev/sda
On ré-initialise la table des partitions (et supprime les anciennes) avec la touche i.
Puis on crée la partition de bootstrap
, touche b.
Les autres partitions s'obtiennent à l'aide de la touche c (c minuscule).
À la fin, l'ensemble des partitions devraient ressembler à ceci :
Command (? for help): p /dev/sda # type name length base ( size ) system /dev/sda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map /dev/sda2 Apple_Bootstrap bootstrap 1600 @ 64 (800.0k) NewWorld bootblock /dev/sda3 Apple_UNIX_SVR2 root 12582912 @ 1664 ( 6.0G) Linux native /dev/sda4 Apple_UNIX_SVR2 debian 104625664 @ 12584576 ( 49.9G) Linux native Block size=512, Number of Blocks=117210240 DeviceType=0x0, DeviceId=0x0 Command (? for help):
/dev/sda3
correspond à la racine, il s'agit d'une partition classique contrairement à /dev/sda4
[1], qui sera plus tard partagée pour contenir les autres partitions (swap
, /usr
, et /home
).
On peut passer maintenant à création des volumes logiques.
On commence tout d'abord à définir le groupe de volumes, dans mon cas, il s'appellera vg.
# pvcreate /dev/sda4 # vgcreate vg /dev/sda4
Puis on s'attaque aux volumes logiques (swap
, /usr
, et /home
).
# lvcreate -L 26G -n usr vg # lvcreate -L 1G -n swap vg # lvcreate -L 22G -n home vg
Pour connaître la taille restante à chaque création d'un volume logique, vgdisplay -v
.
# vgdisplay -v --- Volume group --- VG Name vg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 3 Open LV 3 Max PV 0 Cur PV 1 Act PV 1 VG Size 49,89 GiB PE Size 4,00 MiB Total PE 12771 Alloc PE / Size 12544 / 49,00 GiB Free PE / Size 227 / 908,00 MiB VG UUID SPr7Al-fSuy-hzIQ-0FW7-LqDp-EdY5-L0n4aZ --- Logical volume --- LV Name /dev/vg/usr VG Name vg LV UUID FIu2e0-sQ4T-9Xs0-G0st-9JWc-lttG-35M0sN LV Write Access read/write LV Status available # open 1 LV Size 26,00 GiB Current LE 6656 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:0 --- Logical volume --- LV Name /dev/vg/swap VG Name vg LV UUID gaDsGT-7ixO-JiQ6-5wwc-EpML-dHTE-YZgU3y LV Write Access read/write LV Status available # open 2 LV Size 1,00 GiB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:1 --- Logical volume --- LV Name /dev/vg/home VG Name vg LV UUID S5otQi-JHK3-w2lY-3CvK-3Ouj-rnz7-hICLpP LV Write Access read/write LV Status available # open 1 LV Size 22,00 GiB Current LE 5632 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:2 --- Physical volumes --- PV Name /dev/sda4 PV UUID veFlfm-ztC3-7UBK-Fnn1-fg1p-QS6B-ZoO0f3 PV Status allocatable Total PE / Free PE 12771 / 227
Le formatage
Dans cette étape, nous allons mettre en place le système de fichiers (ext4 dans mon cas).
swap
# mkswap -L swap /dev/vg/swap [...] # swapon /dev/vg/swap
- La racine,
/
# mkfs.ext4 -L root /dev/sda3 [...] # tune2fs -c 40 -L root /dev/sda3
/usr
# mkfs.ext4 -L usr /dev/vg/usr [...] # tune2fs -c 50 -L usr /dev/vg/usr
/home
# mkfs.ext4 -L home /dev/vg/home [...] # tune2fs -c 50 -L home /dev/vg/home
Montage temporaire du système
On va monter les partitions /
et /usr
dans le point de montage /mnt
du live CD.
# mkdir /mnt/debian # mount /dev/sda3 /mnt/debian # mkdir /mnt/debian/usr # mount /dev/vg/usr /mnt/debian/usr
Debootstrap
On va maintenant installer un système minimal dans /mnt/debian
. Il faut choisir une branche, stable, testing, ou unstable. J'ai opté pour testing.
# debootstrap --arch powerpc testing /mnt/debian http://ftp.fr.debian.org/debian/
Configuration part. 1
On peut commencer à configurer notre système.
Nous sommes encore dans la session du live CD, donc je mentionne le chemin complet des fichiers. Si vous faites les modifications dans le chroot, /mnt/debian
n'existe pas.
Le réseau
# cp -L /etc/resolv.conf /mnt/debian/etc
Modification des fichiers :
/mnt/debian/etc/hostname
, contient le nom de l'ordinateur/mnt/debian/etc/hosts
/mnt/debian/etc/network/interfaces
, pour être connecté automatiquement par DHCP, on rajoute ces lignes :
[...] auto eth0 iface eth0 inet dhcp
Le sources.list
On peut rajouter des dépôts, voici le mien (en testing).
deb http://ftp.fr.debian.org/debian testing main contrib non-free deb http://security.debian.org/ testing/updates main contrib non-free ## multimedia deb ftp://ftp.igh.cnrs.fr/pub/debian-multimedia testing main non-free
"aptitude"
J'ai modifié certaines caractéristiques de aptitude
, j'ai donc créé le fichier, /mnt/debian/etc/apt/apt.conf.d/00perso.conf
. Je me suis inspiré de cette page.
Aptitude::Install-Recommends "false"; Aptitude::Keep-Suggests "false"; Aptitude::CmdLine::Show-Deps "true"; Aptitude::CmdLine::Show-Versions "true";
Note : Les deux premières lignes n'ont pas l'air de bien fonctionné.
On va monter les autres points de montage indispensable.
# mount -t proc none /mnt/debian/proc # mount -o bind /sys /mnt/debian/sys # mount -o bind /dev /mnt/debian/dev # mount -o bind /dev/pts /mnt/debian/dev/pts
On peut désormais lancer la commande chroot
.
Dans le chroot
# chroot /mnt/debian /bin/bash
Nous sommes maintenant à la racine de notre futur système. On va terminer la configuration.
Mise à jour
Comme nous avons modifié le fichier /etc/apt/sources.list
, il rafraîchir la base de données.
chroot # aptitude update
La mise à jour ne va pas s'effectuée, car il nous manque les clés du dépôt multimédia.
chroot # aptitude search debian-multimedia p debian-multimedia-keyring - GnuPG archive key of the debian-multimedia chroot # chroot # aptitude install install debian-multimedia-keyring [...] chroot # aptitude update
Paquets supplémentaires (facultatif)
chroot # aptitude install lvm2 less
lvm2 est indispensable car le disque est partitionné en volume logique.
Francisation
chroot # aptitude install unicode locales
Pour l'instant les seules locales présentent sont :
chroot # locale -a C C.UTF-8 POSIX chroot #
Nous allons rajouté le français.
chroot # localedef -c -f UTF-8 -i fr_FR fr_FR.UTF-8 chroot # locale -a C C.UTF-8 fr_FR.utf8 POSIX chroot #
On va générer le fichier /etc/default/locale
chroot # update-locale LANG=fr_FR.utf8 chroot # source /etc/default/locale
Les messages sont maintenant traduits en français.
chroot # aptitude install console-setup console-data [...] chroot # dpkg-reconfigure console-setup (on choisit UTF8) chroot # dpkg-reconfigure console-data (on prend les valeurs par défaut)
Note : Sur mon ordinateur, après un reboot les valeurs définies par console-data ne sont pas gardées en mémoire.
Le fichier /etc/fstab
On va utilisé les UUID.
chroot # blkid > /etc/fstab
Vous trouverez le mien en annexe. Si vous le parcourez, vous constaterez que le répertoire /tmp
est monté en RAM.
On monte les autres partitions, que l'on a défini.
chroot # mount -a
Installation du noyau
chroot # aptitude search linux-image
Il faut en choisir un, dans la liste. On peut également rajouter firmware-linux-nonfree.
Installation du chargeur d'amorçage
Comme je suis sur une architecture powerpc, dite de nouvelle génération, il faut installer yaboot.
chroot # aptitude install yaboot [...] chroot # yabootconfig
On répond à la question, et on peut vérifier le contenu du fichier /etc/yaboot.conf
.
Taskel
chroot # aptitude install tasksel [...] chroot # tasksel
J'ai pour ma part sélectionné laptop (j'ai eut des erreurs avec desktop).
Configuration de l'utilisateur root
Je définis le shell et un mot de passe.
chroot # chsh -s /bin/bash chroot # passwd
Voilà l'installation est terminée, on peut sortir du chroot, démonter les partitions et redémarrer l'ordinateur.
On peut finaliser notre installation, en ajoutant les paquets pour le serveur X, et un gestionnaire de bureau.
Un aperçu du bureau, une fois terminé.
Note
[1] Sur les architectures x86, il faut penser à changer le type.