Dans cet article, nous allons détailler l'installation de la distribution ArchLinux à partir d'une autre distribution GNU/Linux (noyau >= 2.6.20).
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 !
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 | Mirroir 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 copie_chroot présent dans le wiki concernant le chroot:
copie_chroot 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"
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
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-$arch.pkg.tar.gz" wget "http://mir.archlinux.fr/~tuxce/chroot/archlinux.chroot.$arch.tgz" cd .. tar zxvf tmp/pacman-mirrorlist-$pacman_mirrorlist_ver-$arch.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
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.
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
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
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
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
pacman -Syf base
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"
Peut-être la partie centrale d'Arch Linux ![]()
Mais tout est mieux expliqué sur cette page.
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> none /dev/pts devpts defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/cdrom /media/cd iso9660 ro,user,noauto,unhide 0 0 /dev/dvd /media/dvd udf ro,user,noauto,unhide 0 0 /dev/fd0 /media/fl vfat user,noauto 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.
mkinitcpio -k $(ls /lib/modules) -M | grep piix
Si le résultat n'est pas vide, les partitions IDE seront reconnues en /dev/sdxy
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)
Vous pouvez vous référer à la page Installation du chargeur de démarrage.
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
Un article est dédié à la création d'utilisateurs et détaille les différents groupes du système. Je vous conseille de le 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
A voir ici: Installer et configurer sudo.
Voilà, votre système devrait être opérationnel, afin de finaliser, je vous invite à consulter l'accueil.
Pour exécuter des applications 32 bits sur un système Arch 64 bits, il y a 2 solutions :
bin32-wine pour pouvoir utiliser le wine version 32 bits (et qui dépend de toute une clique de bibliothèque nommée lib32-* à commencer par lib32-glibc…)L’inconvénient de cette solution, c’est que ce n’est pas officiellement supporté par la communauté ArchLinux (community/AUR uniquement) ;
L’installation de l’environnement est certes un peu plus compliquée, mais l’avantage est qu’il y a une nette séparation avec le système Arch 64 bits et vous pourrez utiliser les paquets i686 de manière transparente.