Hi Rogan,

On Thu, Jun 15, 2023 at 9:00 AM Rogan Dawes <ro...@dawes.za.net> wrote:
>
> Hi folks,
>
> I am trying to boot a custom kernel on a Wink Hub v1, which has an i.MX28
> CPU, and is running U-Boot (U-Boot 2014.01-14400-gda781c6-dirty (Apr 30
> 2014 - 22:35:38)).
>
> I have tried compiling my own modern kernel and putting it in place of the
> vendor (Linux version 2.6.35.3-flex-dvt) kernel on the flash chip, but when
> loading, I simply get the expected U-Boot loading messages, but then
> nothing at all from the serial port after that.
>
> I'm trying to figure out where my problem is most likely to be. As far as I
> am aware from long-ago poking at U-Boot, the way that U-Boot passes
> arguments to the kernel has changed recently? Previously it was ATAGS, and
> now it expects a Device Tree Blob? Might this explain the failure to boot
> that I am seeing? And yes, I understand that given that

Yes, to boot a modern kernel, you need to generate a devicetree for
the Wink Hubv1 board.

Then you build it and generate a .dtb file.

To boot zImage + dtb using an old bootloader that does not support booting dtb,
you would need to select the following options in the kernel:

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y

And then:

cat arch/arm/boot/zImage arch/arm/boot/dts/imx28-wink-hub-v1.dtb >
zImage_with_dtb

And then boot zImage_with_dtb as you do with 2.6.35.

Ideally, you should also port a modern U-Boot version, which supports
dtb by default and then you don't need the
steps above.

Take a look at board/freescale/mx28eevk support for a reference.

Regards,

Fabio Estevam

Reply via email to