All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] uImage support for aarch64
@ 2017-02-14 16:00 chris warth
  2017-02-14 19:17 ` Baruch Siach
  0 siblings, 1 reply; 4+ messages in thread
From: chris warth @ 2017-02-14 16:00 UTC (permalink / raw)
  To: buildroot

Can anyone shed some light on why uImage with device tree is not a
supported format for the aarch64 architecture under Buildroot?  (see
the definition of BR2_LINUX_KERNEL_APPENDED_UIMAGE in linux/Config.in)

The appended uImage options in linux/Config.in seem to be dependent on
the BR2_arm or BR2_armeb.  In fact the base uImage format does not
appear to be supported for BR2_aarch64 at all.

Is this an oversight or is there a technical challenge to supporting
AARCH64 images in uImage format?

Thank you in advance,

- Chris

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] uImage support for aarch64
  2017-02-14 16:00 [Buildroot] uImage support for aarch64 chris warth
@ 2017-02-14 19:17 ` Baruch Siach
  2017-02-15 23:58   ` chris warth
  0 siblings, 1 reply; 4+ messages in thread
From: Baruch Siach @ 2017-02-14 19:17 UTC (permalink / raw)
  To: buildroot

Hi Cris,

On Tue, Feb 14, 2017 at 08:00:47AM -0800, chris warth wrote:
> Can anyone shed some light on why uImage with device tree is not a
> supported format for the aarch64 architecture under Buildroot?  (see
> the definition of BR2_LINUX_KERNEL_APPENDED_UIMAGE in linux/Config.in)
> 
> The appended uImage options in linux/Config.in seem to be dependent on
> the BR2_arm or BR2_armeb.  In fact the base uImage format does not
> appear to be supported for BR2_aarch64 at all.
> 
> Is this an oversight or is there a technical challenge to supporting
> AARCH64 images in uImage format?

uImage is deprecated on ARM 32bit as well. U-Boot added support for native 
zImage a few years back.

The problem with uImage is that kernel load address is hard codes in the 
uImage header. This prevents multi-platform compatibility, since RAM physical 
location and size varies on different platforms. zImage is much more flexible 
in this regard.

As for BR2_LINUX_KERNEL_APPENDED_UIMAGE, this is only useful when the 
bootloader is too old to support device tree. Being a relatively new 
architecture, and DT based from the start, I'm pretty sure there is no such 
bootloader for ARM64. Besides, ARM64 does not support the appended DTB trick 
to begin with.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] uImage support for aarch64
  2017-02-14 19:17 ` Baruch Siach
@ 2017-02-15 23:58   ` chris warth
  2017-02-16  5:57     ` Baruch Siach
  0 siblings, 1 reply; 4+ messages in thread
From: chris warth @ 2017-02-15 23:58 UTC (permalink / raw)
  To: buildroot

Thanks for the explanation of why uImage is deprecated for aarch64.

Does buildroot have support for building any compressed linux image
format for aarch64?

It seems surprising, but the only available image format listed in
linux/Config.in for aarch64 is BR2_LINUX_KERNEL_IMAGE.  uImage is not
available and neither is zImage.  Am I missing some trick to creating
compressed images?

Thanks in advance,

- Chris

On Tue, Feb 14, 2017 at 11:17 AM, Baruch Siach <baruch@tkos.co.il> wrote:
> Hi Cris,
>>
> uImage is deprecated on ARM 32bit as well. U-Boot added support for native
> zImage a few years back.
>
> The problem with uImage is that kernel load address is hard codes in the
> uImage header. This prevents multi-platform compatibility, since RAM physical
> location and size varies on different platforms. zImage is much more flexible
> in this regard.
>
> As for BR2_LINUX_KERNEL_APPENDED_UIMAGE, this is only useful when the
> bootloader is too old to support device tree. Being a relatively new
> architecture, and DT based from the start, I'm pretty sure there is no such
> bootloader for ARM64. Besides, ARM64 does not support the appended DTB trick
> to begin with.
>
> baruch
>
> --
>      http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
> =}------------------------------------------------ooO--U--Ooo------------{=
>    - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] uImage support for aarch64
  2017-02-15 23:58   ` chris warth
@ 2017-02-16  5:57     ` Baruch Siach
  0 siblings, 0 replies; 4+ messages in thread
From: Baruch Siach @ 2017-02-16  5:57 UTC (permalink / raw)
  To: buildroot

Hi Chris,

On Wed, Feb 15, 2017 at 03:58:46PM -0800, chris warth wrote:
> Thanks for the explanation of why uImage is deprecated for aarch64.

No. uImage is deprecated for ARM. Aarch64 never supported uImage.

> Does buildroot have support for building any compressed linux image
> format for aarch64?

The Aarch64 kernel provides various compressed image targets, Image.gz, 
Image.lzma, etc. See the complete list in arch/arm64/boot/Makefile. To make 
Buildroot generate one for you need to set BR2_LINUX_KERNEL_IMAGE_TARGET_NAME 
to the image name you need.

> It seems surprising, but the only available image format listed in
> linux/Config.in for aarch64 is BR2_LINUX_KERNEL_IMAGE.  uImage is not
> available and neither is zImage.  Am I missing some trick to creating
> compressed images?

The Aarch64 kernel supports neither uImage nor zImage (i.e., self extracting 
image). The job of uncompressing the kernel image on target is left to the 
bootloader.

baruch

> On Tue, Feb 14, 2017 at 11:17 AM, Baruch Siach <baruch@tkos.co.il> wrote:
> > uImage is deprecated on ARM 32bit as well. U-Boot added support for native
> > zImage a few years back.
> >
> > The problem with uImage is that kernel load address is hard codes in the
> > uImage header. This prevents multi-platform compatibility, since RAM physical
> > location and size varies on different platforms. zImage is much more flexible
> > in this regard.
> >
> > As for BR2_LINUX_KERNEL_APPENDED_UIMAGE, this is only useful when the
> > bootloader is too old to support device tree. Being a relatively new
> > architecture, and DT based from the start, I'm pretty sure there is no such
> > bootloader for ARM64. Besides, ARM64 does not support the appended DTB trick
> > to begin with.

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-02-16  5:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-14 16:00 [Buildroot] uImage support for aarch64 chris warth
2017-02-14 19:17 ` Baruch Siach
2017-02-15 23:58   ` chris warth
2017-02-16  5:57     ` Baruch Siach

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.