OtherOS boot process...

Technical discussion on the newly released and hard to find PS3.

Moderators: cheriff, emoon

Post Reply
McCall
Posts: 2
Joined: Fri Apr 20, 2007 8:01 pm

OtherOS boot process...

Post by McCall »

Hi Folks,

I am doing a bit of research on what it would take to port another OS to the PS3 & Hypervisor, specifically I am looking at Haiku (http://haiku-os.org/) I am not really interested in running on the bare hardware, using the hypervisor would be fine for the time being.

Some of the topics in the forums mention that otheros is an elf file with a sce encrypted header, meaning that this can't be modified. Am I correct in assuming that this will only boot a linux kernel, and if a different OS wanted to use this for booting, the different OS would have to alter itself to be allowed to boot in the same way Linux does?

Does anyone know where I can read some detailed information on the boot process of an otheros on the PS3? Are there any documents available on the hardware that the hypervisor presents to an OS anywhere to read?

Thanks!
Warren
Posts: 175
Joined: Sat Jan 24, 2004 8:26 am
Location: San Diego, CA

Post by Warren »

It is possible to make your own otheros.bld file, take a look at how petitBoot does it.
McCall
Posts: 2
Joined: Fri Apr 20, 2007 8:01 pm

Post by McCall »

Warren wrote:It is possible to make your own otheros.bld file, take a look at how petitBoot does it.
I have looked over this already, as I understand it its just an Linux initrd, so its still booting Linux, not a different OS. Does ps3-kboot have homepage?
jimparis
Posts: 1145
Joined: Fri Jun 10, 2005 4:21 am
Location: Boston

Post by jimparis »

Otheros.self is the installer for the PS3 GameOS side of things. It has nothing to do specifically with Linux. In recent firmwares the functionality is already included on the PS3, so don't worry about the .self anymore.

Otheros.bld is the bootloader image which gets put into flash and loaded when you select "Other OS" as the default system. This file is a gzipped copy of the vmlinux.bin that gets built when you build Linux. So, you already have all of the source code for otheros.bld.
ralferoo
Posts: 122
Joined: Sat Mar 03, 2007 9:14 am
Contact:

Post by ralferoo »

jimparis wrote:Otheros.self is the installer for the PS3 GameOS side of things. It has nothing to do specifically with Linux. In recent firmwares the functionality is already included on the PS3, so don't worry about the .self anymore.
The interest is the .self is that it contains the hypervisor code and so is an interesting target for examination (albeit probably in violation of the reverse engineering clause on Sony's download page, depending on what country you live in).

Secondly, the encryption / compression looks similar to the other files in the firmware download, so analyzing that could give people more clues as to how the firmware works.

Finally, somewhere inside those .pkg files downloaded from the store, we will probably find .self files in there..

So, actually analysing otheros.self will probably help the efforts of figuring out the hypervisor and RSX details and so make it more likely that we can figure out how to make better use of the hardware we've bought.
urchin
Posts: 121
Joined: Thu Jun 02, 2005 5:41 pm

Post by urchin »

ralferoo wrote:The interest is the .self is that it contains the hypervisor code
Is there anything official about that? I would have thought the hypervisor would have been initialised from the firmware during startup, reducing the possibilities for circumvention. Although I do wonder if they left something daft in like being able to boot unencrypted .selfs (which is why they removed this procedure in recent firmware)
laichung
Posts: 123
Joined: Fri May 06, 2005 2:02 pm

Post by laichung »

Just a OT notes, there are different file format with filename extension PKG.
For example , F@H file from the net should be a package file (with a PKG header inside the file). And from the firmware, some files like "MULTI_CARD_FIRMWARE.pkg", header is SCE.

For those file which is encrypted, it should start with SCE header.
And for those file which is runnable, a ELF section should exist after the SCE header section.
User avatar
mc
Posts: 211
Joined: Wed Jan 12, 2005 7:32 am
Location: Linköping

Post by mc »

You may want to check out this thread.
Flying at a high speed
Having the courage
Getting over crisis
I rescue the people
Post Reply