How to install Fedora Core 7 and IBM Cell SDK 3.0.1 on PS3


by Stefano Silvestri and Giovanni Venturi
version 0.2.3, date 9th April 2008

Ecco a voi l’articolo promesso qualche giorno fa su come installare Fedora Core 7 su una PS3 con l’IBM Cell SDK 3.0 .
Buona lettura. L’articolo è in inglese. Magari un giorno lo traduco anche in italiano.

Index


Why this Howto

Installing Fedora Core 7 on Playstation 3 it’s not so easy, due to the lack of precise documentation steps. So we wrote this article to help people doing this task.
The PS3 can be used as a low cost testing and programming environment for IBM Cell Broadband Engine and the last IBM SDK for this kind of CPU needs Fedora Core 7 or Red Hat RHEL 5.1 as Operating System so you can’t install other types of GNU/Linux distribution if you want to use the SDK. You could also try, using alien to convert the packets, but it could be not so quick as using directly the RPM packages and the final result could not be guaranteed.

We want to share with you our results to make your life easier if you need to install Fedora Core 7 GNU/Linux on PS3.


The “shopping list”

Before starting the installation, you need the following things:

  1. A USB mouse and keyboard.
  2. Fedora Core 7 PPC DVD. You can download it from the official home page.
  3. Cell Linux Addons. You can download it from Linux kernel website.
  4. IBM Software Development Kit (SDK) for Multicore Acceleration Version 3.0.1 from the IBM website.

Some notes

When you download the Fedora Core ISO, remember to get the DVD one and precisely the PPC version.

There are differents versions of the Cell Linux Addons. This howto refers to the 20080201 version. Download and burn 20080201 ISO.

To have a complete development environment, you need an IBM id to have the permission to download this software. Go to the download page (as told at the point 4) and register yourself. After a couple of days, IBM will sent you a confirmation to let you get the Developer package and the Extras package. Now they know all about you: where you live, your age, your job and so on. Be careful what you are going to do😉 .


Starting the installation

First of all, update the PS3 firmware to the lastest version. Power on the PS3, then access to menu and go the Settings and choose the System Update.
Be sure that your PS3 is connected to the Internet and the networking parameters are corrects and let you surf the Net.

After the firmware update (at the time we write it’s available 2.20 version), you need to format the PS3 hard disk (this will erase all data on the entire drive). Go the menu Settings and choose System Settings/Format Utility. PS3 will ask to you what to do.

There are four options for the harddrive:

  1. All to PS3.
  2. All to Other OS.
  3. 10 GB to PS3 and rest to Other OS.

Choose to format the disk using 10 GB for the PS3 system and leave the rest of the space for the other Operating System. Be sure to select Quick format (it takes 10 seconds) or you’ll be waiting 3.5 hours.

Put the Cell Linux Addons 20080201 CD into the PS3 tray and go to the menu Settings and choose System Settings/Install Other OS. The console will automatically detect the right file to install from the CD.

Go to the menu Settings and choose System Settings/Default System. And change it from PS3 to Other OS.

Reboot the PS3 and you will see the Linux kboot booting.

The CD inside has to be ejected and changed with the Fedora Core 7 DVD. At the kboot prompt now you enter:

cd //mnt/root/ppc/ppc64
kexec -f --initrd=ramdisk.image.gz --command-line="video=720p" vmlinuz

It will start the Anaconda installer.

Fedora Core 7 will ask you the hard disk driver. Simply select the PS3 one (the name in the list is ps3_storage). Now be carefull to choose the right disk partition scheme. After some work we’ve seen that the linux kernel on the Linux Cell Addons CD doesn’t boot on a partition scheme with a Logical Volume Manager (LVM). The problem is that the default Fedora Core 7 installation create an LVM, so you have to remove the default partition scheme and create a custom one without any LVM. So remove all partions and create the following ones:

  1. One GByte of SWAP memory.
  2. All the remaining space for the whole Fedora Core 7 system.

With this scheme you’ll avoid the problem of having a small /boot partition, as setted in the Fedora Core 7 default partitioning scheme and the problem of booting the custom kernel for the Cell processor.

Anaconda installer will ask also if you want to customize the distro. We suggest to install the office and developing packages. Moreover, choose to customize your operating system (KDE or Gnome, etc.) at the moment of installation and not after have installed all packages from DVD.

Wait about five hours to complete Fedora Core 7 installation.

When installation’s completed you have to force PS3 to shutdown, pressing the power on/off button until it turns off. This is a Linux kernel bug with the PS3 that will be resolved updating the kernel (see later). Eject the DVD-ROM and wait for the Fedora boot. Complete the installation disabling Firewall and SELinux and wait for the Fedora boot again.


Cell Linux Addons installation

Now get the CD you burned to install the Cell Linux Addons 20080201. This is a CD containing some utilities for PS3, for example the last Linux kernel precompiled for the Cell Processor (so you can fix the power off bug and you can shutdown the PS3 without forcing this operation handly).

How to proceed? Mount the CD-ROM and go into the mounted directory; go into the target directory and type:

rpm -ivh --force *.rpm

Then go back into the wifi directory and do the same thing, if you want to enable the wireless network card on PS3. The wireless network device will have the same alias of the wired one: eth0.

After the RPMS installation you have to copy the initrd file into the boot directory. Go back into the CD-ROM target directory and type:

cp initrd.img-2.6.24 /boot

Open the file /etc/yaboot.conf with your favourite text editor and add the following lines:

image=/boot/vmlinux-2.6.24
        label=linux24
        read-only
        initrd=/boot/initrd.img-2.6.24
        append="video=720p rhgb quiet root=LABEL=/"

You can select the kernel in kboot pressing the TAB button at the prompt (after the reboot). If everything worked fine, you’ll see other six pengiuns in the kboot screen, after have selected the new kernel.

Test the kernels and choose the right one. To set the default kernel to automatically boot, edit the /etc/yaboot.conf adding the following line:

default=linux24

Add the following line in the file /etc/yum.conf:

exclude=kernel blas oprofile numactl blas-devel kernel-headers blas-debuginfo

Now you can update the whole system typing:

yum update -y

Be careful: this operation could fail because the Fedora Repositories are not always full updated and some dependencies can be wrong. In this case try again the day after or manually remove the packets that break the dependencies. The operation can lasts 3-5 hours.


SDK installation

After you have updated the system you can install the SDK. First of all stop the YUM updater daemon typing:

/etc/init.d/yum-updatesd stop

Edit another time the /etc/yum.conf file removing all the exclude list, except kernel.

The SDK installer needs some packages to work, so type:

yum install rsync sed tcl wget

Mount the Developer package SDK CD-ROM and type:

rpm -ivh cell-install-3.0.0.1.noarch.rpm
cd /opt/cell
./cellsdk install

Agree the IBM license and go on waiting the installation process will be completed. If you want to install also the Extras package mount the CD-ROM you burned and type:

./cellsdk install

Now you have to re-insert the complete exclude list in the /etc/yum.conf file and restart the YUM updater daemon, typing:

/etc/init.d/yum-updatesd start

The directory /opt/cell/sdk/src contains the programming examples in some tarball: unpack in the same directory.

Everything now should work fine. We hope that our experience could help anybody to install correctly the Fedora Core 7 on the PS3 and save lots of time (that we spent on this task!).

In some cases the kernel needs HTLB file system. There is a good guide on Cell Performance. Refer to this if you need it.

15 thoughts on “How to install Fedora Core 7 and IBM Cell SDK 3.0.1 on PS3

  1. Beh no. Tra i vari giri in rete ci siamo imbattuti in quell’howto, ma se lo segui passo passo non avrai un Linux funzionante su PS3 dopo aver aggiornato il kernel dai Linux Cell Addons. Anche perché i kernel di default di Fedora sono abbastanza ricchi di bug per la PS3, infatti (per segnalarne uno) non permettono di spegnerla come avviene su un normale PC. Solo aggiornando al kernel 2.6.23 riesci ad avere un “init 0” che la spegne… Però poi nel kernel del Linux Cell Addon non hai il suppporto al LVM e quindi i passi di installazione sono diversi se vuoi riavviare la PS3 e usare GNU/Linux.

  2. Ciao, intanto complimenti per la guida,
    Premesso che di programmazione in ambiente Linux ne so veramente poco vorrei porti un paio di domande:
    1) Mi dicevano che scrivere programmi in C con le SDK e complilarli direttamente sulla PS3 è un suicidio a causa della scarsità di ram; è consigliata invece la cross-compilazione su un pc normale.
    Se io volessi scegliere la seconda ipotesi dovrei installarmi Fedora 7 sul PC e poi le SDK IBM. Ma deve essere per forza la 7 e non la 8 pena il non funzionamento delle SDK o era un vincolo solo riguardo all’installazione nella PS3?
    2) Una volta installate le SDK (seguendo la guida) cosa me ne faccio della cartella /opt/cell/sdk/src? C’è un modo per utilizzarla con software tipo Eclipse oppure devo cambiare qualcosa nel PATH? (Scusa la domanda stupida ma non ho mai programmato in C su Linux)

    Grazie.

  3. @EnneKappa
    beh dipende dai programmi che devi fare. Compilare di per sé non è un problema insormontabile. Se so programmi relativamente semplici, ma volendo anche complessi. Li lasci compilare e vai a fare altro per un 20-30 minuti. Dipende da quanti file devi compilare. Se tu intendi usare un ambiente IDE come Eclipse è un suicidio. Eclipse va lento su un PC normale visto che è scritto in Java e si succhia parecchia RAM, cosa che su PS3 è scarsa.
    Con un KDevelop forse ce la fai. Ma il vero programmatore usa Midnight Commandere con vi😉 .
    In quella cartella ci sono esempi e librerie di Cell, quindi non ho capito cosa dovresti voler fare con Eclipse. Entra nella cartella, guardati gli esempi e dai qualche botta di “make”…
    Se non hai mai programmato in C prima d’ora perché iniziare proprio su PS3? Per il fatto che ha un’architettura particolate? Io se fossi in te inizierei su una Slackware o una Gentoo a fare qualosa in C. Procurati documentazione sul linguaggio C. Ci sono due Bibbie sul C in PDF:

    1. http://www.lugroma.org/contenuti/doc/tecnica/introc/ (o anche su http://edu.os3.it/html/manual/imparare_c.pdf )
    2. http://gapil.truelite.it/

    @diopodio
    consiglio Gentoo. La versione Live era una scheggia. Molto veloce. Magari la versione da installare è più lenta non so. Il fatto è che non abbiamo provato altro perché un’intera installazione portava via un giorno e mezzo e qui vogliono risultati veloci, quindi non abbiamo avuto modo di scegliere nulla anche perché IBM rilascia solo RPM. Lo yum update è una cosa micidiale su PS3. Più tempo passa dal rilascio di una versione più pacchetti rilasciano e più la PS3 ci mette ore, ore e ore ad aggiornarsi. Passa tutto il tempo a fare swap. 256 MByte sono troppo pochi a quanto pare oppure è Fedora che è fatta un po’ male?
    Cmq pare che uno sviluppatore di KDE abbia provato a trasformare gli RPM in pacchetti DEB: http://mikearthur.co.uk/?p=167

  4. allora da quello ke ho xapito mi consigli gentoo….puoi darmi link dove c’è la guida per installarlo con i link di download?

    complimenti per la tua cultura sulla materia

  5. Pingback: GNU/Linux su PS3 « KDE e slacky - amici, nemici e modi di essere

  6. Ciao!
    Grazie per il tutorial!
    Ma con questa versione di Fedora core è possibile utilizzare tutti e 7 i core del processore?
    O si utilizza soltanto 1 core?
    E’ ottimizzato per il multithread?
    Ciao,
    Pino
    P.S.
    Qualcuno di voi è riuscito con successo a testare qualche potenzialità di questo magnifico processore?

  7. @Pino:
    Con questa versione dopo aver installato la SDK di IBM e aver scritto un’applicazione con le API dell’SDK puoi usare le 2 PPU e le 6 SPU. Potrai eseguire tutti in multiprogrammazione. Ovviamente le SPU sono specializzate per calcoli e infatti con l’applicazione su cui stiamo lavorando inizialmente andava 5-6 volte più lenta di un core duo Intel, ma riscrivendo il codice adattandolo a PPU le prestazioni sono arrivate a livello del core due, scrivendo l’applicazione in multi thread sfruttando le 6 SPU abbiamo riscontrato 6 volte più veloce del core duo, ovviamente ottimizzando ancora l’applicazione si possono ottenere anche ulteriori miglioramenti. L’applicazione in questione effettua elaborazione su immagini tramite convoluzione, quindi prodotti di matrici più o meno. All’immagine siamo riusciti ad applicare effetti come blur, rotazioni, ecc… grazie a una libreria IBM presente nella SDK stesso.

  8. Ciao a tutti,
    tempo fa ho seguito questa guida per installare linux su una ps3, poi ho avuto l’infelice ideona di copiare la partizione linux su altre 4 (vogliamo costruire un cluster) , con “dd” utilizzando la debian live (che mi sembra molto più veloce e leggera della fedora.
    dopo vari crash, alcuni sistemati ed altri no, ho deciso di ricomiciare ex novo, e quale miglior cosa se non chiedere qui.
    1. conviene ancora fedora 7 o si può passare alla 9? (da dire che a me fedora non piace, ma visto che IBM rilascia SDK per redhat e fedora….)
    2. vista la scarsità di RAM, è possibile un’installazione più leggera, che non occupi il 96% della RAM disponibile?
    3. è possibile installare fedora per ps3 senza x server?tanto non lo utilizzerò via video ma tramite ssh

    Grazie a tutti
    Ciao

  9. @Ciccio:
    Fedora 9? Non saprei. SDK 3.0.1 voleva la 7. Dovresti provare.
    Mi sembra che Debian abbia aggiunto ai suoi repository la SDK di IBM.
    L’installaizione più leggera implica niente Xorg, niente KDE, niente desktop Environment, nemmeno quelli leggeri. Quindi sì puoi installare su PS3 Fedora senza X.
    Io non amo particolarmente Fedora, quindi se Debian ha davvero l’SDK nei suoi depositi allora ti conviene quella. È da maggio che non seguo più l’evoluzione di Linux su PS3 quindi immagino siano cambiate un po’ di cose.
    Facci sapere.
    Ciao.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...