En este tutorial, explicare de manera facil y sencilla dentro de lo posible, la Instalación del Kit de Desarrollo para PlayStation 3 bajo un sistema Linux, concretamente Ubuntu, una distribución basada en Debian, perfectamente es posible en otras distribuciones, pero me ha parecido mas facil hacerlo en esta.
Esta probado su Compilación y correcto funcionamiento en:
Ubuntu 10.10 64Bits
Agradecer , no cuesta nada :::: Preparación del Sistema para el SDK :::: Actualizamos los repositorios de Ubuntu, e instalamos los paquetes necesarios.
Instalamos las dependencias y paquetes necesarios
Para Ubuntu 10.04 y anteriores de 32Bits y 64Bitssudo apt-get update && sudo aptitude update && sudo apt-get install subversion git libelf-dev python build-essential libtool autotools-dev autoconf automake bison flex gcc gcc-4.4 patch wget zlib-bin libncurses5-dev make zlib1g zlib1g-dev libucl1 libucl-dev texinfo python-dev mercurial
Para Ubuntu 10.10 Maverick de 32Bitssudo apt-get update && sudo apt-get install subversion git libelf-dev python build-essential autotools-dev python-dev libtool autoconf automake bison flex gcc gcc-4.4 patch wget zlib-bin make zlib1g zlib1g-dev libucl1 libncurses5-dev libucl-dev texinfo mercurial
Para Ubuntu 10.10 Maverick de 64Bitssudo apt-get update && sudo apt-get install ia32-libs subversion git libelf-dev libncurses5-dev python build-essential autoconf autotools-dev automake bison flex gcc gcc-4.4 python-dev patch wget make zlib-bin zlib1g zlib1g-dev libucl1 libucl-dev texinfo libtool mercurial
* En esta version de Ubuntu, ya no existe el comando "aptitude".
En Ubuntu 10.04, te dara un error en el gcc 4.2 ya que no esta en los repositorios. Tambien es valido para Ubuntu 10.10
Descargatelo de aqui: http://ftp.debian.org/pool/main/g/gcc-4.2/
Los paquetes son:
Para maquinas de 32Bits:
* cpp-4.2_4.2.4-6_i386.deb
* gcc-4.2_4.2.4-6_i386.deb
* gcc-4.2-base_4.2.4-6_i386.deb
Para maquinas de 64Bits:
* cpp-4.2_4.2.4-6_amd64.deb
* gcc-4.2_4.2.4-6_amd64.deb
* gcc-4.2-base_4.2.4-6_amd64.deb
Para instalarlo, desde el terminal:
sudo dpkg -i gcc-4.2-base_4.2.4-6_*.deb
sudo dpkg -i cpp-4.2_4.2.4-6_*.deb
sudo dpkg -i gcc-4.2_4.2.4-6_*.deb
Antes de nada creamos los directorios de instalacion en /usr/local/
sudo mkdir /usr/local/ps3dev
sudo mkdir /usr/local/ps3dev/psl1ght
Agregamos estas lineas al
.bashrc de tu usuario y del usuario de root.
## SDK PlayStation 3
export PS3DEV=/usr/local/ps3dev
export PATH=$PATH:$PS3DEV/bin
export PATH=$PATH:$PS3DEV/ppu/bin
export PATH=$PATH:$PS3DEV/spu/bin
export PSL1GHT=$PS3DEV/psl1ght
Recomiendo hacer lo mismo en el usuario "root"
sudo -s
cd
Y editarlo con cualquiera de las 2 maneras, la que os sea mas comoda, para mi el "vi"
vi .bashrc
edicion modo consola
gedit .bashrc
edicion grafica
Y ejecutamos este comando despues de añadir esas lineas al final del .bashrc
source .bashrc
Nota: Antes de nada, crearemos un directorio en nuestro usuario, donde Descargaremos todo, para posteriormente instalarlo después.::::: Descargamos PS3ToolChain :::::git clone https://github.com/ooPo/ps3toolchain.git
Entramos en el directorio de la instalacion del entorno
cd ps3toolchain
Damos permisos de ejecucion al script de instalación
chmod +x -R *.sh
y lanzamos la instalacion, con permisos de root
sudo -s
./toolchain.sh
Nota: Este proceso puede llegar a durar varias horas
Siempre dependiendo del equipo que tengas.
Si veis que durante la instalación se queda colgado después de la descarga de un paquete, que me ha pasado 3 veces... cancelar y lanzar de nuevo la instalación.
::::: Probando el Entorno :::::Si despues de instalar no te ha dado error, y todo ha salido OK.
Ejecutamos:
ppu-gcc --version
Te, tendría que salir esto.
$ ppu-gcc --version
ppu-gcc (GCC) 4.5.2
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Ejecutamos:
spu-gcc --version
Te, tendría que salir esto.
$ spu-gcc --version
spu-gcc (GCC) 4.5.2
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
::::: Instalacion SDK PSL1GHT :::::git clone https://github.com/HACKERCHANNEL/PSL1GHT.git
cd PSL1GHT/psl1ght/
make
sudo -s
make install
Y ahora instalaremos unas librerias, antes de nada, recomiendo reiniciar el sistema.
NOTA: Atencion a con que usuario y con que permisos lo haceis!!! MUCHO CUIDADO
:::: Instalación de las Librerias ::::Instalación del conjunto de librerias "
ps3libraries"
git clone https://github.com/ooPo/ps3libraries.git
cd ps3libraries
sudo -s
./libraries.sh
exit
* Este proceso tarda unos minutos
Instalación de la libreria "
Tiny3D" Gracias a
Hermes git clone https://github.com/hermesEOL/tiny3d.git
cd tiny3d
sudo -s
make all
exit
Instalación de la libreria "
ps3soundlib" Gracias a
Hermes git clone https://github.com/hermesEOL/ps3soundlib.git
cd ps3soundlib/libs
make
sudo -s
make install
exit
Instalacion de la libreria "
SDL"
git clone https://github.com/cebash/SDL_PSL1GHT.git
cd SDL_PSL1GHT
./script.sh
make
sudo -s
make install
exit
Y reiniciamos el sistema.
::::: Probando el SDK :::::Nos vamos al directorio donde tenemos todo descargado, si lo has echo de manera ordenada, claro esta.
Vamos a compilar un ejemplo del SDK para ver si lo compila correctamente.
Nos vamos a la ruta donde hemos descargado todo previamente.
cd PSL1GHT/samples/sputest/
Y compilamos.
make
Compilando...
[CC] main.c
[LD] spu.elf
[R2H] spu.bin
[CC] main.c
[LD] sputest.elf
Resultado, nos ha generado unos .elf y .self y el directorio build
build data Makefile source spu sputest.elf sputest.self
Si queremos generar un
.PKG hacemos ahora esto.
Compilamos.
make pkg
Y nos genera el PKG
make[2]: «../../data/spu.bin» está actualizado.
make[1]: «/home/Tu Usuario/RUTA DONDE LO HAS DESCARGADO/PSL1GHT/samples/sputest/sputest.self» está actualizado.
Creating PKG...
[X] Magic: 7f504b47
[X] Type: 00000001
[X] Offset to package info: 000000c0
[ ] unk1: 00000005
[X] Head Size: 00000080
[X] Item Count: 00000004
[X] Package Size: 0000000000055930
[X] Data Offset: 0000000000000140
[X] Data Size: 0000000000055790
[X] ContentID: 'UP0001-TEST00003_00-0000000000000000'
[X] QA_Digest: 8C7287FA6D8DA76FD0E639D383333
[X] K Licensee: 00000000000000000000000000000000
Y ahora si listamos el directorio, tendremos:
build data Makefile source spu sputest.elf sputest.pkg sputest.self
Próximamente, como generar un .PKG a raiz de un .self solamente.
Según valla descubriendo mas cosas con las que mejorar el SDK, se irán añadiendo.Changelog