# Guide d’installation d’Archlinux avec GNOME (décembre 2024) Dans ce petit guide, je vais détailler l’installation d’Archlinux avec GNOME (pour les autres environnements de bureaux voir les sources ci-dessus). L’installation terminée proposera un environnement suffisamment étoffé et stable. Ce tutoriel permet d'installer une Archlinux en monoboot et dualboot avec Windows 11. Il n'y à pas de manipulations particulières à faire ci ce n'est de prévoir une partition UEFI (dédié de préférence) et d'installer Windows avant Archlinux. Pour plus d'infos voir le tuto de [Armand Philippot](https://www.armandphilippot.com/article/dual-boot-manjaro-windows-uefi=). Sources : - [Chennux](https://github.com/Chennux/arch-tuto-installation), [Fred Bezies](https://framagit.org/FredBezies/arch-tuto-installation/-/blob/master/install.md), [Cardiacman13](https://github.com/Cardiacman13/Architect/blob/main/lang/README.fr.md), [Archlinux](https://wiki.archlinux.org/title/Main_page_(Fran%C3%A7ais)). ## Préparatifs et installation de la base ### Clavier et connextion internet Pour obtenir l'iso Archlinux : https://archlinux.org/download/. Configurer le clavier en français : ``` loadkeys fr ``` Vérifier la connexion Internet : ``` ping 8.8.8.8 ``` Si besoin, pour connecter le wifi il faut utiliser iwd (iNet wireless daemon) : * https://wiki.archlinux.org/title/Network_configuration/Wireless; * https://wiki.archlinux.org/title/Iwd ``` $ iwctl ``` Obtenir le nom du terminal wifi: ``` [iwd]# device list ``` Lister les réseaux valides : ``` [iwd]# station device get-networks ``` Se connecter au réseau: ``` [iwd]# station device connect "SSID" ``` ### Partitionnement et montage des volumes Si tout est fonctionnel, nous pouvons passer au partitionnement. Celui-ci peut se faire par gParted depuis un liveCD en amont : [Gparted](http://gparted.org/download.php), [Manjaro](https://manjaro.org/download/), [Linuxmint](https://www.linuxmint.com/download.php). Il faut obligatoirement une table de partition GPT en cas d’installation en mode UEFI. Si vous n’êtes pas passé par gParted, il faut utiliser l’outil cgdisk depuis le liveCD d'Archlinux. #### Exemple de partitionnement | Référence | Point de montage | Taille | Système de fichiers | | --------- | ---------------- |----------------------------------------------------------------------------------------- | -------------------- | | /dev/*xxx* | /boot/efi | 512 Mo | fat32 | | /dev/*xxx* | / et /home | Le reste du disque (qui sera divisé en deux sous-volumes BTRFS **Note:** La partition EFI est crée en amont de l'instalation, voir [ici](https://www.armandphilippot.com/article/dual-boot-manjaro-windows-uefi=). La partition Windows est déjà crée. Attention à ne pas la modifier ou la supprimer. Ici la partition swap n'est pas envisagée. Le partitionnement suitant est à appliquer (ici en ext4) : ``` mkfs.fat -F32 /dev/xxx (ne pas executer si windows est déja installé) mkfs.btrfs /dev/xxx ``` La partition de swap si besoin : ``` mkswap /dev/xxx swapon /dev/xxx ``` #### Les points de montage ``` mount -o compress=zstd,subvol=@ /dev/xxx /mnt mkdir /mnt/{boot,boot/efi,home} mount -o compress=zstd,subvol=@home /dev/xxx /mnt/home mount /dev/xxx /mnt/boot/efi ``` ### Installation de la base #### Choix des mirroirs Après avoir procédé au partitionnement et à l’attribution des partitions, il faut récupérer la base de notre installation.
On peut configurer la liste des mirroirs avec [Reflector](https://wiki.archlinux.org/title/Reflector_(Fran%C3%A7ais)) : ``` reflector -c FR -p https -a 12 --sort rate --save /etc/pacman.d/mirrorlist ``` **Note :** Ici sont appelé les miroirs français utilisants le protocole https et mis à jour dans les 12 dernières heures. Nous les classons par rapidité et les enregistrons dans le fichier */etc/pacman.d/mirrorlist*. #### Pacstrap On passe à l’installation de la base: ``` pacstrap /mnt base linux linux-{headers,firmware} base-devel pacman-contrib man-{db,pages,pages-fr} texinfo btrfs-progs systemd-sysvcompat ``` ``` pacstrap /mnt zip unzip p7zip nano gvim mc syslog-ng mtools dosfstools lsb-release ntfs-3g exfatprogs bash-completion ntp cronie ``` **Note :** Si on veut utiliser un noyau atlernatif (ex : linux-lts, linux-zen) il faut remplacer le paquet *linux* par *linux-lts* et *linux-headers* par *linux-lts-headers*. Pour ntfs-3g, c’est utile si vous êtes amené à utiliser des disques formatés en ntfs.
Si vous êtes sur un pc portable, l’ajout de [tlp](https://wiki.archlinux.org/index.php/TLP) est conseillé pour améliorer l’autonomie de la batterie. Si vous désirez rajouter le support des microcodes pour votre processeur, il vous suffira de rajouter soit le paquet amd-ucode (pour AMD) ou intel-ucode (pour Intel). Grub détectera leur présence automatiquement. ### Premières configurations #### Fichier fstab Maintenant que les outils de base sont installés, il faut générer le fichier /etc/fstab qui liste les partitions présentes : ``` genfstab -U /mnt >> /mnt/etc/fstab ``` #### Réglages de l'OS ``` arch-chroot /mnt ``` Les valeurs linguistiques de l'OS pour les pays francophones comme la France, la Belgique, la Suisse, le Luxembourg ou encore le Canada francophone : | Pays | Locale (LANG) | Clavier (KEYMAP) | |------------|---------------|------------------| | Belgique | fr\_BE.UTF-8 | be-latin1 | | Canada | fr\_CA.UTF-8 | cf | | France | fr\_FR.UTF-8 | fr-latin9 | | Luxembourg | fr\_LU.UTF-8 | fr-latin9 | | Suisse | fr\_CH.UTF-8 | fr\_CH-latin1 | **Note :** ici on choisi les faleurs pour la France. Clavier en mode texte, créez le fichier */etc/vconsole.conf* : ``` KEYMAP=fr-latin9 FONT=eurlatgr ``` Localisation française, le fichier */etc/locale.conf* : ``` LANG=fr_FR.UTF-8 LC_COLLATE=C ``` **Note :** La deuxième ligne est nécessaire si on apprécie d’avoir le tri par la « casse » (majuscule puis minuscule) activé. Merci à Igor Milhit pour la remarque ! **Note :** Il faut vérifier que les lignes *fr\_FR.UTF-8 UTF-8* et *en\_US.UTF-8 UTF-8* dans le fichier */etc/locale.gen* n’ont pas de \# devant elles : Générer les traductions : ``` locale-gen ``` Spécifier la locale pour la session courante : ``` export LANG=fr_FR.UTF-8 ``` Donner un nom à la machine dans le ficher */etc/hostname*. Taper le nom sur la première ligne. Régler le fuseau horaire (ici Paris). Créer un lien symbolique : ``` ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime ``` Ensuite, deux cas se présentent. Soit on a une machine en mono-démarrage sur Archlinux, et on peut demander à ce que l’heure appliquée soit UTC, soit un double démarrage avec MS-Windows. Restons dans ce premier cas. ``` hwclock --systohc --utc ``` **Sinon, on ne touche à rien. MS-Windows est un goujat dans ce domaine.** #### Générer l'image du noyau. ``` mkinitcpio -p linux ``` **Note :** ou *linux-lts* si vous voulez le noyau lts. **Note :** si vous avez une « hurlante » contenant « /run/lvm/lvmetad.socket: connect failed » ou quelque chose d’approchant, ce n’est pas un bug. C’est une alerte sans conséquence. Cf : #### Grub, le chargeur de démarrage ``` pacman -Syy grub os-prober efibootmgr ``` ``` mount | grep efivars &> /dev/null || mount -t efivarfs efivarfs /sys/firmware/efi/efivars ``` **Note :** cette ligne permet de vérifier un point de montage et de l’activer au besoin. ``` grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck ``` **Note :** cette ligne installe Grub. Pour éviter tout problème de démarrage par la suite (spécialement dans VirtualBox), il est conseillé de rajouter les commandes suivantes : ``` mkdir /boot/efi/EFI/boot ``` ``` cp /boot/efi/EFI/arch_grub/grubx64.efi /boot/efi/EFI/boot/bootx64.efi ``` Après avoir généré l'image noyau et installé grub, il faut passer au fichier de configuration du lanceur : ``` grub-mkconfig -o /boot/grub/grub.cfg ``` **Note :** en cas de double démarrage avec une autre distribution GNU/Linux déjà installée, il n'est pas indispensable d'installer de bootloader sous Archlinux. Il suffit de faire une commande comme update-grub dans la distribution installée en parallèle d'Archlinux. Bien entendu, aucune erreur ne doit apparaître. #### Saisie du mot de passe root ``` passwd ``` #### Réseau Installer et activer NetworkManager : ``` pacman -S networkmanager ``` ``` systemctl enable NetworkManager ``` Installer et activer le bluetooth : ``` pacman -S bluez bluez-utils bluez-plugins ``` ``` systemctl enable --now bluetooth.service ``` **NOTE 1 :** pour utiliser NetworkManager avant d'y avoir accès graphiquement : https://wiki.archlinux.org/title/Netctl_(Fran%C3%A7ais) #### Configuration de *pacman.conf* ``` UseSyslog Color CheckSpace VerbosePkgLists ParallelDownloads = 5 ILoveCandy ``` #### Quitter et redémarrer ``` exit umount -R /mnt reboot ``` **Note :** éjecter le support d’installation pour éviter des problèmes au démarrage suivant. ## Installation de l'environnement graphique #### Connecter NetworkManager Il y a des étapes communes à tous les environnements. Une fois le système redémarré, on se connecte **en root**. NetworkManager étant déja installé le réseau fonctionne. Pour le wifi : ``` nmcli device wifi list ``` ``` nmcli device wifi connect SSID_or_BSSID password password ``` #### Logs en clair Si on veut avoir les logs en clair en cas de problème, il faut modifier le fichier */etc/systemd/journald.conf* en remplaçant la ligne : ***#ForwardToSyslog=no*** par ***ForwardToSyslog=yes*** #### Installer les greffons gstreamer Les greffons gstreamer donneront accès aux fichiers multimédias une fois Gnome lancé : ``` pacman -S gst-plugins-{base,good,bad,ugly} gst-libav ``` #### Installer Xorg ``` pacman -S xorg-{server,xinit,apps} xdg-user-dirs ``` **Note :** pour le pavé tactile de certains ordinateurs portables -> *xf86-input-synaptics*. #### Pilotes graphiques Ici la liste des pilotes disponibles selon les cartes graphiques : * https://wiki.archlinux.org/index.php/Xorg#Driver_installation Il est recommandé dans la plupart des cas de n'installer aucun pilote pour les cartes graphiques Intel: * https://wiki.archlinux.org/index.php/Intel_graphics#Installation Sinon : ``` pacman -S mesa ``` #### Installer les polices ``` pacman -S ttf-{bitstream-vera,liberation,dejavu,carlito,caladea} gnu-free-fonts freetype2 noto-fonts{,-extra,-cjk,-emoji} ``` **Note :** pour les polices Microsoft, le paquet *ttf-ms-fonts* est dans l'AUR #### Installer les pilotes d'impression ``` sudo pacman -S --needed ghostscript gsfonts cups cups-filters cups-pdf system-config-printer avahi ``` ``` sudo pacman -S --needed foomatic-db-engine foomatic-db foomatic-db-ppds foomatic-db-nonfree foomatic-db-nonfree-ppds gutenprint foomatic-db-gutenprint-ppds ``` #### Installer les premiers logiciels ``` pacman -S firefox firefox-i18n-fr thunderbird-i18n-fr libreoffice-still libreoffice-still-fr hunspell hunspell-fr gimp gimp-help-fr inkscape scribus sane vlc gnome-disk-utility neofetch fastfetch glances htop nmon screenfetch lm_sensors nvtop ncdu keepassxc shotwell rhythmbox ``` #### Créer un utilisateur classique (et son mot de passe) et Configurer visudo ``` useradd -m -g wheel -c 'Nom complet de l’utilisateur' -s /bin/bash nom-de-l’utilisateur ``` ``` passwd nom-de-l’utilisateur ``` On va configurer sudo en utilisant visudo qui modifie */etc/sudoers*.Penser à préciser l'éditeur souhaité en exécutant la commande : ``` EDITOR="nano" visudo ``` Il faut aller au bas du fichiers et décommenter la ligne qui suit ***"# Uncomment to allow members of group wheel to execute any command"*** : ``` ## Uncomment to allow members of group wheel to execute any command │ %wheel ALL=(ALL:ALL) ALL ``` #### Installer YaY ``` sudo pacman -S git ``` ``` git clone https://aur.archlinux.org/yay cd yay makepkg -sri ``` #### Activer les services Pour être certain d’avoir le bon clavier au démarrage de GDM : ``` sudo localectl set-x11-keymap fr ``` Pour les services : ``` sudo systemctl enable syslog-ng@default → *gestion des fichiers d’enregistrement d’activité* sudo systemctl enable cronie → *pour les tâches récurrentes* sudo systemctl enable avahi-{daemon,dnsconfd} → *dépendances de Cups* sudo systemctl enable cups → *cups pour les imprimantes* sudo systemctl enable ntpd → *pour synchroniser l’heure en réseau.* sudo systemctl enable systemd-oomd → *tue automatiquement les processus trop gourmands* sudo systemctl enable fstrim.timer → *optimisations pour les SSD (inutile sur les HDD)* ``` ``` exit ``` ## Installation de Gnome * https://wiki.archlinux.org/title/GNOME Installer les paquets de GNOME. Le paquet telepathy permet d’ajouter le maximum de support pour les comptes utilisateurs en ligne. ``` sudo pacman -S gnome system-config-printer telepathy unoconv mtpfs ``` Ensuite, on lance GDM : ``` sudo systemctl start gdm.service ``` Si tout se passe bien : on l'active au démarrage. ``` sudo systemctl enable gdm.service ``` Il faut penser à vérifier que le clavier est correctement configuré. Ce qui se fait dans menu système unifié, paramètres. La distrubution Archlinux avec l'environnement de bureau Gnome est maintenant installée et fonctionnelle.