Getting kernel 4.14 to run on PS3

Nathan Whitehorn nwhitehorn at freebsd.org
Mon Jan 1 09:50:14 AEDT 2018



On 12/12/17 15:05, Geoff Levand wrote:
> 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
>

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


More information about the Petitboot mailing list