Apple vs. LinuxVoici le troisième volet dans la série d’articles sur l’installation de Linux sur un vieux iMac. Dans mon précédent article, nous avons vu les spécificités de l’installation du système de base sur ce matériel. Rappelez-vous que la carte réseau filaire n’a pas été détectée au moment de l’installation. L’objectif pour aujourd’hui consistera donc à faire fonctionner le réseau sur les deux machines dont je dispose dans mon bureau.

En savoir plus sur le matériel

Le premier obstacle auquel je me heurte, c’est que la commande lspci ne fait pas partie du système minimal de Rocky Linux 8. Vu que je n’ai pas de réseau, je ne peux pas utiliser le gestionnaire de paquets dnf pour récupérer le paquet pciutils correspondant. En revanche, le paquet se trouve sur la clé USB d’installation minimale. Je vais donc l’installer manuellement à partir de là :

# mount /dev/sdb1 /mnt
# cd /mnt/BaseOS/Packages/p
# rpm -ivh pciutils-3.7.0-1.el8.x86_64.rpm 
...
Verifying...               ################################# [100%]
Preparing...               ################################# [100%]
Updating / installing...
   1:pciutils-3.7.0-1.el8  ################################# [100%]
# cd
# umount /mnt

À présent je dispose bien de la commande lspci. Elle va me permettre d’identifier mon matériel :

# lspci | grep -i eth
05:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8058 
PCI-E Gigabit Ethernet Controller (rev 13)

Et sur l’autre machine :

# lspci | grep -i eth
00:0a.0 Ethernet controller: NVIDIA Corporation MCP79 Ethernet 
(rev b1)

Carte réseau Marvell 88E8058

Lorsque j’affiche les infos sommaires, j’obtiens un identifiant dans le premier champ :

# lspci | grep -i eth
05:00.0 Ethernet controller: Marvell Technology Group ...

Partant de là, j’utilise lspci -n pour obtenir le code constructeur et le modèle :

# lspci -n | grep "05:00.0"
05:00.0 0200: 11ab:436a (rev 13)

La chaîne de caractères 11ab:436a va me permettre d’identifier le pilote Linux requis pour mon matériel. J’effectue une recherche Google 11ab:4361 site:linux-hardware.org et je vois que le module que je recherche s’appelle sky2 :

Linux Hardware sky2

AstuceSi vous utilisez Red Hat Enterprise Linux ou l’un des nombreux clones libres, la meilleure adresse pour les pilotes non fournis par cette famille de distributions est le dépôt tiers ELRepo.org.

Sur ma station de travail qui tourne également sous Rocky Linux 8, le dépôt ELRepo est déjà configuré, et le paquet kmod-sky2 est disponible :

$ dnf search sky2
...
kmod-sky2.x86_64 : sky2 kernel module(s)

ImportantPour compliquer les choses, la toute dernière version de ce pilote ne fonctionne pas. J’ai testé pour vous. Si vous l’installez, vous obtiendrez un joli Kernel panic au démarrage.

En revanche, l’avant-dernière version fonctionne correctement, mais seulement avec le noyau du support d’installation. C’est donc celle-là que je vais récupérer sur ma station de travail :

$ dnf --showduplicates list kmod-sky2
...
kmod-sky2.x86_64 1.30-5.el8_4.elrepo elrepo
kmod-sky2.x86_64 1.30-6.el8_6.elrepo elrepo
kmod-sky2.x86_64 1.30-7.el8_7.elrepo elrepo
kmod-sky2.x86_64 1.30-8.el8_7.elrepo elrepo
$ dnf download kmod-sky2-1.30-7.el8_7.elrepo
kmod-sky2-1.30-7.el8_7.elrepo.x86_64.rpm 7.3 kB/s | 53 kB 00:07
$ ls kmod*
kmod-sky2-1.30-7.el8_7.elrepo.x86_64.rpm

Je copie ce paquet sur une clé USB et je le transfère sur mon iMac. Une fois que c’est fait, je l’installe manuellement :

# rpm -ivh --nosignature kmod-sky2-1.30-7.el8_7.elrepo.x86_64.rpm
Verifying...                        ################################# [100%]
Preparing...                        ################################# [100%]
Updating / installing...
   1:kmod-sky2-1.30-7.el8_7.elrepo  ################################# [100%]

Je charge le module à la main :

# modprobe sky2

À partir de là, les commandes ip addr ou nmcli dev me montrent que je dispose d’une nouvelle interface réseau ens5.

Avant d’aller plus loin, je vais empêcher la mise à jour du paquet kmod-sky2 et des paquets relatifs au noyau en attendant que les développeurs du module aient résolu le problème affectant la version subséquente :

# /etc/yum.conf
...
exclude=kmod-sky2 kernel kernel-core kernel-modules kernel-tools*

Carte réseau NVidia MCP79

Mon deuxième iMac est équipé d’une carte réseau NVidia MCP79 :

# lspci | grep -i eth
00:0a.0 Ethernet controller: NVIDIA Corporation MCP79 ...

Là aussi, j’utilise lspci -n pour obtenir le code constructeur et le modèle :

# lspci -n | grep "00:0a.0"
00:0a. 0200: 10de:0ab0 (rev b1)

La chaîne de caractères 10de:0ab0 va me permettre d’identifier le pilote Linux requis pour mon matériel. J’effectue une recherche Google 10de:0ab0 site:linux-hardware.org et je vois que le module que je recherche s’appelle forcedeth :

Linux Hardware - forcedeth

Là aussi, je vais me servir du pilote fourni par le dépôt tiers ELRepo.org. J’effectue une recherche sur ma station de travail, et je trouve le paquet kmod-forcedeth :

$ dnf search forcedeth
...
kmod-forcedeth.x86_64 : forcedeth kernel module(s)

ImportantIci, j’ai un problème semblable à celui avec le module sky2. La dernière version provoque un Kernel panic au démarrage. En revanche, l’avant-dernière version fonctionne parfaitement, mais seulement avec le noyau du support d’installation. C’est donc celle-là que je vais récupérer sur ma station de travail :

$ dnf --showduplicates list kmod-forcedeth
...
kmod-forcedeth.x86_64  0.0-6.el8_4.elrepo  elrepo 
kmod-forcedeth.x86_64  0.0-7.el8_6.elrepo  elrepo 
kmod-forcedeth.x86_64  0.0-8.el8_7.elrepo  elrepo 
kmod-forcedeth.x86_64  0.0-9.el8_7.elrepo  elrepo
$ dnf download kmod-forcedeth-0.0-8.el8_7.elrepo
kmod-forcedeth-0.0-8.el8_7.elrepo.x86_64.rpm  42 kB/s |  54 kB  00:01
$ ls kmod*
kmod-forcedeth-0.0-8.el8_7.elrepo.x86_64.rpm

Je copie ce paquet sur une clé USB et je le transfère sur mon iMac. Une fois que c’est fait, je l’installe manuellement :

# rpm -ivh --nosignature kmod-forcedeth-0.0-8.el8_7.elrepo.x86_64.rpm
Verifying...                            ################################# [100%]
Preparing...                            ################################# [100%]
Updating / installing...
   1:kmod-forcedeth-0.0-8.el8_7.elrepo  ################################# [100%]

Je charge le module à la main :

# modprobe forcedeth

À partir de là, les commandes ip addr ou nmcli dev me montrent que je dispose d’une nouvelle interface réseau enp0s10.

Avant d’aller plus loin, je vais empêcher la mise à jour du paquet kmod-forcedeth et des paquets relatifs au noyau en attendant que les développeurs du module aient résolu le problème affectant la version subséquente :

# /etc/yum.conf
...
exclude=kmod-forcedeth kernel kernel-core kernel-modules kernel-tools*

Et maintenant ?

La carte réseau fonctionne correctement sur mes deux machines. Je vais donc pouvoir installer et configurer un environnement graphique, ce qui fera l’objet de notre prochain article.


La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

 


3 commentaires

Baroud · 28 mai 2023 à 20 h 44 min

Hello, j’ai suivi votre tuto sur un vieil imac 24″ de 2007. Un grand merci pour cette résurrection, la machine ne servait plus.
KDE et le réseau filaire fonctionnent. Mais en reprise de veille, l’écran est brouillé (carte graphique HD2600) et je suis obligé de redémarrer (seule chose accessible/lisible). J’essaierai prochainement avec un pilote plus récent.
Ce qui m’intéresserait beaucoup, c’est de savoir si vous avez réussi à faire fonctionner la carte wifi sur ce type d’imac (carte Broadcom BCM4321 (14e4:4328)). [De mon côté sous Rocky 8.8, après de nombreux essais (kmod-wl avait des problèmes pour s’installer) j’ai réussi à compiler un pilote depuis https://github.com/antoineco/broadcom-wl en modifiant un fichier, et le charger. La connexion se fait avec le routeur mais elle est inexploitable (vitesse quasi-nulle, aucune commande ne fonctionne).]

    kikinovak · 1 juin 2023 à 16 h 06 min

    J’avoue platement que dans ma tête, l’expression « Wi-Fi Broadcom sous Linux » est rangée quelque part entre « extraction de dents de sagesse » et « file d’attente à l’URSSAF ».

      Baroud · 1 juin 2023 à 21 h 06 min

      Je comprends parfaitement. Après quelques jours d’essais infructueux, je me suis lassé et suis revenu aux fondamentaux : SuSE (ma première distro). Eh bien ça y est, ça fonctionne enfin sous LEAP 15.4, avec le module b43 et installation du firmware qui va bien (le module broadcom-wl n’a rien donné de probant).

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *