Tags:,,,,,, Posted in PS3, Ubuntu, planet-libre.org 19 Comments

Voici une procédure pour installer Ubuntu sur une PS3.
J’insiste sur le fait que c’est une procédure prévue par Sony. Même si vous flinguez logiciellement votre Linux alors que c’est votre OS booté par défaut, vous pourrez revenir à l’OS de la PS3 et oublier cette mésaventure en allumant votre console d’une certaine manière.
Lisez ce post intégralement pour comprendre la procédure générale avant de foncer tête baissée. C’est dans votre intérêt. Il vous faudra un clavier et une souris USB.
Enfin, les choses évoluent tous les jours dans le monde Linux sur PS3. Entre la description de cette installation, effectuée début Janvier et la rédaction de l’article fin Janvier, il est possible que tout ait évolué… Je referai peut-être un article si je trouve une méthode plus simple si les choses ont bien évoluées…

La procédure d’installation est expliquée ici mais elle mérite d’être adaptée et complétée. En effet, elle ne tient pas compte des spécificités (=bugs :) ) liés à tel ou tel couple noyau linux+firmware PS3. Bref, c’est idéaliste, mais ça ne marche pas en général.

Etape 0 : avoir quelques sites sous la main

L’article ci-dessous est fait de mémoire (et je n’ai pas le temps de tout péter pour recommencer et vérifier mes dires à la virgule près). Sachez, si vous êtes bloqués, que toutes les infos de cet article proviennent d’un mix de plein de messages du forum de www.psubuntu.org.

Première étape : formattage de la console

Commençons par le commencement : sauvegardez comme vous pouvez votre disque dur de PS3 car on doit le repartitionner et “donc” flinguer tout ce qui traine dessus.
- Ensuite, allez dans le menu de la PS3 “Paramètres -> Paramètres Système -> Utilitaire de formattage -> Formater disque dur”.
- Il vous prévient que tout va être effacé. Confirmez si vous avez bien sauvegardé vos données.
- Choisissez le menu “partition personnalisée” (je fais de tête, c’est peut-être pas pile ce nom là ).
- Allouez 10 Go à “l’autre système” et précisez “formattage rapide”

Le disque dur est prêt à recevoir un OS.

Téléchargement de Ubuntu pour PS3

Je vous propose de télécharger Ubuntu : vous aurez un environnement graphique rapidement, pratique pour l’utilisation qu’on veut en faire.
L’image officielle ubuntu desktop 7.10 PS3 est KO (repository mal goalé, vous bloquerez à 82% de l’installation).
Donc prenez la version “alternate”.
Enfin, vous verrez plus tard que Ubuntu est trop lourd pour les pauvres 256 Mo de RAM de la PS3. J’ai installé le paquet xubuntu-desktop. Une alternative est de directement démarrer avec le CD XUbuntu Alternate dans ce cas.
Vous les trouverez sur ce serveur, par exemple ce fichier.

Lancement de l’installation

Gravez le bousin, mettez-le dans la PS3 fraîchement reformattée et allez dans le menu “Paramètres système -> Installer un autre OS”. La PS3 vous trouvera le fameux fichier otheros.bld contenu sur le CD. Vous verrez un peu partout sur le web des gens dire qu’il faut le mettre sur une clef USB avant. Que nenni. Au pire vous aurez à en injecter un autre sur votre Linux plus tard suivant votre kernel Linux et/ou votre firmware PS3.
Enfin, vous choisirez “Paramètres systèmes -> Système par défaut” et précisez “Autre OS” pour que la PS3 boote sur Linux. Vous pouvez choisir de booter par défaut ou non. La manip inverse est faisable et même si tout est planté.

Enfin, dans “Paramètres -> Système par défaut”, vous choisissez “Autre OS” et confirmez pour booter votre Linux. C’est le moment de brancher un clavier souris.

Je passe l’installation de Ubuntu en elle-même. Avec le CD “alternate”, ça ressemble plus à une installation Debian que Ubuntu, car en “fenêtres ncurses”.

Configuration wifi : début des emmerdes

Si votre firmware PS3 est <= 1.96

Normalement, avec l’image que je vous ai fait utiliser, tout fonctionne. Notez que vous ne pouvez utiliser *que* le wifi ou l’ethernet à un instant donné. Sony a eu la bonne idée, apparement, d’affecter la même adresse MAC aux deux périphériques….

Si votre firmware PS3 est == 2.00

Sony a changé un truc dans le wifi de leur console. Résultat, elle n’est plus reconnue par le kernel installé avec l’Ubuntu citée ci-dessus.
Il faut upgrader en kernel 2.6.23-Rc7.
Pour ce faire, plutôt que de plagier le site où je l’ai lu, suivez la procédure ici en ne suivant que les instructions du chapitre “Part 2 – update the kernel” sous-chapitre “2) download custom build”, pas la partie “install kernel from source”. Vous aurez néamoins besoin de suivre les instructions du chapitre 3f et 3h, respectivement pour créer un lien symbolique qui va bien modifier le fichier de conf de KBOOT pour pouvoir choisir (comme avec LILO ou GRUB) votre noyau de démarrage.
Notez que pour repasser sur l’OS de la PS3, il faut au lancement de KBOOT préciser la commande “boot-game-os” (en qwerty, donc “boot)gq,e)os”, vous suivez ? ;)

J’avais moi-même fait consciencieusement tout ça avant de comprendre que ma PS3 était en 2.10 et que c’est *encore* différent pour un firmware PS3 2.10. D’où le chapitre suivant.

Si votre firmware PS3 est == 2.10

Sony a [re]+-modifié quelque chose dans le wifi et le kernel 2.6.23-rc7 ne passe plus… Cette fois-ci, les informations sont sur ce thread. Il faut une nouvelle version du 2.6.23 et “normalement-ça-marche”.
A la fin, chez moi le wifi était toujours inconnu. J’en ai eu ras le bol, j’ai collé un pont wifi sur mon cable Ethernet… c’est pas encore super au point Linux sur PS3 (vous pouvez tenter OpenSUSE, même combat).
Néanmoins, voici la procédure :
- Remplacez le fichier “otheros.bld” par celui ici
- Démarrez sur un ancien kernel de votre Ubuntu (celui d’origine par exemple), car vous aurez veillé à toujours laisser une ligne pour le kernel d’origine dans votre fichier de conf KBOOT
- Copier le contenu du fichier kernel-2.6.23-20071219.ppc64.tar.gz sur la racine de votre système (le tgz contient un /lib, /boot etc)
- Copier le fichier initrd.img-2.6.23 dans /boot
- Ajouter une ligne genre : test='/boot/vmlinux-2.6.23 initrd=/boot/initrd.img-2.6.23 root=UUID=48124blablabla quiet splash' dans le fichier /etc/kboot.conf pour déclarer ce nouveau kernel. Vous changerez la valeur UUID par la votre ou au pire par /dev/ps3da1
- Ensuite, vous lancerez les commandes sudo update-initramfs -k 2.6.23 -u et sudo depmod -a
Puis reboot.

Si votre fimware PS3 est > 2.10

Aucune idée, il n’est pas encore sorti :)

Paramétrage de la résolution vidéo

Je ne parlerai que du cas d’une TV 1920*1080 (full hd), pour les 720, c’est similaire, il faut juste d’autres valeurs. Pour les TV de résolutions bizarres, je ne sais pas.

Le minimum à faire côté Linux

Pas la peine de jouer trop longtemps dans le /etc/X11/xorg.conf, même en forçant une unique résolution en 24 bits, la PS3 n’en fera qu’à sa tête. En effet, c’est la commande spécifique ps3videomode qui gère l’affaire. Pour avoir la résolution que vous cherchez, il faut simplement passer le bon paramètre à KBOOT. Pour ce faire, vous ajoutez en fin de ligne dans /etc/kboot.conf l’argument suivant : video=ps3fb:mode:XXXX avec XXXX valant :

0: auto mode , default value
YUV 60Hz 1:480i 2:480p 3:720p 4:1080i 5:1080p
YUV 50Hz 6:576i 7:576p 8:720p 9:1080i 10:1080p
RGB 60Hz 33:480i 34:480p 35:720p 36:1080i 37:1080p
RGB 50Hz 38:576i 39:576p 40:720p 41:1080i 42:1080p
VESA 11:WXGA 12:SXGA 13:WUXGA

full screen mode: 

Exemple : pour une TV full HD, vous mettez simplement 5 (ou 133 (car 5+128), j’ai pas trop vu de différence à vrai dire :)
Il faut aussi (mais je ne sais pas si c’est obligatoire) adapter votre /etc/X11/xorg.conf dans la section “Screen” pour qu’il ne contienne que ça :

Section "Screen"
    Identifier      "Default Screen"
    Device          "Generic Video Card"
    Monitor         "Generic Monitor"
    DefaultDepth    24
    DefaultFbBpp 32
    SubSection "Display"
        Depth 24
̉   EndSubSection
EndSection

A noter : une seule sous-section “Display”

Cas particulier (?) de ma TV Sony foule-achdé

Malgré ça, si vous avez autant de chance que moi, vous verrez que votre bureau dépasse la taille de la télé et qu’en plus, ça ne scrolle pas. C’est chiant hein ? Et bien cette fois, c’est la faute à la télé. Sur mon modèle Sony, j’ai dû trifouiller dans les options d’affichage et trouver un mode qui se nomme quelque chose comme “afficher tous les pixels” et là, enfin, j’ai eu du 1920*1080 sur 40 pouces. Yarglaaaa.
En image.

Autres remarques

Faites attention à ce que vous écrivez dans votre kboot.conf. Laissez toujours le kernel d’origine accessible, au moins il fonctionne (sans wifi, mais il fonctionne).
Attention au fichier /etc/fstab, normalement avec un firmware 2.00 (je crois) et un kernel 2.6.23.quelquechose, le disque dur de la PS3 (enfin, la partie Linux) est vue sur /dev/ps3da. Avant cette évolution, il fallait connaître l’UUID de votre disque dur. J’ai pas vraiment été embêté par le problème, donc je pense qu’en partant de ma doc et de l’ISO que j’indique, vous êtes tout de suite sur un système assez récent pour éviter ce détail.

Pour upgrader KBOOT (le LILO-like pour Linux-sur-PS3), si nécessaire, il faut taper la commande suivante : ps3-flash-util -w le_fichier_kboot

Enfin, les performances. Elles sont assez décevantes. Allez donc voir sur ce site pour trouver un mplayer optimisé PS3. Par contre, ils recommandent de ne pas être en mode graphique… Pas très user-friendly pour ma femme et mes gosses. Grrrr. Wait & see, ça ira peut-être mieux plus tard (si Sony va au bout de sa démarche d’ouverture à un autre OS et permet d’accéder facilement, naturellement, à la puissance de la bête.

Bon, j’ai mal au crâne, j’arrête.
Bonne chance Jim, ce message s’autodétruira dans 5 secondes.

31 January 2008