[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: PS3?



On Mon, Oct 9, 2017 at 11:02 AM, Geoff Levand <geoff@infradead.org> wrote:
> Hi Rob,
>
> On 10/06/2017 10:47 AM, Rob Herring wrote:
>> On Fri, Oct 6, 2017 at 11:16 AM, Geoff Levand <geoff@infradead.org> wrote:
>>> Hi Simon,
>>>
>>> On 09/22/2017 07:32 AM, Simon Richter wrote:
>>>> I'm trying to get a PS3 to boot with the powerpc64 kernel in stretch,
>>>> but had no luck so far. kexec from the boot menu happens, then the
>>>> screen goes blank and stays that way. I have a 3.5 kernel that boots and
>>>> works fine.
>>>
>>> Unfortunately, there was a kernel ABI breakage that made the current
>>> PS3 petitboot bootloader (kexec) unable to boot kernels newer than
>>> v3.16-rc1.  Here's the commit:
>>>
>>> commit e6a6928c3ea1d0195ed75a091e345696b916c09b (v3.16-rc1)
>>> Author: Rob Herring <robh@kernel.org>
>>> Date:   Wed Apr 2 15:10:14 2014 -0500
>>>     of/fdt: Convert FDT functions to use libfdt
>>>
>>> I've been working on an updated bootloader, but it is not
>>> ready yet.  If you would like to help with it, let me know.
>>
>> What's the version of the dtb? There's some issues around that[1]. I
>> never heard back in that case, so it never got fixed in the kernel.
>
>
> The current petitboot uses Linux-v2.6.30.9.  The dts shows '/dts-v1/'.

That's source (dts) version. I'm talking about the dtb binary version.
Forcing the version to 0x10 should confirm and workaround your issue.
Assuming this is in fact the issue, then a fix would look something
like this:

diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 27c535af0be8..c78198de155d 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -1210,6 +1210,9 @@ bool __init early_init_dt_verify(void *params)
        if (fdt_check_header(params))
                return false;

+       if (!fdt_offset_ptr(params))
+               fdt_set_version(params, 16);
+
        /* Setup flat device-tree pointer */
        initial_boot_params = params;
        of_fdt_crc32 = crc32_be(~0, initial_boot_params,


Reply to: