lukechilds / dockerpi

A Virtualised Raspberry Pi inside a Docker image

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

building image on aarch64

pciavald opened this issue · comments

Hey,

I'm trying to build this image for aarch64 instead of the provided x86. I tried on Pine64's RockPro64 and Mac Mini M1 and both result in the following build error of qemu. I tried building the image on x86, but that works without issue.

#26 650.1 [1710/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/meson-generated_.._qapi_qapi-commands-machine-target.c.o
#26 651.0 [1711/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/target_arm_arm-powerctl.c.o
#26 651.6 [1712/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/target_arm_machine.c.o
#26 652.6 [1713/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_highbank.c.o
#26 653.0 [1714/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_exynos4210.c.o
#26 653.9 [1715/2814] Linking target qemu-img
#26 653.9 /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/10/../../../aarch64-linux-gnu/libglib-2.0.a(gutils.c.o): in function `g_get_user_database_entry':
#26 653.9 (.text+0x27c): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
#26 653.9 /usr/bin/ld: (.text+0xe8): warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
#26 653.9 /usr/bin/ld: (.text+0x11c): warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
#26 653.9 /usr/bin/ld: libio.fa(io_dns-resolver.c.o): in function `qio_dns_resolver_lookup_sync_inet':
#26 653.9 /qemu/qemu-6.0.0/io/dns-resolver.c:90: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
#26 654.4 [1716/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_npcm7xx_boards.c.o
#26 655.4 [1717/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_sbsa-ref.c.o
#26 655.5 [1718/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_palm.c.o
#26 656.1 [1719/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_omap2.c.o
#26 656.4 [1720/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_sysbus-fdt.c.o
#26 657.9 [1721/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_msf2-soc.c.o
#26 658.4 [1722/2814] Linking target qemu-system-arm
#26 658.4 FAILED: qemu-system-arm 
#26 658.4 c++ @qemu-system-arm.rsp
#26 658.4 /usr/bin/ld: libblockdev.fa(os-posix.c.o): in function `change_process_uid':
#26 658.4 /qemu/qemu-6.0.0/os-posix.c:183: warning: Using 'initgroups' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
#26 658.4 /usr/bin/ld: libblockdev.fa(os-posix.c.o): in function `os_parse_cmd_args':
#26 658.4 /qemu/qemu-6.0.0/os-posix.c:137: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
#26 658.4 /usr/bin/ld: libcommon.fa.p/net_slirp.c.o: in function `slirp_smb':
#26 658.4 /qemu/qemu-6.0.0/net/slirp.c:827: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
#26 658.4 /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/10/../../../aarch64-linux-gnu/libglib-2.0.a(gutils.c.o): in function `g_get_user_database_entry':
#26 658.4 (.text+0xe8): warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
#26 658.4 /usr/bin/ld: (.text+0x11c): warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
#26 658.4 /usr/bin/ld: libcommon.fa.p/net_l2tpv3.c.o: in function `net_init_l2tpv3':
#26 658.4 /qemu/qemu-6.0.0/net/l2tpv3.c:640: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
#26 658.4 /usr/bin/ld: libcommon.fa.p/net_net.c.o: in function `parse_host_port':
#26 658.4 /qemu/qemu-6.0.0/net/net.c:102: warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
#26 658.4 /usr/lib/gcc/aarch64-linux-gnu/10/../../../aarch64-linux-gnu/libc.a(init-first.o): in function `__libc_init_first':
#26 658.4 (.text+0x80): relocation truncated to fit: R_AARCH64_LD64_GOTPAGE_LO15 against symbol `_dl_fpu_control' defined in .bss section in /usr/lib/gcc/aarch64-linux-gnu/10/../../../aarch64-linux-gnu/libc.a(dl-support.o)
#26 658.4 /usr/bin/ld: (.text+0x80): warning: too many GOT entries for -fpic, please recompile with -fPIC
#26 658.4 collect2: error: ld returned 1 exit status
#26 658.6 [1723/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_strongarm.c.o
#26 658.6 [1724/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_spitz.c.o
#26 659.0 [1725/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_fsl-imx6.c.o
#26 659.5 [1726/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_musca.c.o
#26 660.5 [1727/2814] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_arm_fsl-imx7.c.o
#26 660.5 ninja: build stopped: subcommand failed.
#26 660.5 make: *** [Makefile:152: run-ninja] Error 1
------
error: failed to solve: executor failed running [/bin/sh -c make -j$(nproc)]: exit code: 2
commented

You can use the armhf image I built, which runs well on arm64: https://hub.docker.com/r/hmsjy2017/dockerpi-armhf