Linux Gentoo sur une Sony PlayStation 3
Pour réaliser l’installation de Gentoo sur votre PS3, vous aurez besoin de ceci:
- Une PS3 (si si!)
- Un pc connecté à internet (à priori, vous en avez un), peu importe s’il est sous Linux ou Windows
- Une connexion internet via un cable éthernet
- Un cable éthernet assez long pour connecter votre PS3
- Un cd-r (essayez tout de même d’en avoir plusieurs)
- Une clé USB avec de l’espace libre
Ma configuration
La PS3 que j’utilise est la plus simple, la “40 Giga”, équippée de deux ports USB et sans lecteurs de cartes mémoire. Le firmware PS3 que j’utilise est — au moment où j’écris ce tutoriel — le 2.10.
Je ne dispose actuellement pas d’une télé HD-Ready, ni Full-HD… Je la branche simplement via le câble composite.
Préparer la PS3
Dans l’utilitaire de formattage, j’ai choisi d’affecter 10Go à “l’autre OS” (voir la documentation officielle à ce sujet). Libre à vous de choisir l’autre option, à savoir de ne garder que 10Go pour le stockage PlayStation, et le reste de l’espace pour votre Linux. Bien évidemment, le formattage effacera toutes les données se trouvant sur votre disque dur! Pensez à utiliser l’utilitaire de sauvegarde qui vous permettra de sauver les données se trouvant sur le disque dur vers une clé USB ou un disque dur externe. Notez que certaines données ne seront pas sauvegardées. Comme par exemples des fichiers protégés, des vidéos ou fichiers musicaux sous DRM, et peut-être certaines sauvegardes de jeux.
Téléchargements et gravure
Il vous faudra télécharger et graver une image iso du Live CD de Gentoo. Vous aurez également besoin du “stage 4″. Choisissez un miroir proche de chez vous via la liste officielle de mirroirs Gentoo. Depuis le miroir sélectionné, téléchargez les fichiers suivants:
/experimental/ppc64/livecd/installcd-ps3-minimal-[XXXXX].iso
/experimental/ppc64/livecd/installcd-ps3-minimal-[XXXXX].iso.DIGESTS
/experimental/ppc64/stages/stage4-970-ps3_64ul.tar.bz2
/experimental/ppc64/stages/stage4-970-ps3_64ul.tar.bz2.DIGESTS
Le téléchargement du fichier “stage 4″ est facultatif. Il pourra être téléchargé plus tard, directement depuis la PS3. Téléchargez le maintenant si vous manquez de temps et disposez d’une clé USB avec assez d’espace libre ou d’une profusion de CD vierges ;)
Rendez vous dans le répertoire où vous avez téléchargé ces différents fichiers. Pour vérifier s’ils ont été téléchargés sans erreur, comparez le hachage MD5 (ou SHA1) de ces fichiers avec ceux indiqués dans les fichiers .DIGEST correspondants.
1 2 3 4 5 6 7 | ThaNerd@ThaNerd: ~ $ cat stage4-970-ps3_64ul.tar.bz2.DIGESTS<br /> # MD5 HASH<br /> 54c4a5d5abb2a2dfec929904f1e92edf stage4-970-ps3_64ul.tar.bz2<br /> # SHA1 HASH<br /> cea6312382164f0ec742b16fae755f5d7fe77595 stage4-970-ps3_64ul.tar.bz2<br /> ThaNerd@ThaNerd: ~ $ md5sum stage4-970-ps3_64ul.tar.bz2<br /> 54c4a5d5abb2a2dfec929904f1e92edf stage4-970-ps3_64ul.tar.bz2 |
Ensuite, vient l’heure de la gravure. Vous devrez impérativement graver le LiveCD. Je ne vous expliquerai pas comment graver le .iso, car ce n’est pas le thème de ce tutoriel. Sous Windows, il vous suffit d’utiliser n’importe quel logiciel, et sous un Linux, en supposant que vous disposiez des droits idoïnes, cdrecord devrait suffir.
Gravez l’image LiveCD, soit installcd-ps3-minimal-[xxxxxx].iso, et éventuellement, copiez le fichier stage4 vers votre clé USB.
L’installation sur la PS3
Insérez simplement le cd fraîchement gravé dans le lecteur de la PS3, et naviguez dans le XMB vers Paramètres (
) / Paramètres système (
) / Installer autre système d’exploitation. Le système cherchera l’installeur et vous montrera les informations données par l’installeur. Démarrez ainsi l’installeur. N’Ã?TEIGNEZ PAS LA CONSOLE TANT QUE CETTE OPÃ?RATION N’EST PAS TERMINÃ?E!
Voir cette rubrique dans la documentation officielle
La console redémarera sous le nouvel OS qui n’est pas encore vraiment installé.
Lors de l’affichage de l’invite kboot:, utilisez la touche tabulation pour afficher “gentoo” et faites “entrée”.
Le système bootera donc le LiveCD. Une fois arrivé au terme de ce boot, l’invite sous root s’affichera. La première étape consiste à charger le mappage clavier correspondant à votre clavier.
1 | find /usr/share/keymaps/i386/azerty |
Vous devez probablement avoir un clavier soit français, soit belge. L’un des points pour reconnaître l’un de l’autre est le caractère “backslash”. Sur un clavier français, il se trouve sur la touche “8″, et sur un clavier belge il se trouve sur la même touche que < et >, à gauche du W.
Dans mon cas, je charge le layout belge comme ceci:
1 | loadkeys be-latin1 |
Ensuite il est temps de manipuler le disque dur, le partitionner. Donner des instructions précises est difficile, alors je vais vous faire un copier-coller de l’affichage que cela doit vous donner:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | livecd ~ # fdisk /dev/ps3da</p> <p>The number of cylinders for this disk is set to 1305.<br /> There is nothing wrong with that, but this is larger than 1024,<br /> and could in certain setups cause problems with:<br /> 1) software that runs at boot time (e.g., old versions of LILO)<br /> 2) booting and partitioning software from other OSs<br /> (e.g., DOS FDISK, OS/2 FDISK)</p> <p>Command (m for help): n<br /> Command action<br /> e extended<br /> p primary partition (1-4)<br /> p<br /> Partition number (1-4): 1<br /> First cylinder (1-1305, default 1):<br /> Using default value 1<br /> Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): +9000M</p> <p>Command (m for help): n<br /> Command action<br /> e extended<br /> p primary partition (1-4)<br /> p<br /> Partition number (1-4): 2<br /> First cylinder (1096-1305, default 1096):<br /> Using default value 1096<br /> Last cylinder or +size or +sizeM or +sizeK (1096-1305, default 1305):<br /> Using default value 1305</p> <p>Command (m for help): t<br /> Partition number (1-4): 2<br /> Hex code (type L to list codes): 82<br /> Changed system type of partition 2 to 82 (Linux swap / Solaris)<br /> Command (m for help): a<br /> Partition number (1-4): 1<br /> Command (m for help): p</p> <p>Disk /dev/ps3da: 10.7 GB, 10737414144 bytes<br /> 255 heads, 63 sectors/track, 1305 cylinders<br /> Units = cylinders of 16065 * 512 = 8225280 bytes</p> <p> Device Boot Start End Blocks Id System<br /> /dev/ps3da1 * 1 1095 8795556 83 Linux<br /> /dev/ps3da2 1096 1305 1686825 82 Linux swap / Solaris</p> <p>Command (m for help): w<br /> The partition table has been altered!</p> <p>Calling ioctl() to re-read partition table.</p> <p>WARNING: Re-reading the partition table failed with error 16: Device or resource busy.<br /> The kernel still uses the old table.<br /> The new table will be used at the next reboot.<br /> Syncing disks.<br /> livecd ~ # |
Ces deux nouveaux systèmes de fichiers doivent maintenant être formattés.
1 2 3 | mkfs.ext3 -j /dev/ps3da1<br /> mkswap /dev/ps3da2<br /> swapon /dev/ps3da2 |
On peut maintenant préparer le “chrootage”. L’opération consiste à changer la racine théorique du système de fichiers pour que les opérations sur le disque se fassent là où devront se trouver les fichiers.
1 2 | mount /dev/ps3da1 /mnt/gentoo<br /> cd /mnt/gentoo |
Si vous avez téléchargé le stage 4 tout à l’heure et l’avez mis sur votre clé USB, branchez la maintenant, et montez la:
1 2 | mkdir /mnt/usb<br /> mount /dev/sda1 /mnt/usb |
Puis décompressez l’image vers la racine de chrootage
1 2 | cd /mnt/gentoo<br /> tar -xjpf /mnt/usb/stage4-ppc64-ps3_32ul.tar.bz2 |
TODO attention l’étape ci-dessus n’a PAS Ã?TÃ? VÃ?RIFIÃ?E
Sinon, téléchargez le maintenant via links:
1 2 | cd /mnt/gentoo/<br /> links2 http://gentoo.osuosl.org/experimental/ppc64/stages/ |
Utilisez la touche “bas” de votre clavier pour sélectionner le fichier et appuyez ensuite la touche D pour que links vous propose de télécharger le fichier. Une fois le téléchargement des fichiers .tar.bz2 et .DIGESTS terminés, quittez avec la touche Q puis Y pour confirmer. Enfin, lancez la décompression du fichier stage vers la racine de chrootage (où vous devez déjà être)
1 | tar -xjpf stage4-ppc64-ps3_32ul.tar.bz2 |
Montez maintenant les systèmes de fichiers spéciaux Procfs et /dev. Copiez également le fichier resolv.conf
1 2 3 | mount -t proc none /mnt/gentoo/proc<br /> mount -o bind /dev /mnt/gentoo/dev<br /> cp /etc/resolv.conf /mnt/gentoo/etc |
On peut enfin chrooter et travailler sur le système semi-définitif.
1 2 3 | chroot /mnt/gentoo/ /bin/bash<br /> env-update && source /etc/profile<br /> export PS1="(chroot) $PS1" |
On peut alors faire une première mise à jour de l’arbre portage via emerge.
1 | emerge --sync |
Cette étape est assez longue, selon votre vitesse de connexion.
C’est presque fini. Il reste à configurer l’heure (c’est important…), et surtout à configurer le bootage.
1 2 | ls /usr/share/zoneinfo<br /> cp /usr/share/zoneinfo/Europe/Brussels |
Otheros, l’image qui sert à booter le système, dépend de l’affectation d’un label à la racine du système de fichiers. Ce que l’on va faire maintenant.
1 | e2label /dev/ps3da1 / |
Puis on va configurer kboot.
1 2 3 | cd /etc<br /> cp kboot.conf.example kboot.conf<br /> nano -w kboot.conf |
Lisez les commentaires dans le fichier, éditez ce qui doit l’être, et sauvegardez en faisant Ctrl+O puis Enter, et quittez par Ctrl+X
Ensuite vient le temps d’éditer fstab, qui est le système qui permet de gérer les points de montage…
Voici le mien:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #<br /> # noatime turns off atimes for increased performance (atimes normally aren't<br /> # needed; notail increases performance of ReiserFS (at the expense of storage<br /> # efficiency). It's safe to drop the noatime options if you want and to<br /> # switch between notail / tail freely.<br /> #<br /> # The root filesystem should have a pass number of either 0 or 1.<br /> # All other filesystems should have a pass number of 0 or greater than 1.<br /> #<br /> # See the manpage fstab(5) for more information.<br /> #</p> <p># <fs> <mountpoint> <type> <opts> <dump/pass></p> <p># NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.<br /> /dev/ps3da1 / ext3 noatime 0 1<br /> /dev/ps3da2 none swap sw 0 0<br /> /dev/sr0 /mnt/cdrom iso9660 noauto,ro 0 0<br /> # NOTE: The next line is critical for boot!<br /> proc /proc proc defaults 0 0</p> <p># glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for<br /> # POSIX shared memory (shm_open, shm_unlink).<br /> # (tmpfs is a dynamically expandable/shrinkable ramdisk, and will<br /> # use almost no memory if not populated with files)<br /> shm /dev/shm tmpfs nodev,nosuid,noexec 0 0<br /> none /spu spufs default 0 0 |
Reste a créer un mot de passe root et à créer un utilisateur.
1 | passwd |
Cette commande vous invitera a taper deux fois le mot de passe à mettre. N’OUBLIEZ PAS CE MOT DE PASSE! En cas d’oubli, il n’y a aucun moyen de le récupérer…
Créez enfin un utilisateur et donnez lui aussi un mot de passe…
1 2 | useradd -m -G users,wheel,audio,games -s /bin/bash david<br /> passwd david |
Voilà , c’est fini! Avant de redémarrer la console, n’oubliez pas de sortir du chroot et de démonter les points de montage. Et pendant que la console redémarre, enlevez le cd du lecteur…
1 2 3 4 5 6 | (chroot) etc # exit<br /> exit<br /> livecd mnt # cd /mnt/<br /> livecd mnt # umount gentoo/proc/ gentoo/dev/ gentoo/<br /> livecd mnt # umount /mnt/usb/<br /> livecd mnt # reboot |
Le système redémarera sous linux. Lors du premier démarrage, j’ai eu quelques messages d’erreur, puis il a rebooté une deuxième fois, et là ca a été tout seul.
Reste à configurer quelques petites choses du quotidien…
Si vous êtes sous une interface graphique (j’étais sous XFCE4, c’était très laid ;D), passez sur la console en appuyant sur Ctrl+Alt+F1, et connectez-vous en tant que root. Si l’invite refuse votre mot de passe, pensez bien que pour l’instant, le clavier est toujours configuré en QWERTY américain…
C’est la première chose que vous allez corriger. Utilisez loadkeys, comme au début de ce tutoriel, et testez quelques caractères spéciaux pour voir si tout va bien. Si c’est le cas, éditez /etc/conf.d/keymaps avec nano, et indiquez le mappage à utiliser dans la directive KEYMAP=.
Ensuite, éditez /etc/conf.d/consolefont, où vous indiquerez “lat9w-16″…
Une dernière indication avant de clore ce tutoriel: pour redémarer la PS3 “normalement” et arriver au XMB, tapez dans la console “ps3-” et utilisez la touche tabulation pour afficher la liste des exécutables disponibles…
A bientot pour un autre tutoriel pour utiliser linux sous PS3!
![[del.icio.us]](http://www.thanerd.net/wp-content/plugins/bookmarkify/delicious.png)
![[Digg]](http://www.thanerd.net/wp-content/plugins/bookmarkify/digg.png)
![[Facebook]](http://www.thanerd.net/wp-content/plugins/bookmarkify/facebook.png)
![[Furl]](http://www.thanerd.net/wp-content/plugins/bookmarkify/furl.png)
![[Google]](http://www.thanerd.net/wp-content/plugins/bookmarkify/google.png)
![[MySpace]](http://www.thanerd.net/wp-content/plugins/bookmarkify/myspace.png)
![[Shoutwire]](http://www.thanerd.net/wp-content/plugins/bookmarkify/shoutwire.png)
![[StumbleUpon]](http://www.thanerd.net/wp-content/plugins/bookmarkify/stumbleupon.png)
![[Technorati]](http://www.thanerd.net/wp-content/plugins/bookmarkify/technorati.png)
![[Windows Live]](http://www.thanerd.net/wp-content/plugins/bookmarkify/windowslive.png)
![[Email]](http://www.thanerd.net/wp-content/plugins/bookmarkify/email.png)






Intéressant (merci pour le tuto, il me sera surement d’une grande utilité), est-ce que selon toi (allez on se tutoie, tu veux bien ?) le processeur Cell de la playstation 3 permettrait d’en faire une machine de calcul avec un bon rapport qualité prix ? J’ai vu qu’un astrophysicien en avait mis 16 en cluster pour faire un supercalculateur, a-t-on vraiment avec gentoo (sur le processeur Cell j’entend, pas de manière générale) une machine puissante avec une bonne vitesse de calcul, notamment si on fait du multi-thread ? Ou bien l’intérêt reste-t-il plus limité de ce coté là ? As-tu essayé de tester la bête en lui donnant quelques gros calcul pour voir ?
Merci.
Antoine
Très franchement, je n’ai aps vraiment testé. J’ai entendu dire que certains types d’opérations, tels que ce qu’utilise Folding@home, sont particulièrement rapides sur un cell. Par contre, j’ai tenté par exemple de lancer quelques compilations, et elles ont tendance à être assez lentes, en comparaison avec les mêmes opérations sur mon PC.
Une bonne partie de la puissance de la PS3 provient de sa carte graphique, et malheureusement, ATI n’est pas du genre à publier des pilotes efficaces pour Linux. L’architecture est PPC64, comme un Mac. Or, ce n’est pas sans raison que la plupart des infographistes travaillent sur Mac…