[U-Boot] Booting non devicetree enabled kernels using u-boot build with CONFIG_OF_LIBFDT ?
Hans de Goede
hdegoede at redhat.com
Sun Nov 16 20:41:06 CET 2014
Hi,
On 11/13/2014 07:38 PM, Hans de Goede wrote:
> Hi,
>
> On 11/13/2014 07:34 PM, Tom Rini wrote:
>> On Thu, Nov 13, 2014 at 07:08:59PM +0100, Hans de Goede wrote:
>>> Hi all,
>>>
>>> So as you know I've been working on getting mainline u-boot to boot the
>>> older android derived linux-sunxi kernels, as some people need features
>>> not yet in mainline, and I would like there to be only one u-boot for both.
>>>
>>> I had this working a while ago, but recently it broke, this is caused by
>>> config_distro_defaults.h setting CONFIG_OF_LIBFDT, if I undef that
>>> after including config_distro_defaults.h things work again.
>>>
>>> I do not know if CONFIG_OF_LIBFDT is a recent addition to config_distro_defaults.h,
>>> or if something else broke things. But if I do not undef it, boot fails with:
>>>
>>> sun7i# bootm start 0x48000000
>>> ## Booting kernel from Legacy Image at 48000000 ...
>>> Image Name: Linux-3.4.75.sun7i+
>>> Image Type: ARM Linux Kernel Image (uncompressed)
>>> Data Size: 3966672 Bytes = 3.8 MiB
>>> Load Address: 40008000
>>> Entry Point: 40008000
>>> Verifying Checksum ... OK
>>> Could not find a valid device tree
>>
>> My hunch is that we've got more fall-out from Simon's re-org of the
>> bootm code ages ago. It should be valid to try and boot a kernel
>> without a device tree and other parts of the code base (for example
>> arch/arm/lib/bootm.c) still do a FDT-or-ATAGS dance for example.
>
> That is good news, because ideally upstream u-boot build with
> OLD_SUNXI_KERNEL_COMPAT should be able to boot old disk images without
> needing them to modify their boot.scr, which requiring bootm 0xfoo - -
> would do.
>
> So maybe check if there is a third argument to bootm, and if there
> is not still try the dance for finding one appended in various ways,
> and if that fails continue normally (where as with the third
> argument present this of course needs to stay an error) ?
Ping ? The above was intended as a question, I'm willing to spend some
time on getting the behavior suggested above, but first I would like to
heat that such behavior is desirable (and thus my patch has a chance of
getting applied).
Regards,
Hans
More information about the U-Boot
mailing list