Getting kernel 4.14 to run on PS3

7 messages, 3 authors, 2017-12-31 · open the first message on its own page

Getting kernel 4.14 to run on PS3

From: Sascha Schroeder <hidden>
Date: 2017-12-08 09:24:11

Hey Geoff,

I'm still thankful today that you're running a PS3 Linux tree via
https://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git!
Good work!

I yesterday tried to compile the newest kernel 4.14 for my PS3 running
OtherOS++ and "Red Ribbon GNU Linux" from 2014. I even succeeded and
created the three *.deb files and installed them afterwards.

Unfortunately, my machine did not boot.

As far as I read in very old sources, this could be that my machine is
using OtherOS++ on firmware 3.55.2 and not the Sony OtherOS prior
firmware 3.2x.

I'm in contact with the creator from "Red Ribbon" and he mentioned we
have to manually patch PS3 linux kernel.

So, my question 1 would be: which patches would I need to get the newest
kernel 4.14 running on my PS3 machine?

Question 2 would be: maybe there exists a second tree where we can get
the kernel for OtherOS++ too?

Maybe there is other stuff I am missing, but as far as I can tell the
sources compile beautifully on the PS3 powerpc machine. Only downside:
it takes 4-5 hours depending on what you selected in the step of "make
menuconfig"...

Thanks so much in advance and have a good time,

Sascha

Re: Getting kernel 4.14 to run on PS3

From: Geoff Levand <geoff@infradead.org>
Date: 2017-12-08 17:37:54

Hi Sascha,

On 12/08/2017 01:24 AM, Sascha Schroeder wrote:
I yesterday tried to compile the newest kernel 4.14 for my PS3 running
OtherOS++ and "Red Ribbon GNU Linux" from 2014. I even succeeded and
created the three *.deb files and installed them afterwards.

Unfortunately, my machine did not boot.

As far as I read in very old sources, this could be that my machine is
using OtherOS++ on firmware 3.55.2 and not the Sony OtherOS prior
firmware 3.2x.

I'm in contact with the creator from "Red Ribbon" and he mentioned we
have to manually patch PS3 linux kernel.

So, my question 1 would be: which patches would I need to get the newest
kernel 4.14 running on my PS3 machine?
I don't know about your machine with OtherOS++ on firmware 3.55.2,
but for FAT and DECR-1400 models with firmware 3.15 or lower the
otheros.bld built from the latest ps3-queue-v4.14 branch of my
ps3-linux repo using either ps3_petitboot_defconfig or
ps3_petitboot_nfs_defconfig will boot if written to flash memory
using ps3-flash-util or the XMB [Install Other OS].

  https://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git

Be aware that there was a kernel ABI breakage effecting kexec and
that the ps3-petitboot-09.11.30 I released cannot boot kernels newer
than linux-v3.15. See:

  https://www.mail-archive.com/linuxppc-dev@lists.ozlabs.org/msg126348.html (Boot new kernel on PS3)
  https://www.mail-archive.com/debian-powerpc@lists.debian.org/msg66884.html (PS3?)

I'm working towards an updated petitboot release.
Question 2 would be: maybe there exists a second tree where we can get
the kernel for OtherOS++ too?
Sorry, I don't know.  You'll need to ask for help in the hacker
community for OtherOS++.
Maybe there is other stuff I am missing, but as far as I can tell the
sources compile beautifully on the PS3 powerpc machine. Only downside:
it takes 4-5 hours depending on what you selected in the step of "make
menuconfig"...
I highly recommend you cross compile on a PC.

-Geoff 

Re: Getting kernel 4.14 to run on PS3

From: Sascha Schroeder <hidden>
Date: 2017-12-08 20:43:46

Hey Geoff,

thanks for your time and the clarification!

My firmware is downgradable, this should be possible because it got SS patches. Could be these are from you, so I could go back in fact to 3.15 and try the otheros.bld workaround. Thing is, I don't know if I can split my HDD to use my 110GB Linux; isn't it the case that normal OtherOS only grants you 20GB for Linux? That's the only thing that's holding me back, this way I could even use normal Debian.

I use an old and still working FAT model. The 1400 is a tool model which I don't own.

I don't like what I read about the ABI breakage stuff, to be honest. Especially the second link describes pretty well what happens on my machine. So, current status here is to upgrade to 3.15 kernels only, I think it doesn't make sense to try higher versions at the moment. Is it really "only" a kexec problem? Or something deeper, more difficult? I can try to help but I'm pretty new in this PS3 PowerPC Linux stuff. 

Using OtherOS++ was a coincidence. I found this special PUP which splits the HDD in half for Linux and GameOS. This was exactly what I wanted, so I stuck with it. :-) Finding PUPs today which provide Linux options is nearly impossible. I'm not a fan of "Rebug" either, don't want/need it. But they had one firmware with OtherOS++ support which was taken down or whatever. It's just non-existent anymore.

You don't know a community for OtherOS++ by chance? I found some forums online but most of them only care about pirated games (which doesn't interest me at this age anymore) and/or show posts which are highly outdated.

It's pretty hard today to stick with this hardware. But I'm fascinated by the Cell BE and want to learn it. It became a little obsession. So even compiling a kernel on the PS3 doesn't bother me much, I go to work and when I come home the fresh *.deb packages are ready to install. :-D But I understand what you mean of course, will check out cross-compiling. 

Geoff, thanks again for your time and wisdom! All the best, Sascha

Am 8. Dezember 2017 18:37:54 MEZ schrieb Geoff Levand [off-list ref]:
Hi Sascha,

On 12/08/2017 01:24 AM, Sascha Schroeder wrote:
quoted
I yesterday tried to compile the newest kernel 4.14 for my PS3
running
quoted
OtherOS++ and "Red Ribbon GNU Linux" from 2014. I even succeeded and
created the three *.deb files and installed them afterwards.

Unfortunately, my machine did not boot.

As far as I read in very old sources, this could be that my machine
is
quoted
using OtherOS++ on firmware 3.55.2 and not the Sony OtherOS prior
firmware 3.2x.

I'm in contact with the creator from "Red Ribbon" and he mentioned we
have to manually patch PS3 linux kernel.

So, my question 1 would be: which patches would I need to get the
newest
quoted
kernel 4.14 running on my PS3 machine?
I don't know about your machine with OtherOS++ on firmware 3.55.2,
but for FAT and DECR-1400 models with firmware 3.15 or lower the
otheros.bld built from the latest ps3-queue-v4.14 branch of my
ps3-linux repo using either ps3_petitboot_defconfig or
ps3_petitboot_nfs_defconfig will boot if written to flash memory
using ps3-flash-util or the XMB [Install Other OS].

 https://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git

Be aware that there was a kernel ABI breakage effecting kexec and
that the ps3-petitboot-09.11.30 I released cannot boot kernels newer
than linux-v3.15. See:

https://www.mail-archive.com/linuxppc-dev@lists.ozlabs.org/msg126348.html
(Boot new kernel on PS3)
https://www.mail-archive.com/debian-powerpc@lists.debian.org/msg66884.html
(PS3?)

I'm working towards an updated petitboot release.
quoted
Question 2 would be: maybe there exists a second tree where we can
get
quoted
the kernel for OtherOS++ too?
Sorry, I don't know.  You'll need to ask for help in the hacker
community for OtherOS++.
quoted
Maybe there is other stuff I am missing, but as far as I can tell the
sources compile beautifully on the PS3 powerpc machine. Only
downside:
quoted
it takes 4-5 hours depending on what you selected in the step of
"make
quoted
menuconfig"...
I highly recommend you cross compile on a PC.

-Geoff 

Re: Getting kernel 4.14 to run on PS3

From: Nathan Whitehorn <hidden>
Date: 2017-12-08 21:25:54


On 12/08/17 09:37, Geoff Levand wrote:
Hi Sascha,

On 12/08/2017 01:24 AM, Sascha Schroeder wrote:
quoted
I yesterday tried to compile the newest kernel 4.14 for my PS3 running
OtherOS++ and "Red Ribbon GNU Linux" from 2014. I even succeeded and
created the three *.deb files and installed them afterwards.

Unfortunately, my machine did not boot.

As far as I read in very old sources, this could be that my machine is
using OtherOS++ on firmware 3.55.2 and not the Sony OtherOS prior
firmware 3.2x.

I'm in contact with the creator from "Red Ribbon" and he mentioned we
have to manually patch PS3 linux kernel.

So, my question 1 would be: which patches would I need to get the newest
kernel 4.14 running on my PS3 machine?
I don't know about your machine with OtherOS++ on firmware 3.55.2,
but for FAT and DECR-1400 models with firmware 3.15 or lower the
otheros.bld built from the latest ps3-queue-v4.14 branch of my
ps3-linux repo using either ps3_petitboot_defconfig or
ps3_petitboot_nfs_defconfig will boot if written to flash memory
using ps3-flash-util or the XMB [Install Other OS].

   https://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git

Be aware that there was a kernel ABI breakage effecting kexec and
that the ps3-petitboot-09.11.30 I released cannot boot kernels newer
than linux-v3.15. See:

   https://www.mail-archive.com/linuxppc-dev@lists.ozlabs.org/msg126348.html (Boot new kernel on PS3)
   https://www.mail-archive.com/debian-powerpc@lists.debian.org/msg66884.html (PS3?)
I submitted patches to libfdt that resolve this particular ABI breakage 
yesterday. If the patch gets merged, newer kernels should become 
bootable again.
-Nathan

Re: Getting kernel 4.14 to run on PS3

From: Geoff Levand <geoff@infradead.org>
Date: 2017-12-12 23:05:39

Hi Nathan,

On 12/08/2017 01:25 PM, Nathan Whitehorn wrote:
I submitted patches to libfdt that resolve this particular ABI breakage yesterday. If the patch gets merged, newer kernels should become bootable again.
Here's the link:

  https://github.com/dgibson/dtc/pull/12 (Add limited read-only support for older (V2 and V3) device tree to libfdt.)

I rebased your patch and have it in my ps3-queue
branch, but my ps3 with ps3-petitboot-09.11.30 still
would not boot with it.  I didn't spend any time yet
to look into why.

  https://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git/log/?h=ps3-queue

-Geoff

Re: Getting kernel 4.14 to run on PS3

From: Nathan Whitehorn <hidden>
Date: 2017-12-31 22:50:14


On 12/12/17 15:05, Geoff Levand wrote:
Hi Nathan,

On 12/08/2017 01:25 PM, Nathan Whitehorn wrote:
quoted
I submitted patches to libfdt that resolve this particular ABI breakage yesterday. If the patch gets merged, newer kernels should become bootable again.
Here's the link:

   https://github.com/dgibson/dtc/pull/12 (Add limited read-only support for older (V2 and V3) device tree to libfdt.)

I rebased your patch and have it in my ps3-queue
branch, but my ps3 with ps3-petitboot-09.11.30 still
would not boot with it.  I didn't spend any time yet
to look into why.

   https://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git/log/?h=ps3-queue

-Geoff
I found a bug (and updated the pull request), which might help.

The other potential issue is that the fdt_get_property*() API in libfdt 
is fundamentally incompatible with the way that V2 device trees align 
data accesses since it returns a pointer to a packed structure with both 
the property header and data. However, the data in V2 devtrees may be 
offset by 4 bytes in a way that depends both on the offset within the 
tree and the length of the property and so cannot be represented only as 
the tail of a fixed structure. I don't know if Linux uses those 
functions; I had to replace two uses in FreeBSD with the equivalent 
fdt_getprop*() calls to get things to work.
-Nathan

Re: Getting kernel 4.14 to run on PS3

From: Sascha Schroeder <hidden>
Date: 2017-12-31 23:26:19

Sounds like progress! Nice one!

I encountered several issues with this box but still believe Cell can do more.

We're at an incredible architecture right here, what concerns me most is that we still today miss the availability of the mightyness of this machine.

Gallium 0.2 is still working for example, what we need here is people to bring this stuff further.

Heck, I have 7 SPEs on this machine, time to do something useful with these!

220Gflops FTW! 

Am 31. Dezember 2017 23:50:14 MEZ schrieb Nathan Whitehorn [off-list ref]:

On 12/12/17 15:05, Geoff Levand wrote:
quoted
Hi Nathan,

On 12/08/2017 01:25 PM, Nathan Whitehorn wrote:
quoted
I submitted patches to libfdt that resolve this particular ABI
breakage yesterday. If the patch gets merged, newer kernels should
become bootable again.
quoted
Here's the link:

   https://github.com/dgibson/dtc/pull/12 (Add limited read-only
support for older (V2 and V3) device tree to libfdt.)
quoted
I rebased your patch and have it in my ps3-queue
branch, but my ps3 with ps3-petitboot-09.11.30 still
would not boot with it.  I didn't spend any time yet
to look into why.

  
https://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git/log/?h=ps3-queue
quoted
-Geoff
I found a bug (and updated the pull request), which might help.

The other potential issue is that the fdt_get_property*() API in libfdt

is fundamentally incompatible with the way that V2 device trees align 
data accesses since it returns a pointer to a packed structure with
both 
the property header and data. However, the data in V2 devtrees may be 
offset by 4 bytes in a way that depends both on the offset within the 
tree and the length of the property and so cannot be represented only
as 
the tail of a fixed structure. I don't know if Linux uses those 
functions; I had to replace two uses in FreeBSD with the equivalent 
fdt_getprop*() calls to get things to work.
-Nathan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help