Un SSD PCI-Express M.2 dans un Power Mac G4

Le saviez-vous ? Il est possible d’installer un SSD M.2 en PCI-Express dans un Power Mac G4. Et ça fonctionne.

L’idée (idiote) m’est venue en lisant ce sujet sur Vogons : une personne a installé un SSD NVMe dans un emplacement PCI. Donc j’ai testé.

En plus d’un SSD compatible (on va y revenir), il faut deux choses : un adaptateur PCI (mâle) vers PCI-Express (femelle) – et pas le contraire – et un adaptateur PCI-Express vers M.2 pas trop gros. J’ai trouvé le premier sur eBay, pour une grosse vingtaine d’euros. Attention, il vaut mieux un PCI-Express 16x, ça simplifie les choses. Pour l’adaptateur M.2, j’ai pris un modèle low profile sur Amazon. Comme le premier adaptateur a une certaine hauteur, il vaut mieux limiter le second.

Double adaptateur et SSD M.2

Et le SSD, donc ? Pour le blog, je voulais le faire sur un Mac, et Apple (comme souvent) limite franchement la compatibilité avec les SSD NVMe. Il faut en théorie High Sierra. Sur un PC classique, une distribution Linux à jour ou même Windows 7 (qui s’installe facilement sur de très vieilles machines) suffisent. Mais comme je voulais mettre le SSD PCI-Express dans un Power Mac G3 ou G4, j’ai dû tricher. La solution ? Un SSD PCI-Express… mais pas NVMe. Ça existe ? Oui.

Pour faire court, la première génération de SSD PCI-Express utilise le PCI-Express comme couche physique (quatre lignes PCIe 2.0, ~2 Go/s max) et le protocole AHCI des disques durs pour la couche logique. Dans les SSD récents, on reste en PCI-Express mais avec le NVMe comme protocole (c’est plus efficace). L’avantage des SSD PCI-Express AHCI, c’est que la compatibilité est assez large : ils sont vus comme un contrôleur AHCI, et c’est assez standardisé. Du coup, j’ai branché mon SSD SM951 (Samsung) dans un Power Mac G4 sous Mac OS X Leopard – en PCI – et… ça fonctionne. Il est reconnu, je peux lire et écrire. Le bus PCI (et probablement le bridge de l’adaptateur) limite franchement les performances, évidemment : 90 Mo/s en lecture et 40 Mo/s en écriture. Mais c’est parfaitement fonctionnel, avec un temps d’accès extrêmement bas. J’ai tenté sur le un G4, mais ça marche a priori de la même façon dans un G5.

Reconnu



Le bus n’est vraiment pas utilisé à son maximum

J’ai aussi testé avec Mac OS X Tiger (sur le même Mac) mais le SSD n’est pas reconnu. J’avais déjà vu un test de Barefeats qui expliquait que même dans un Mac Pro (en PCI-Express), ça ne fonctionnait pas avec Tiger.

Impossible de booter

Peut-on démarrer ? Non. Le fonctionnement de base pour démarrer d’un périphérique externe dans un ordinateur consiste à soit avoir un pilote dans le firmware (BIOS, UEFI, Open Firmware dans le cas du Power Mac G4, etc.), soit avoir une ROM dans la carte qui permet de démarrer. Si vous installez une carte SATA dans un Power Mac, le flash d’un firmware adapté sert à ça : fournir le nécessaire à l’Open Firmware pour démarrer. Et forcément, le SSD PCI-Express de Samsung – qui date du milieu des années 2010 – n’a évidemment pas le nécessaire pour démarrer sur un Open Firmware. Il existe une potentielle solution avec XPostFacto, en installant ce qu’il faut sur un disque reconnu avant de forcer le démarrage sur le SSD PCI-Express, mais je n’ai pas essayé (peut-être un jour).

Le but ultime, vous le verrez peut-être dans Canard PC Hardware un jour, c’est d’installer un SSD NVMe dans un très vieux PC.