[PATCH RESEND] ARM: add dtbImage.<dt> and dtbuImage.<dt> rules

Rob Herring robherring2 at gmail.com
Mon Sep 30 18:44:18 EDT 2013


On Mon, Sep 30, 2013 at 1:14 PM, Tim Bird <tbird20d at gmail.com> wrote:
> On Tue, Sep 24, 2013 at 5:19 AM, Russell King - ARM Linux
> <linux at arm.linux.org.uk> wrote:
>> On Tue, Sep 24, 2013 at 08:01:52AM -0400, Jason Cooper wrote:
>>> On Tue, Sep 24, 2013 at 12:55:19PM +0200, Gerlando Falauto wrote:
>>> > So it shouldn't be such a crazy idea to create a dtbuImage.<dtb>
>>> > within Kbuild (as opposed to from an external wrapper for make).
>>>
>>> Yes :)  The problem is that we are moving to multiplatform zImages.  In
>>> that scenario, the uImage target isn't very helpful because it needs to
>>> be custom to each board.  Additionally, appended-dtb was intended as a
>>> developer tool and isn't intended as a deployable item.  It also
>>> defeats the purpose of multiplatform.
>>
>> And we've already taken the decision that we will not be augmenting
>> kbuild with any more ubooot specific stuff, especially with anything
>> that goes against the long term goal of having a single kernel image
>> which is bootable across multiple platforms.
>>
>> Having kbuild wrap the zImage + DTB up into a uImage goes directly
>> against this goal, because it turns the produced kernel into something
>> which is specific to a single target.  It's much worse than what we
>> had before we went to DT, because with this it can only be used on a
>> _single_ target, whereas prior to DT we could boot a single kernel
>> on a variety of compatible targets.
>>
>> Moreover, the support for appending the DTB to the zImage is a stop-gap
>> solution for the transition to a full DT based environment - don't
>> expect it to be around into the long term future.  Modern platforms
>> should be using a DT compatible boot loader, which means you don't
>> want to use the DTB appended to zImage method.
>>
>
> What is the long-term mechanism/methodology for creating a kernel
> that runs on a single system?  So many drivers now have device-tree
> dependencies that it seems unlikely we'll be able to avoid using
> device tree.  But if we don't care or don't want to support more than
> a single platform, what should we do (if appending DTB to the zImage
> will eventually go away).  Will the requirement be that all future
> Linux bootloaders will be DT-aware?

I don't think appended DTB will go away. In fact, use of it is now
being added to flash-kernel in debian/ubuntu. However, this is only
done at OS install time on running on the h/w. The problem goes beyond
just having a DT aware bootloader. You also need the bootloader to
ship with the DTB. This isn't happening yet, so the distros are having
to install their own DTB. Since there is not a standard way to install
a dtb and tell the bootloader where it is, the appended dtb is the
quick solution.

Rob



More information about the linux-arm-kernel mailing list