[PATCH] ARM: zImage: ensure header in LE format for BE8 kernels

Kevin Hilman khilman at linaro.org
Thu Jun 19 13:57:01 PDT 2014


Nicolas Pitre <nicolas.pitre at linaro.org> writes:

> On Thu, 19 Jun 2014, Kevin Hilman wrote:
>
>> I think this should probably be officialized since we've taken away the
>> ability for magic-number checking tools (like 'file') to distinguish
>> between big- and little-endian zImages.
>> 
>> For now, I've updated my tools to check for 'setend be' in ARM and
>> Thumb2 mode, but if this does get officialized, I'll gladly move over to
>> it.
>
> Would you ACK this patch?
>
> ----- >8
> ARM: zImage: identify kernel endianness
>
> With patch #8067/1 applied, it is no longer possible to determine the

minor nit: I'd rather see a commit id (commit subject) instead of the
reference in RMK's patch tracker, but other than that...

> endianness of a compiled kernel image.  This normally shouldn't matter
> to the boot environment, except for those cases where the selection of
> a ramdisk or root filesystem with a matching endianness has to be
> automated.
>
> Let's add a flag to the zImage header indicating the actual endianness.
> Four bytes from offset 0x30 can be interpreted as follows:
>
> 	04 03 02 01	big endian kernel
>
> 	01 02 03 04	little endian kernel
>
> Anything else should be interpreted as "unknown", in which case it is
> most likely that patch #8067/1 was not applied either and the zImage
> magic number at offset 0x24 could be used instead to determine
> endianness. No zImage before this patch ever produced 0x01020304 nor
> 0x04030201 at offset 0x30 so there is no confusion possible.
>
> Signed-off-by: Nicolas Pitre <nico at linaro.org>

Acked-by: Kevin Hilman <khilman at linaro.org>



More information about the linux-arm-kernel mailing list