Installation par chroot
De ArchwikiFR.
Dans cet article, nous allons détailler l'installation de la distribution Arch Linux à partir d'une autre distribution GNU/Linux (noyau >= 2.6.27).
Calimero a rédigé un script effectuant les étapes de cette page de wiki : install-chroot.sh
Cela ne dispense pas de la lecture du processus, bien au contraire !
Sommaire |
Pré-requis
Pour installer ArchLinux, il nous faut certaines données:
| Variable | Description | Exemple |
|---|---|---|
| install_path | Répertoire d'installation: Vous devrez monter dans ce répertoire toutes les partitions qui vont composer votre nouveau système | /mnt/newarch |
| arch | Architecture du système: (on ne peut installer qu'i686 sur un i686) | i686 ou x86_64 |
| mirror | Miroir de téléchargement: Vous pouvez avoir la liste ici | http://mir.archlinux.fr |
| pacman_mirrorlist_ver | Version actuelle de pacman-mirrorlist, à voir ici. | 20100131-1 |
Vous aurez aussi besoin d'un chroot minimal dont vous pourrez trouver une archive correspondant à votre architecture ici.
Pour information, la manière de créer cette archive est la suivante, depuis un système archlinux et en utilisant le script chroot.sh présent dans le wiki concernant le chroot:
chroot.sh chroot_archive bash pacman ls more cat env ping vi ex nano /lib/libnss* bsdtar cd chroot_archive mkdir -p etc var/log var/lib/pacman var/cache/pacman/pkg dev sys proc pacman -Sw pacman # au cas où vous ne l'auriez plus dans le cache # la commande suivante dépend bien sûr de la version et de l'architecture bsdtar xf /var/cache/pacman/pkg/pacman-3.3.3-1-x86_64.pkg.tar.gz etc/pacman.conf bsdtar -zcvf ../archlinux.chroot.x86_64.tgz *
Vous pouvez exporter des variables via cette commande, par exemple :
export install_path="/mnt/newarch"
Tout répertoire ne commençant pas par / fera référence à un répertoire à l'intérieur de $install_path
Avant de commencer, on va créer un répertoire tmp dans la nouvelle installation pour y placer certains fichiers temporaire. En se plaçant dans $install_path:
mkdir tmp chmod 1777 tmp
Création du système de base
Il nous faut télécharger l'archive ainsi que le paquet pacman-mirrorlist:
cd "$install_path"/tmp wget "$mirror/core/os/$arch/pacman-mirrorlist-$pacman_mirrorlist_ver-any.pkg.tar.gz" wget "http://mir.archlinux.fr/~tuxce/chroot/archlinux.chroot.$arch.tgz" cd .. tar zxvf tmp/pacman-mirrorlist-$pacman_mirrorlist_ver-any.pkg.tar.gz tar zxvf tmp/archlinux.chroot.$arch.tgz
Le fichier de configuration des miroirs (etc/pacman.d/mirrorlist)a toutes les lignes de commentées, il faut en dé-commenter une au minimum, par exemple:
Server = http://mir.archlinux.fr/$repo/os/i686
Préparation du chroot
Chroot signifie change root (changer de racine). C'est à dire qu'après un chroot le répertoire racine / n'est plus le même. Cela signifie aussi que le nouveau répertoire racine doit être prêt à tout points de vue pour faire fonctionner un système Linux.
Le réseau / Internet
Sur Internet, il y a ce qu'on appelle les noms de domaines. C'est un système qui permet d'associer un nom facilement compréhensible par l'humain (exemple : archlinux.fr) a une adresse IP, un numéro qui permet à l'ordinateur de retrouver son chemin (exemple : 213.186.33.2). Cette traduction se fait par des serveurs de noms, et l'adresse de ces serveurs est stockée dans le fichier /etc/resolv.conf. Il faut donc copier le fichier du système hôte vers le chroot afin de permettre aux applications du chroot de bénéficier de cette fonctionnalité :
cp /etc/resolv.conf etc/resolv.conf
Monter les systèmes de fichiers spéciaux
Linux utilise des fichiers spéciaux qui ont besoin d'être présents dans le chroot. C'est le cas des périphériques présents dans /dev ou encore de /proc. Rendons donc cela accessible au chroot :
mount -o bind /proc "$install_path"/proc mount -o bind /dev "$install_path"/dev mount -o bind /sys "$install_path"/sys
Renseigner les partitions montées
Les partitions montées sont listées dans le fichier /etc/mtab, il nous faut copier le contenu de ce dernier:
grep -v rootfs /proc/mounts > etc/mtab
Dans le chroot
Notre chroot est prêt, il faut maintenant y entrer. Cela se fait le plus simplement du monde par la commande :
chroot "$install_path" /bin/bash
Installation du système de base
pacman -Syf base
Configurer le nouveau système
Maintenant configurons le nouveau système. Cela peut vouloir dire assez peu ou beaucoup plus en fonction de ce que vous désirez. Ici, nous ne couvrirons que ce qui est nécessaire mais vous pouvez en faire plus.
Tout d'abord, on peut sortir et rentrer à nouveau dans l'environnement chroot pour avoir une prise en compte des variables d'environnement puis exécutez:
export PS1="(chroot) $PS1"
Configurer le /etc/rc.conf
Peut-être la partie centrale d'Arch Linux ;-)
Mais tout est mieux expliqué sur cette page.
Configurer les partitions
Les partitions qui seront montées doivent être configurées dans le fichier /etc/fstab. Je vous conseille de vous inspirer du fichier de votre ancien système ou de ce qui est présenté ici. Sachez que vous pouvez utiliser l'éditeur de texte nano qui a été installé. Votre fichier doit ressembler à :
# # /etc/fstab: static file system information # # <file system> <dir> <type> <options> <dump> <pass> devpts /dev/pts devpts defaults 0 0 shm /dev/shm tmpfs nodev,nosuid 0 0 /dev/sda5 swap swap defaults 0 0 /dev/sda6 / ext3 defaults 0 1 /dev/sda7 /home ext3 defaults 0 2
Faites attention à ce que les dossiers de vos points de montage existent.
Pour s'assurer que c'est le cas pour vous, vous pouvez lancer dans le chroot:
mkinitcpio -k $(ls /lib/modules) -M | grep piixSi le résultat n'est pas vide, les partitions IDE seront reconnues en /dev/sdxy
Grub
Maintenant, vous voudrez peut être installer GRUB.
Toujours dans le chroot, tentez l'installation de grub (ici, je l'installe sur la partition /, mais vous pouvez plus classiquement l'installer sur /dev/sda) :
cp /usr/lib/grub/i386-pc/* /boot/grub/ grub-install /dev/sda6
Notez que le dossier s'appelle i386-pc quelle que soit l'architecture (i686 ou x86_64)
Les utilisateurs et leurs mot de passe
Le mot de passe Root
A la suite de cette installation, le mot de passe root est normalement vide, il est préférable d'en définir un:
passwd root
L'utilisateur principal
Une page est dédié à la gestion des utilisateurs et groupes. Je vous conseille de la consulter. Si vous voulez faire simple, adaptez juste la ligne de commande suivante :
useradd -G wheel,audio,optical,storage,video,power -m nom_utilisateur passwd nom_utilisateur
Configuration de sudo
A voir ici: Installer et configurer sudo.
Configurer le reste
Voilà, votre système devrait être opérationnel, afin de finaliser, je vous invite à consulter la liste des catégories.