New AArch64/arm64 stage3 available

Hello all,

Following up with my AArch64/ARM64 on Gentoo post, in the last months Mike Frysinger (vapier) has worked in bringing arm64 support to the Gentoo tree.

He has created the profiles and the keyword, along with keywording a lot of packages(around 439), so props to him.

Upstream qemu-2.0.0-rc now supports aarch64/arm64, so I went ahead and created a stage3 using the new arm64 profile. Thanks to Mike I didn’t had to fight with a lot of problems like in the previous stage3.

For building I just had to have this in my package.keywords file:

=app-text/opensp-1.5.2-r3 **
=dev-util/gperf-3.0.4 **
=sys-apps/busybox-1.21.0 **
=app-text/sgml-common-0.6.3-r5 **
=app-text/openjade-1.3.2-r6 **
=app-text/po4a-0.42 **
=dev-perl/Text-CharWidth-0.40.0 **
=dev-perl/SGMLSpm-1.03-r7 **
=dev-util/intltool-0.50.2-r1 **
=dev-perl/XML-Parser-2.410.0 **
=dev-perl/Text-WrapI18N-0.60.0 **
=sys-apps/coreutils-8.22

And in my package.use file:

sys-apps/busybox -static

coreutils-8.21 fails to build, 8.22 built fine. And building busybox with USE=”static” still fails.

Also I’ve just found out that USE=”hpn” on net-misc/openssh makes the client segfault. Not sure if its because of qemu or because the unaligned accesses hpn had aren’t happy on arm64. So if you plan to use the ssh client in the arm64 chroot, make sure you have USE=”-hpn”

By the way, app-arch/lbzip2 seems to fail to run here, not sure if its because of qemu or it simply doesn’t work on arm64. It segfaults.

You can download it from: http://gentoo.osuosl.org/experimental/arm/arm64

I’ve also starting to upload some binary packages: http://tinderbox.dev.gentoo.org/default/linux/arm64/

Also, if someone wants to give us access to arm64 hardware, we would be really happy 🙂

 

Tags: , ,

4 Responses to “New AArch64/arm64 stage3 available”

  1. Colin Watson Says:

    In case it’s helpful, and since it’s a pain to do from scratch (especially if you don’t have real hardware), I bootstrapped ghc on Ubuntu arm64 recently; you can find it in the Ubuntu archive. It should be possible to use that to bootstrap Gentoo dev-lang/ghc.

  2. alexbennee Says:

    I’ll have to have a look at the lbzip2 stuff. We are fairly confident the instruction emulation is complete (modulo crypto/crc extensions).

  3. Janne Says:

    Unaligned accesses shouldn’t cause problems in qemu or real hardware unless someone foolishly enables strict alignment checking (ignoring exclusive load/store and load-aquire/store-release).

    Have you tried running the same binaries in ARM’s emulator?

    Also note that qemu-user is not thread-safe. Any process using threads might cause qemu-user crashes. I’ve actually run into this while testing qemu master. Since then patches from the opensuse aarch64 might have been ported so it might be less easy to hit.

    ARMv8 hardware running Linux is still hard to come by, will hopefully get better in the coming weeks.

  4. Janne Says:

    The app-arch/lbzip2 failure looks very much like a threading issue. Segfaulting qemu-aarch64 and it is using pthread.

Leave a reply to Janne Cancel reply