Posts Tagged PS3
In previous posts you learned about Installing Debian on PS3 from a cdrom or from a Pendrive. Now you’re going to learn how to compile a Linux kernel on a PS3, to be able to enable some features like the VRAM access since kernel 2.6.29 or some sound drivers.
First of all you will need some special packages for compiling a kernel, because you’ll do it the Debian’s way:
aptitude install build-essential libncurses5-dev kernel-package
Now you have to download the kernel 2.6.29’s sources (or a higher one), extract them and make the symbolic link /usr/src/linux folder that point out to the directory you just have extracted, thus:
cd /usr/src wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2 tar xjfv linux-2.6.29.tar.bz2 ln -sf linux-2.6.29 linux cd linux
Now, you have to delete any .config file and clean up any object file from previous compilations:
In order to choose all PS3 options available on the kernel, just type this command:
This will create a .config file with all PS3’s features enabled, such as the new VRAM access option. If you want to enable other options (for instance I always select the OSS sound modules), you can choose them by using the ncurses interface program menuconfig:
It’s kernel compiling time! You can compile the kernel’s image and headers (the latter are needed for compiling other programs on Linux without the kernel’s sources), just type the following:
make-kpkg clean make-kpkg --revision ccs1 --initrd kernel_image kernel_headers
Installing the new kernel
This compilation procedure will create some . deb files in the /usr/src folder. To install them you can use the dpkg program as you would do with any other Debian’s package:
dpkg -i /usr/src/linux-image-2.6.29_ccs1_powerpc.deb
Setting Petitboot (the boot manager)
Petitboot reads kboot or yaboot setting files. For instance, you can add the following lines to the /etc/yaboot.conf file to enable the compiled image:
image= /boot/vmlinux-2.6.29 label=Debian-2.6.29-ccs1 initrd=/boot/initrd.img-2.6.29 initrd-size=16076 append="video=ps3fb:mode:3 --" read-only
If you’re using kboot, add the following lines to the /etc/kboot.conf file:
debian='/boot/vmlinux-2.6.29 root=/dev/ps3sda1 initrd=/boot/initrd.img-2.6.29\ append=video=ps3fb:mode:3 --'
If you compiled the kernel 2.6.29 version, at boot you will see Tuz, the mascot.
It’s now available a new Linux kernel 2.6.29 version, and among its new changes is included a new module or driver that provides support for PS3’s VRAM. This means that from now on you can take advantage of the unused RAM from the video card as if it were a block device, so you will be able to store data on it or use it as a swap device.
This driver is 50% faster at reading and 10% faster at writing data.
Petitiboot is a graphic boot manager that lets you choose a kernel image from your PS3’s hard disk, a CD-ROM like the Debian LiveCd for PS3, o from a pendrive. Petitboot also recognizes kboot or yaboot setting files, the boot manager by Sony and YellowDog for PS3, respectively.
Here you are a video with Petitboot in action and the directions to install it:
Just follow this steps:
- Download the Petitiboot‘s otheros.bld
- Copy that file into the /PS3/OTHEROS folder on your pendrive (make any necessary folder)
- Plug your pendrive to the PS3 and go to “System Settings > Install other OS on the XMB menu of your PS3. This will detect and install the otheros.bld file
- Finally, go to System Settings > Default OS > Other system (the “PS3” option will be checked)
Getting back to PS3
If you want to get back to your PS3 as an entertainment system, just reboot your PS3 and press the “Delete” button as is shown on this video:
Al actualizar Debian en el PlayStation 3 me dio un error de que no podía reservar memoria (algo como Couldn’t allocate memory), y revisando con el Monitor del Sistema me percaté que la memoria swap no estaba habilitada:
Sandungas (from the extincted Dark-Alex’s forum) asked me if it was possible to install Debian from a pendrive because he was afraid of harming the PS3’s reader by using a homemade cd, and I replied it couldn’t be done. Later by looking at petitboot’s files I realized there was an icon for pendrives, so it made me think about it…
After I googled a while and did some tests with kboot, here you are the steps for installing from a pendrive:
Setting the pendrive
First of all you have to pull out the content of the image .iso from the Debian for PS3 live-cd. In order to do so you can use isomaster on Linux, or any other program that lets you extract the files from a image iso.
Extract the following folders into your pendrive’s root directory:
NOTE: Installing Debian testing (Squeeze)
The live-cd has references to scripts that are no longer valid with the last Debian 5.0 update because those images dates from 2007. The thing is the live-cd is a little old and it doesn’t have the right references to stable (lenny) and testing (squeeze) for deboobstrap’s scripts.
Here’s the squeeze file I uploaded. Copy this file to the pendrive’s root directory because you will use it later.
Command mode in Kboot
By default kboot reads the /etc/kboot.conf config files from all the devices it has recognized at boot, like the PS3’s hard drive or an installing CD. But The problem is it doesn’t recognize pendrives, so you will have to do the following trick.
After booting the PS3 and some hardware detection messages you will see for a few seconds the message “kboot:“. Here you can use any entry from the kboot.conf file it has recognized or you can use a text terminal for administration proposes by typing “sh“.
From that moment on you will have access to a Linux’s terminal. The first thing you have to do is to plug the pendrive to the PS3. That will show some messages related to the detection of the pendrive and which reference to use for the pendrive (in my case was /dev/sdc). You have to mount that device on a directory in order to work more comfortably:
mkdir /mnt/pendrive mount /dev/sdc1 /mnt/pendrive
Get into the install folder:
Now proceed to boot Debian’s install kernel image:
kexec -l monolithic-linux --initrd=monolithic-initrd.gz --append="root=/dev/ram --" kexec -l monolithic-linux --initrd=monolithic-initrd.gz --append="root=/dev/ram --" -e
The -l option is used to substitute the current kernel image by loading the new one, –initrd to load the initrd image that will help the kernel to load at the beginning, and –append will tell which device it should use to load the images from. As you might noticed, there are two lines but the second one has -e at the end. The first line loads the kernel image and the second one executes that image by using the -e option.
At this point the installation process have to begin :)
Getting ready for Debian Testing
When the installer starts (when it asks the language to use) you can open a text terminal by pressing::
Here you will use the pendrive-mounting trick one more time. It has be done again because another system was started (the Debian’s installer):
mkdir /mnt/pendrive mount /dev/sdc1 /mnt/pendrive cd /mnt/pendrive
Copy the squeeze’s packages reference file:
cp squeeze.txt /usr/lib/debootstrap/scripts
Now you can continue with Debian’s installing process. To do so, go back to the installation terminal by pressing:
Finally, when it asked you what version to use you have to select “testing” (squeeze).
It’s a well-know fact that the Playstation 3 is a platform where you can install an operating system other than the one provided by Sony, i.e., you can install Linux. Due to Debian is the distro with more supported architectures, the PS3 can’t be the exception.
This post is for those PS3 owners who wants to “play” with Debian on this architecture, without further ado, here you are the steps for installing it…
What you’ll need:
- A blank CD
- A pendrive
- A Playstation 3 (FAT)
- Internet access.