[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