[Buildroot] Unable to boot Arm926t with big endian support

Peter Korsgaard peter at korsgaard.com
Tue Nov 18 14:54:45 UTC 2014


>>>>> "Peder" == Peder Alm <peder.alm at semcon.com> writes:

 >>> Dear Peter
 >>>> -8 is ENOEXEC, E.G. most likely invalid ELF variant.
 >>>> 
 >>>> Your kernel is running in big endian mode, right?

 >>> How do I know if my kernel is running in BE mode? I have just changed
 >>> the settings in Buildroot configuration. I found no settings for BE
 >>> mode in the Linux kernel configuration when I added support for NFS.

 >> For ARM the config option is CPU_BIG_ENDIAN:
 >> git grep -A2 BIG_ENDIAN arch/arm/mm/Kconfig | head -n 3
 >> arch/arm/mm/Kconfig:config CPU_BIG_ENDIAN
 >> arch/arm/mm/Kconfig-    bool "Build big-endian kernel"
 >> arch/arm/mm/Kconfig:    depends on ARCH_SUPPORTS_BIG_ENDIAN

 > Running make linux-menuconfig and searching for CPU_BIG_ENDIAN I find
 > that it is set to 'n' and I have no possibility to change this.

So that means that your ARM variant doesn't have any big endian support.

git grep ARCH_SUPPORTS_BIG_ENDIAN                                     ~/source/linux-2.6/arch/arm
Kconfig:        select ARCH_SUPPORTS_BIG_ENDIAN
mach-highbank/Kconfig:  select ARCH_SUPPORTS_BIG_ENDIAN
mach-keystone/Kconfig:  select ARCH_SUPPORTS_BIG_ENDIAN
mach-mvebu/Kconfig:     select ARCH_SUPPORTS_BIG_ENDIAN
mach-vexpress/Kconfig:  select ARCH_SUPPORTS_BIG_ENDIAN
mach-zynq/Kconfig:      select ARCH_SUPPORTS_BIG_ENDIAN

So big endian is only supported for ixp4xx, highbank, keystone, mvebu,
vexpress and zynq.

 > It looks like Buildroot never enables big endian for the kernel
 > despite of the ARM (big endian) selection in Buildroot configuration.

No, we indeed don't do that. We could (patches are welcome), but it
wouldn't have helped you as your ARM variant doesn't support it.

Why do you want to run in big endian mode?

-- 
Bye, Peter Korsgaard 



More information about the buildroot mailing list