Aller au contenu

Installer Rocky Linux 9.x Minimal avec une seule connexion Wi-Fi

Wi-Fi

Rocky Linux 9 s'installe très bien sur les ordinateurs portables dotés d'une seule carte Wi-Fi. Le problème, c'est que si vous optez pour une installation minimale, vous n'aurez pas de réseau après le redémarrage, étant donné qu'il vous manque une poignée de composants pour gérer la connexion sans fil. Dans ce cas de figure, il suffit d'installer les paquets manquants à la main depuis le support d'installation.

Dans l'exemple ci-dessous, j'installe un système Rocky Linux 9 minimal sur un ordinateur portable Dell XPS 13 sans carte réseau filaire.

Configuration du réseau dans l'installateur

L'installateur n'affiche que la seule carte Wi-Fi. Je clique sur Sélectionner un réseau :

Rocky Linux 9.x Wi-Fi

Une fois que j'ai sélectionné le réseau Wi-Fi et que j'ai saisi le mot de passe, j'obtiens une adresse IP :

Rocky Linux 9.x Wi-Fi

Saisie du mot de passe Wi-Fi

L'installateur n'offre pas la possibilité d'afficher le mot de passe Wi-Fi en clair. Il faut donc être particulièrement vigilant lors de la saisie.

Démarrage initial

Si j'installe un système minimal sans interface graphique, je n'aurai pas de connexion Internet au premier redémarrage :

# nmcli con show
NAME        UUID                                  TYPE      DEVICE
lo          2e587469-cf0f-4676-aa46-ac665105a3aa  loopback  lo
microlinux  0bcc6b2d-6893-4390-b4e1-42ea4678cae3  wifi      --

Ce dysfonctionnement apparent tient au fait que le profil par défaut de l'installation minimale ne contient pas le paquet NetworkManager-wifi qui permettrait de se connecter sans fil :

# rpm -qa | grep NetworkManager | sort
NetworkManager-1.46.0-4.el9_4.x86_64
NetworkManager-libnm-1.46.0-4.el9_4.x86_64
NetworkManager-team-1.46.0-4.el9_4.x86_64
NetworkManager-tui-1.46.0-4.el9_4.x86_64

Nous nous retrouvons piégés dans un cercle vicieux :

  • L'installation de NetworkManager-wifi avec dnf nécessite une connexion Internet.

  • Pas de connexion Internet sans NetworkManager-wifi.

Pour rompre ce cercle vicieux, nous allons monter la clé USB d'installation et installer NetworkManager-wifi à la main en utilisant le bon vieux gestionnaire de paquets bas niveau RPM (RedHat Package Manager).

Monter le support d'installation

Affichez d'abord les périphériques de type bloc :

# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 223.6G  0 disk
├─sda1        8:1    0   600M  0 part /boot/efi
├─sda2        8:2    0     1G  0 part /boot
└─sda3        8:3    0   222G  0 part
  ├─rl-root 253:0    0    70G  0 lvm  /
  ├─rl-swap 253:1    0   7.7G  0 lvm  [SWAP]
  └─rl-home 253:2    0 144.3G  0 lvm  /home
nvme0n1     259:0    0 476.9G  0 disk
├─nvme0n1p1 259:1    0   200M  0 part
├─nvme0n1p2 259:2    0   500M  0 part
├─nvme0n1p3 259:3    0    16G  0 part
└─nvme0n1p4 259:4    0 460.3G  0 part

Je branche la clé USB, j'attends quelques secondes, je réitère la commande et j'identifie ma clé USB en tant que /dev/sdb avec une partition /dev/sdb1 qui contient le système d'installation :

# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 223.6G  0 disk
├─sda1        8:1    0   600M  0 part /boot/efi
├─sda2        8:2    0     1G  0 part /boot
└─sda3        8:3    0   222G  0 part
  ├─rl-root 253:0    0    70G  0 lvm  /
  ├─rl-swap 253:1    0   7.7G  0 lvm  [SWAP]
  └─rl-home 253:2    0 144.3G  0 lvm  /home
sdb           8:16   1   7.2G  0 disk
├─sdb1        8:17   1   1.7G  0 part
└─sdb2        8:18   1   6.9M  0 part
nvme0n1     259:0    0 476.9G  0 disk
├─nvme0n1p1 259:1    0   200M  0 part
├─nvme0n1p2 259:2    0   500M  0 part
├─nvme0n1p3 259:3    0    16G  0 part
└─nvme0n1p4 259:4    0 460.3G  0 part

Je vais monter cette partition en utilisant le point de montage « classique » :

# mount -v /dev/sdb1 /mnt/
mount: /mnt: WARNING: source write-protected, mounted read-only.
mount: /dev/sdb1 mounted on /mnt.

Installer les paquets manquants

Les paquets RPM de l'installateur se trouvent dans le répertoire minimal/Packages du support d'installation :

# cd /mnt/minimal/Packages/
# ls NetworkManager-*.rpm
NetworkManager-1.46.0-4.el9_4.x86_64.rpm
NetworkManager-libnm-1.46.0-4.el9_4.x86_64.rpm
NetworkManager-team-1.46.0-4.el9_4.x86_64.rpm
NetworkManager-tui-1.46.0-4.el9_4.x86_64.rpm
NetworkManager-wifi-1.46.0-4.el9_4.x86_64.rpm

Jetons un œil sur les dépendances du paquet manquant :

# rpm -ivh --test NetworkManager-wifi-1.46.0-4.el9_4.x86_64.rpm
error: Failed dependencies:
        wireless-regdb is needed by NetworkManager-wifi ...
        wpa_supplicant >= 1:1.1 is needed by NetworkManager-wifi ...

Le paquet wpa_supplicant ne requiert pas d'autres dépendances :

# rpm -ivh --test wpa_supplicant-2.10-5.el9.x86_64.rpm
Verifying...                      ################################# [100%]
Preparing...                      ################################# [100%]
# rpm -ivh wpa_supplicant-2.10-5.el9.x86_64.rpm
Verifying...                      ################################# [100%]
Preparing...                      ################################# [100%]
Updating / installing...
   1:wpa_supplicant-1:2.10-5.el9  ################################# [100%]

En revanche, le paquet wireless-regdb nécessite à son tour une dépendance :

# rpm -ivh --test wireless-regdb-2023.09.01-1.el9.noarch.rpm
error: Failed dependencies:
        iw is needed by wireless-regdb-2023.09.01-1.el9.noarch
# rpm -ivh --test iw-6.7-1.el9.x86_64.rpm
Verifying...                      ################################# [100%]
Preparing...                      ################################# [100%]
# rpm -ivh iw-6.7-1.el9.x86_64.rpm
Verifying...                      ################################# [100%]
Preparing...                      ################################# [100%]
Updating / installing...
   1:iw-6.7-1.el9                 ################################# [100%]
# rpm -ivh wireless-regdb-2023.09.01-1.el9.noarch.rpm
Verifying...                      ################################# [100%]
Preparing...                      ################################# [100%]
Updating / installing...
   1:wireless-regdb-2023.09.01-1.el9  ############################# [100%]

Maintenant que toutes les dépendances sont satisfaites, je peux installer NetworkManager-wifi :

# rpm -ivh NetworkManager-wifi-1.46.0-4.el9_4.x86_64.rpm
Verifying...                      ################################# [100%]
Preparing...                      ################################# [100%]
Updating / installing...
   1:NetworkManager-wifi-1:1.46.0-4.el############################# [100%]

Redémarrage et premier test

Je redémarre :

# reboot

Cette fois-ci la connexion est bien activée :

# nmcli con show
NAME        UUID                                  TYPE      DEVICE
microlinux  0bcc6b2d-6893-4390-b4e1-42ea4678cae3  wifi      wlp2s0
lo          db8776df-5728-48b8-990c-c883970fda94  loopback  lo

Et j'ai une connexion sans fil qui fonctionne correctement même sur un système minimal :

# ping -c 1 -q wifi.microlinux.lan
PING wifi.microlinux.lan (192.168.2.254) 56(84) bytes of data.

--- wifi.microlinux.lan ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 6.819/6.819/6.819/0.000 ms