Re: Running armv7 on aarch64

From: Mark Millard <marklmi_at_yahoo.com>
Date: Tue, 18 Oct 2022 18:36:40 UTC
On 2022-Oct-18, at 11:18, Kristof Provost <kp@FreeBSD.org> wrote:

> On 18 Oct 2022, at 19:38, Mark Millard wrote:
> 
> On 2022-Oct-18, at 09:53, Kristof Provost <kp@FreeBSD.org> wrote:
> 
> It’s not quite clear to me how this is supposed to work (now). On amd64 there’s a separate /libexec/ld-elf32.so.1, which we don’t have on aarch64. Is it supposed to be built?
> 
> It’s broken on ab9293239c7d and e03b7883e97c at the very least.
> 
> [I'm ignoring qemu, which I do not use. The below is from 
> a Cortex-A72 aarch64 context that can execute Cortex-A7 
> armv7 code as well. Have you been using qemu?]
> 
> Historically I've only been able to execute armv7 FreeBSD 
> code on aarch64 FreeBSD via using the likes of, say, 
> chroot'ing into an installed armv7 world in a directory 
> tree that I created for such. (I manually split some 
> liong-lineouptut for readabilty.)
> 
> 
> Thanks for that!
> 
> That’s at least part of what I was missing. Long story short, I’m trying to build an armv7 image on an aarch64 machine, and having issues with poudriere. I figured I was going to simplify things by executing the armv7 binary directly (to debug), but that’s missing a few steps and had me chasing down the wrong track.
> 
> I can’t chroot into that armv7 jail, I still see errors like this:
> 
> (kp@freebsd_current)  /usr/local/poudriere/data/.m/main-pfSense_factory_ports_plus_devel/ref % sudo chroot .
> ELF binary type "9" not known.
> ELF binary type "9" not known.
> chroot: /bin/sh: Exec format error
> 
> But at least I think I’m looking in the correct direction now.

Appropriately set up, poudriere's jails are like the chroot
example I used.

I do my armv7 port builds on a Cortex-A72 system via poudriere.
(No qemu use involved.)

# poudriere jail -jmain-CA7 -i
Jail name:         main-CA7
Jail version:      14.0-CURRENT
Jail arch:         arm.armv7
Jail method:       null
Jail mount:        /usr/obj/DESTDIRs/main-CA7-poud
Jail fs:           
Jail updated:      2021-06-27 17:58:33
Jail pkgbase:      disabled

/usr/obj/DESTDIRs/main-CA7-poud is analogous to my
prior armv7 world example.

===
Mark Millard
marklmi at yahoo.com