Install Arch Linux from existing Linux (Français)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale.pngCet article ou section a besoin d'être traduit(e).Tango-preferences-desktop-locale.png

Notes: Cet article ne respecte pas la structure de sa version anglophone, merci de le réécrire en conséquence. Vous pouvez aussi ajouter à la version anglophone les informations à-jour et dignes d’intérêt qui ne seraient portées que par la version francophone. Voir Archwiki:Translation_Team_(Français) (Discuss in Talk:Install Arch Linux from existing Linux (Français)#)

Cette page couvre l'installation d'un système Arch de base depuis une distribution linux existante. On suppose que les partitions ont été créées et formatées.

Pré-requis

Le principal ingrédient pour installer Arch depuis un autre système est pacman, donc soit vous installez depuis un système Arch Linux soit, il vous faut un système Arch minimal. Si vous êtes dans le 2ème cas, vous pouvez utiliser une de ces archives chroot (un noyau >= 2.6.32 est requis) selon l'architecture utilisée.

Pour les besoins de la page, initialisez ces 3 variables :

ARCH_MINI=
ARCH_SYS=
ARCHI=$(uname -m) # x86_64

Préparation du système minimal

Note: Si vous installez depuis un système Arch, vous pouvez sauter cette section et passer directement à la préparation du système à installer.

Il faut créer un dossier où vous allez décompresser le système de base. On va utiliser une variable pour garder le chemin :

mkdir /root/tmp_arch
ARCH_MINI="$HOME/tmp_arch"
ARCHI=$(uname -m)
mkdir "$ARCH_MINI"
cd "$ARCH_MINI"
curl -O http://mir.archlinux.fr/~tuxce/chroot/archlinux.chroot.$ARCHI.tgz --output archlinux.chroot.$ARCHI.tgz
tar zxf archlinux.chroot.$ARCHI.tgz

Installer Arch nécessite d'avoir du réseau. Donnez la possibilité d'accéder au DNS :

cp /etc/resolv.conf "$ARCH_MINI/etc/"

Montez les systèmes de fichiers spéciaux :

mount -B /proc "$ARCH_MINI/proc"
mount -B /dev "$ARCH_MINI/dev"
mount -B /sys "$ARCH_MINI/sys"
mount -B /dev/pts "$ARCH_MINI/dev/pts"

Préparation du système à installer

On va utiliser le dossier mnt pour y monter les partitions du système qu'on va installer :

ARCH_SYS="$ARCH_MINI/mnt"

Montez la partition racine (pour l'exemple, prenons /dev/sda5) :

mount /dev/<nom_du_device> "$ARCH_SYS"
Astuce: Dans le cas de l'installation sur un disque SSD on pourra utiliser mount -o noatime,discard /dev/<nom_du_device> "$ARCH_SYS"

Créez-y les dossiers nécessaires :

mkdir -p "$ARCH_SYS"/var/{cache/pacman/pkg,lib/pacman} "$ARCH_SYS"/{dev,proc,sys,run,tmp,etc,boot,root}
chmod 0750 $ARCH_SYS/root
chmod 1777 $ARCH_SYS/tmp
chmod 0555 $ARCH_SYS/proc $ARCH_SYS/sys

Montez les systèmes de fichiers spéciaux :

mount -B /proc "$ARCH_SYS/proc"
mount -B /dev "$ARCH_SYS/dev"
mount -B /sys "$ARCH_SYS/sys"
Attention: Si vous avez d'autres partitions (/boot, /home, …), pensez à les monter dans $ARCH_SYS.

Pour pouvoir s'y retrouver par la suite, on va modifier le prompt du root :

echo 'PS1="(installation) \w \\$ "' > "$ARCH_SYS/root/.bashrc"

Installation

Si vous n'installez pas depuis un système Arch Linux, entrez dans le chroot minimal :

chroot "$ARCH_MINI" /bin/bash

Vous devriez avoir comme prompt :

(Arch mini) / #

Lancez l'installation du groupe base ainsi que d'un chargeur d'amorçage (nous prendrons syslinux pour l'exemple) :

 pacman -r /mnt --cachedir /mnt/var/cache/pacman/pkg -Sy base syslinux
Attention: L'installation par pacman ne configurera pas pacman keyring ni liste des miroirs, pour cela il faut préférer l'utilisation du script pacstrap obtenu par l'installation préalable des arch-install-scripts:
pacstrap /mnt base syslinux
Astuce: en cas d'utilisation d'un émulateur de terminal non-compatible « xterm » (tel que urxvt, st, installer le-dit émulateur dans $ARCH_SYS pour éviter des artefacts (à l'utilisation de vi, ou en supprimant des caractères lors de la saisie de ligne de commande)

Sortez du chroot minimal :

(Arch mini) / # exit

On peut démonter les systèmes de fichiers spéciaux du système minimal :

umount "$ARCH_MINI/"{dev/pts,dev,proc,sys}

Configuration

La configuration se fait depuis le nouveau système qui devrait normalement avoir comme prompt :

# chroot "$ARCH_SYS" /bin/bash
 (installation) / #
Attention: Ne vous mélangez pas dans les chroot, chacun a normalement son propre prompt!

Cette page ne couvrant le nécessaire pour avoir un système bootable, veuillez vous référer aux différentes pages wiki disponibles par ailleurs.

  • Renseignez les partitions composant votre nouveau système dans le /etc/fstab, exemple :
/etc/fstab

tmpfs		/tmp	tmpfs	nodev,nosuid	0	0

UUID=[…] swap swap defaults 0 0
UUID=[…] / ext4 defaults 0 1
UUID=[…] /home ext4 defaults 0 1

Vous pouvez obtenir les UUID en lançant blkid.

  • Éditez le fichier /etc/vconsole.conf afin d'y spécifier la disposition du clavier que vous souhaitez utiliser.
    KEYMAP=fr-pc
  • Créez un lien symbolique /etc/localtime afin de choisir votre fuseau horaire, par exemple:
    ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
Attention: Si vous ne voulez pas écraser le chargeur d'amorçage de votre ancienne distribution; modifiez plutôt le fichier de configuration de ce dernier. Les fichiers correspondant au noyau et à l'initramfs sont respectivement /boot/vmlinuz-linux et /boot/initramfs-linux

Pour l'exemple, nous avons choisi syslinux, il suffit d'éditer /boot/syslinux/syslinux.cfg et de vérifier si root pointe bien vers la bonne partition puis, pour une installation sur le MBR, lancez :

syslinux-install_update -iam
  • Définissez un mot passe pour le root :
    passwd

Avec ceci, votre système devrait être opérationnel, vous pourrez redémarrer dessus.

Suite

Si vous n'avez pas utilisé le script pacstrap dans la section installation il vous faut configurer la liste des miroirs ainsi que pacman keyring.

  • Editez le fichier /etc/pacman.d/mirrorlist et décommentez les serveurs correspondants à votre région:

Example :

# Any
# Server = ftp://mirrors.kernel.org/archlinux/$repo/os/$arch
Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch
  • Puis initialisez pacman keyring :
pacman-key --init
pacman-key --populate archlinux

Afin de finaliser l'installation, je vous invite à consulter la liste des catégories.

Suite à l’installation, il se peut que vous rencontriez un problème avec pacman et les certificats, pour le régler et avoir un système pleinement opérationnel installer simplement le package ca-certificates-utils

pacman -S ca-certificates
pacman -S ca-certificates-utils