vendredi 2 mars 2012

Installer linux sur une ps3

Je viens de récupérer une ps3 cette semaine, mais je voulais fermement tester linux dessus. D'ailleurs au tout début de la sortie la ps3, on pouvait installer linux dessus par l'option "other os", avant que Sony ne revienne à ses vieilles habitudes de non ouverture. Mais à cette époque là je me disais qu'acheter une console de jeu juste pour ça c'était franchement pas raisonnable et y avait pas vraiment de jeux qui me plaisaient dessus (finalement wipeout était pas mal apparemment, j'avais cru qu'il était comme le 2ème wipeout sorti sur psp, j'avais tort, il est quand même beaucoup + impressionnant !).

Bref. En tous cas après avoir perdu pas mal de temps sur le web, j'ai l'impression que la plupart des sites qui sortent des articles sur les firmwares de la console ne maitrisent pas tout à fait le sujet, donc voilà un résumé :
Déjà pour ça faut être en firmware 3.55 maximum, sinon sony retire tous les droits d'éxecuter ce qu'on veut et on a plus le droit que de leur acheter des trucs. Bon moi je me suis adressé à un magasin spécialisé dans la vente de consoles d'occasion justement en custom firmware 3.55. Déjà problème, ils n'indiquaient pas quel custom firmware c'était. J'avais cru que c'était celui dont on entendait parler partout, le Kmeaw, j'avais tort, et j'ai trouvé nulle part comment faire la différence.
Quand on va dans le menu information système du XMB, il n'affiche que le numéro de version, pas la variante. La différence essentielle du Kmeaw c'est qu'il permet d'éxecuter du code non signé, ce qui est bien sûr essentiel pour linux. Là où y a de quoi se perdre c'est que comme les clés du firmware 3.55 ont été crackées, il y a des homebrews qui ont des packages signés, comme multiman, un gestionnaire de fichiers/backups. Par contre Gaïa Manager n'est pas signé, et si on essaye de l'installer on obtient une jolie erreur système de xmb (de mémoire un truc du genre 80029526 ou un truc du genre). Et bootos.pkg, nécessaire à l'installation de linux non plus bien sûr !
Donc 1ère chose, il a fallu que je reflashe ma console. Là où les sites qui écrivent des articles dessus n'ont pas l'air de tout piger c'est qu'ils conseillent de reflasher le 3.55 officiel de sony comme 1ère étape avant d'appliquer celui de Kmeaw par dessus si on a déjà un CFW. Ca ne sert à rien, le Kmeaw est fait à partir d'une série de patches qui sont appliqués par dessus le firmware original et c'est le résultat de ça qu'on a à installer, donc on peut l'installer directement sans passer par la case "firmware original". D'ailleurs c'est tant mieux, parce que sony s'est amusé à le faire disparaitre de l'internet. Il doit en rester, mais ils ont vraiment fait disparaitre beaucoup de liens, sans compter certains sites très bizarres qui coupent la connexion avant la fin et ne permettent pas de continuer le download donc on arrive jamais au bout. Heureusement ce sont des fichiers rar donc ça se voit aussitôt à la décompression qu'ils sont tronqués, sinon ça pourrait être carrément dangereux.
Enfin rebref. Résultat des courses : colle le firmware dans /PS3/UPDATE/PS3UPDAT.PUP sur une fat32 (ils conseillent une clé usb, mais ma ps3 n'a pas l'air d'aimer ma clé usb 8 Go, je sais pas pourquoi. Donc j'ai mis ça sur un disque externe et ça a très bien marché. Ca prouve au passage que le répertoire n'a pas besoin d'être le seul sur le disque ni même le 1er). Après le flashage se passe sans problème et on peut enfin lancer les packages non signés.

2ème étape, il faut installer un patch lv2 sinon otheros ne pourra pas s'installer correctement. Ne me demandez pas ce que c'est, je devine que c'est un patch qui permet d'accèder à un niveau superviseur sur la console, mais c'est tout. Le truc qui fait ça c'est lv2-v9.pkg. Ca ouvre un menu qui demande où est ce qu'on veut le patch. Tu parles d'une bonne question, j'en sais rien moi. On a le choix entre syscall 36, ou le 2ème qui a à voir avec un truc spécifique au 3.55. J'ai répondu 1, ça a marché. De toutes façons on ne risque pas grand chose, ça patche en ram et faut le refaire à chaque boot, donc si on se trompe on reboote. Après on lance bootos. Il crée un espace on sait pas où, peut-être sur le 2ème disque dur, faudra que je vérifie, puis il demande de relancer lv2.pkg. On relance, et ce coup là dans les choix, y a linux ! Donc on choisit linux, et il propose directement d'installer la debian par le réseau ! C'est beau le progrès quand même !
Bon tout n'a pas marché tout seul pour moi, il ne trouvait pas un fichier debconf de préconfiguration à télécharger sur le net (boot.khore.org comme site), et il m'a demandé de configurer à la main. Rien de sorcier, les choix habituels. Au passage j'ai branché un clavier sans fil à la place de la manette, ça a marché aussitôt sans problème. Prévoir un hub usb si on veut une souris, parce qu'il veut à priori installer sur le disque externe. Y a peut-être moyen d'installer sur le disque interne, mais à priori ça me parait une bonne idée de rester sur l'externe pour l'instant, même si ça veut dire que ça va être un peu + lent. Au passage il crée bien une partition desssus, classiquement, je m'attendais à une partition virtuelle dans un fichier incrusté sur le disque interne de la console. Faudra que je vérifie si il en a pas créé un pour rien d'ailleurs. Bon en tous cas tout a l'air de bien se passer pour l'instant, il est en train de télécharger et d'installer ses packages.

Au final ça va donner un système embarqué, moins taré que sur ps2 (où je crois qu'il y avait de l'ordre de 32 Mo de ram de mémoire), mais y en a pas beaucoup quand même, seulement 128 Mo de ram principale (sachant que les 7 cores ont aussi un peu de mémoire individuelle qui n'est pas de la mémoire cache). Ca fait pas lourd quand même. La grosse question c'est est-ce qu'on a accès un minimum à un affichage accéléré ? Apparemment ils ont l'accélération graphique dans le kit de dév ps3 homebrew pslight, même si il manque des shaders apparemment, et ils ont l'air de dire que c'est du nvidia inside. Bah avec ça, même en restant sur le driver libre (parce que ça m'étonnerait qu'on arrive à convaincre nvidia de nous faire un driver propriétaire pour le cell !), ça devrait déjà au moins donner des fonctions d'accélération de base, rien que pour la vidéo déjà. Rien qu'avec ça, y a moyen de faire des trucs, à voir !