147w ago - Following up on his previous update, over the weekend PlayStation 3 hacker Graf Chokolo has released his PS3 Linux 2.6 Kernel and began documenting his PS3 CFW Custom Firmware with OtherOS++ Project.
His new PlayStation 3 Linux Kernel includes a new HDD, FLASH, VFLASH and RAM drivers for PS3 and AsbestOS users can use the drivers as well.
To quote: The repository which is based on Linux 2.6 kernel, has several wicked stuff in it especially graf_chokolo’s ram block device. As kmeaw said; “It can read/write anything in PS3 RAM, and very useful for HV hacking”
You can read below the commits done to his version of Linux kernel.
Added support of several storage regions to PS3 storage library
Improved PS3 disk block device driver
New drivers for PS3 NOR and 3 RAM misc driver for full access to HV memory
Added new HV calls
Added extra debug messages for SPU isolation
Finally, from http://ps3wiki.lan.st/index.php/Custom_Firmware_with_OtherOS%2B%2B: PS3 CFW Custom Firmware with OtherOS++
First we need a custom Hypervisor (lv1.self) with OtherOS++ support and other nice features like full access to HV services :-) (working on it)
Second, we need a program like otheros.self which will resize VFLASH region and store there petitboot
Third, we need a GameOS program/XMB plugin which will trigger OtherOS++ boot after GameOS reboot by setting a flag on the 5th VFLASH region
Stay tuned for more PS3 Hacks and PS3 CFW news, follow us on Twitter and be sure to drop by the PS3 Hacks and PS3 Custom Firmware Forums for the latest PlayStation 3 scene updates and homebrew releases!
This is fantastic work. Congrats on the progress you have made and thanks for all the time and effort put into this.
This may be a stupid question, not sure...
If we can start to do all these things outside of GameOS, is it possible to have the best of both worlds? In other words can we run an unmodified GameOS so that Sony doesn't detect any funny modifications that lead to PSN bans, as well as running Linux & homebrew? I have zero interest in game backups or anything along those lines...
Over the weekend Graf Chokolo has continued on his project updating his PS3 Linux kernel with new drivers while Kmeaw has made available AsbestOS Linux Kernel Installer v2.0, although he states it is still a work-in-progress.
Added ioctl PS3RAM_IOCTL_USER_TO_LPAR_ADDR cmd to ps3ram character device to convert user space addresses to lpar addresses
New PS3 VUART Dispatcher Manager (port 10) driver
New PS3 Dispatcher Manager Proxy character device driver for user space /dev/ps3dmproxy
AsbestOS Linux Kernel Installer v2.0 Changelog:
ICON0.PNG – Updated for v2.0
sfo.xml – Updated for v2.0
Makefile – Updated for v2.0
Progress bar and 128M bootmem fix.
To quote from http://ps3.khore.org/asbestos-v20-released: Well folks, it's done! I've been working with kmeaw last couple of weeks in asbestOS v2.0. This release is easyer to use, and eases the installation of Debian GNU/Linux in your PS3. Right now, it's the best way to overcome the loss of OtherOS feature. Hope everyone enjoys it!
To quote from http://grafchokolo.com/ps3-development-page.html/comment-page-1/#comment-395: Just pushed my newest PS3 Linux drivers to remote GIT repository
You can access Dispatcher Manager from User Space through /dev/ps3dmproxy and in Kernel Space through ps3dm interface.
But take care, some HV services are dangerous and you should know what you are doing, you could e.g. overwrite your metldr or EID on FLASH So be careful.
I intend to write an updater for packages in the next days which will be able to update e.g. CORE OS package from Linux user space And then i will upload it.
For a long time i couldn’t decide where to implement the updater, in kernel space or in user space, kernel space makes e.g. easy converting memory addresses to LPAR addresses, but allocating large piece of memory in kernel is not simple, and implemnting HV services in kernel seems to me to be out of question, so i decied to do it from user space, more safe and easier
And we will need HUGEPAGE support for updater. I already tested it on my PS3 Linux and it works great One page is 16 MB large, more than enough for updating packages. The updater can allocate a huge page, store there the package, lock this page in memory so that swapper doesn’t move it to swap space, convert the address of the page to LPAR address and send it to Update Manager
I also added a new IOCTL to /dev/ps3ram character device – PS3RAM_IOCTL_USER_TO_LPAR_ADDR. It allows you to convert a user space memory address to LPAR address. We will need it for updater e.g., because updater has to send LPAR address of package to Update Manager. Here is an example how to use it: http://pastie.org/1585460
res = ioctl(fd, PS3RAM_IOCTL_USER_TO_LPAR_ADDR, &user_to_lpar_addr);
if (res < 0)
fprintf(stderr, "error: ioctl failed with %d\n", res);
Have fun and report any bugs to me please. HV hacking is cool
Just enabled ENCDEC and ATA debug messages in HV from Linux and now i can see those messages
http://pastie.org/1585891 HV rocks!!! Maybe i should enable RSX debug messages and see what they do.
Here is my new PS3 updater on Linux in action We don’t need PUP files or GameOS anymore to do updates It can be done now on Linux easily HV rocks It can inspect packages now Didn’t try updating yet, too dangerous, have to check everything 1000 times at least because i don’t have a NOR flasher
In case, you are wondering what those repo node value numbers mean, then read my HV page about UM inspect package service.
And here is an example if a package is damaged. I intentionally modified a package and let UM inspect it, It returns error
If SONY is reading it, they will know what those numbers mean
As i said previously, i allocated a huge page with mmap(MAP_HUGETLB) and stored there the package, then i converted the user space address of the buffer to LPAR address and sent a UM inspect package request to Update Manager through my /dev/ps3dmproxy.
To make Linux preallocate some huge pages during boot, i passed boot parameter “hugepages=1″, it means Linux kernel should preallocate 1 huge page of size 16 MB. And an application can grab this page with mmap syscall.
I will upload it soon Stay tuned. PS3+Linux+HV rock !!! And i know where to patch Update Manager in HV process 6 so it will allow us to do downgrades without Product Mode I also improved my DM drivers, will upload them soon too.
Extracting packages with Update Manager works now also