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

Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug



On 12/05/2013 06:01 PM, Ian Campbell wrote:
> On Thu, 2013-12-05 at 13:39 +0100, Marc Kleine-Budde wrote:
>> On 12/05/2013 01:15 PM, Ian Campbell wrote:
>>> On Thu, 2013-12-05 at 13:04 +0100, Marc Kleine-Budde wrote:
>>>> On 12/05/2013 12:57 PM, Ian Campbell wrote:
>>>>> On Thu, 2013-12-05 at 12:46 +0100, Marc Kleine-Budde wrote:
>>>>>> On 12/05/2013 12:34 PM, Martin Michlmayr wrote:
>>>>>>> * Marc Kleine-Budde <mkl@blackshift.org> [2013-12-05 11:49]:
>>>>>>>> That's no option, as non DT Sheeva Plug support has been removed from
>>>>>>>> the kernel in ffbc50663b69462adc9d97b93b6b92c4fe74b94c:
>>>>>>>>
>>>>>>>> ffbc506 ARM: kirkwood: remove support for legacy booting of Sheevaplug
>>>>>>>
>>>>>>> Interesting.  I thought they promised not to remove non-DT support for
>>>>>>> existing devices.
>>>>>>
>>>>>> I personally don't mind, if it's removed once the DT works properly.
>>>>>>
>>>>>>> Anyway, Marc, so thanks for your patch.  I wonder if it makes sense to
>>>>>>> add a check to flash-kernel whether DT is required or not.  i.e. that
>>>>>>> flash-kernel would append the DT blob on 3.12+ kernels on SheevaPlug
>>>>>>> but not on previous kernels.
>>>>>>
>>>>>> Yes, sounds like the way to go. Otherwise you have to tie certain
>>>>>> flash-kernel versions to the non-DT and DT kernels. This will probably
>>>>>> not scale when more no-DT board are removed from the kernel.
>>>>>>
>>>>>> Where should this information go? What about adding another field to
>>>>>> all.db which limits an entry to certain kernel versions? Something like
>>>>>> this:
>>>>>
>>>>> I think it would be sufficient to have a field marking the DTB as
>>>>> optional and have f-k only do the append if there is a dtb present in
>>>>> the DTS directory (/usr/lib/linux-X.Y/whatever) for the version it is
>>>>> handling. If the kernel needs a DTB but doesn't ship one, well ,that's a
>>>>> bug in the kernel (until we get to the point of burning DTBs into
>>>>> firmware, but lets not worry about that now!).
>>>>
>>>> ...or when the DT sources will be move into a separate repository.
>>>
>>> Indeed.
>>>
>>> Actually, now that I think about it -- a non-DT aware kernel just
>>> shouldn't care if you append a DT to it, it won't ever go looking. It's
>>> probably safe to just append it unconditionally.
>>
>> Yes, should be safe.
>>
>>> Which is what you did, so we've come full circle, sorry for the
>>> distraction.
>>
>> It's good to talk about the implications. If we want to handle
>> downgrading of kernels with an updated flash-kernel, I think, that
>> cannot be done without an additional Kernel-Version field.
>>
>> This is because v3.11 ships with:
>>
>> /usr/lib/linux-image-3.11-2-kirkwood/kirkwood-sheevaplug.dtb
>>
>> But non-DT Sheeva support is still in the kernel, so non-DT Sheeva Plug
>> is used with current flash-kernel and v3.11. Although v3.10 and v3.11
>> are not Wheezy's kernels.
> 
> Is 3.11+DTB actively broken though?

v3.11+DT works on Sheeva Plug, just tested it.

I was thinking of the following scenario:

I have installed current flash-kernel (without DT support) and kernel
v3.11. Then the new flash-kernel with
append-DT-if-present-in-the-Kernel-package feature is released together
with a new DT only kernel (=v3.12). I upgrade, because I want to have
the shiny new kernel.

For whatever reason I want to downgrade to v3.11, then I end up with
v3.11 with DT, because the flash-kernel is still the new one.

The system does not behave as I expected. I downgraded to the same
kernel but now the DT Sheeva Plug is booted.

Although the bootloader sets the ARCH number, a attached DT seems to be
preferred.

>>> I suppose it would be nice to just check that the Wheezy kernel doesn't
>>> complain about or get confused by the appended DTB. Can you check that?
>>
>> I don't have physical access to that Sheeva Plug.
> 
> Hrm, this would be something which would be good to try somewhere.

On Wheezy there is no Sheevaplug DTB to attach...

> Now I think of it the Wheezy kirkwood kernel did have DT and
> APPENDED_DTB support enabled, in order to support dreamplugs.

http://packages.debian.org/wheezy/armel/linux-image-3.2.0-4-kirkwood/filelist

Wheezy has two dtb files:

/usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-dreamplug.dtb
/usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-iconnect.dtb

> I have a feeling that would mean that it wouldn't boot if you appended a
> dtb to it. Which would mean we do have to think about versioned checks
> or something.

Just stating the obvious: The Sheeva Plug probably wouldn't boot if I
attach a dreamplug dtb to it. :)

Marc

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: