[Buildroot] aarch64 + armhf multiarch support?

daggs daggs at gmx.com
Fri Feb 9 12:29:24 UTC 2018


Greetings Jens,

>
> Hi Dagg,
> 
> > Am 08.02.2018 um 13:07 schrieb daggs <daggs at gmx.com>:
> > 
> >>> Am 08.02.2018 um 12:36 schrieb daggs <daggs at gmx.com>:
> >>> 
> >>> ok, currently in buildroot there is no possibility to build a odroid c2 based 32 big image because the vendor didn't implemented some of the opcode in u-boot.
> >>> however, I've posted a bunch of patches 2 months ago which introduce mainline kernel (4.14.x) and mainline uboot (2017.07) support for this board.
> >>> you might be able to build a 32 bit image using these patches.
> >>> 
> >>> imho it worth looking into it.
> >> 
> >> Would you mind sharing a link with me pointing to the corresponding patches? That would be great.
> > 
> > sure, see: https://patchwork.ozlabs.org/project/buildroot/list/?submitter=69054
> 
> Thanks for the link. I just integrated these patches into my buildroot environment and reconfigured the odroidc2 defconfig to build for BR2_arm=y and BR2_cortex_a53=y instead of aarch64. The results suggest, however, that uboot is not able to build for the odroidc2 with armhf only:
> 
> — cut here —
>   CHK     include/config.h
>   CFG     u-boot.cfg
> cc1: warning: unknown register name: x18
>   HOSTLD  tools/dumpimage
>   HOSTLD  tools/mkimage
>   CC      arch/arm/mach-meson/board.o
>   CC      board/amlogic/odroid-c2/odroid-c2.o
>   CC      arch/arm/cpu/armv8/cpu.o
> cc1: warning: unknown register name: x18
> cc1: warning: unknown register name: x18
> cc1: warning: unknown register name: x18
> In file included from ./arch/arm/include/asm/bitops.h:193:0,
>                  from include/linux/bitops.h:124,
>                  from include/common.h:25,
>                  from board/amlogic/odroid-c2/odroid-c2.c:7:
> include/asm-generic/bitops/__fls.h: In function ‘__fls’:
> include/asm-generic/bitops/__fls.h:17:21: warning: left shift count >= width of type [-Wshift-count-overflow]
>   if (!(word & (~0ul << 32))) {
> […]
> In file included from include/common.h:97:0,
>                  from board/amlogic/odroid-c2/odroid-c2.c:7:
> include/dm/of.h: At top level:
> ./arch/arm/include/asm/global_data.h:107:58: error: invalid register name for ‘gd’
>  #define DECLARE_GLOBAL_DATA_PTR  register volatile gd_t *gd asm („x18“)
> — cut here —
> 
> To me this looks like U-Boot is not able to be built for the odroidc2 using only a armhf compiler. Or are there any u-boot defconfig changes I could try and hopefully see a 32bit build for the odroidc2?
> 
> Apart from that, are there really no possibilities to build a multiarch (aarch64+armhf) buildroot environment that allows to run 64bit and 32bit binaries at the same time? Or am I missing something?
> 
> regards,
> jens

sorry it didn't helped you, I wonder, can you compile the 32 bit bins yourself? if so why not compile the bins you need statically, place it on a nfs server, mount it on the c2 boards and run the bins? will that work for you?

Dagg.


More information about the buildroot mailing list