Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Oct 2022 20:18:03 +0200
From:      Kristof Provost <kp@FreeBSD.org>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>, Brooks Davis <brooks@freebsd.org>
Subject:   Re: Running armv7 on aarch64
Message-ID:  <DD4575CF-3F12-44D2-8B4B-644FC60C20A4@FreeBSD.org>
In-Reply-To: <3CA3B1F4-46CB-4C75-8451-AF2CA4E9F74B@yahoo.com>
References:  <E67F7119-13B2-4166-BE22-D3A89E522E7E@FreeBSD.org> <3CA3B1F4-46CB-4C75-8451-AF2CA4E9F74B@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--=_MailMate_B232686B-A96C-4E90-A8C5-9FD7370DC60A_=
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

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.

Best regards,
Kristof
--=_MailMate_B232686B-A96C-4E90-A8C5-9FD7370DC60A_=
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html>
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/xhtml; charset=3Dutf-8"=
>
</head>
<body><div style=3D"font-family: sans-serif;"><div class=3D"markdown" sty=
le=3D"white-space: normal;">
<p dir=3D"auto">On 18 Oct 2022, at 19:38, Mark Millard wrote:</p>
</div><div class=3D"plaintext" style=3D"white-space: normal;"><blockquote=
 style=3D"margin: 0 0 5px; padding-left: 5px; border-left: 2px solid #136=
BCE; color: #136BCE;"><p dir=3D"auto">On 2022-Oct-18, at 09:53, Kristof P=
rovost &lt;kp@FreeBSD.org&gt; wrote:</p>
<blockquote style=3D"margin: 0 0 5px; padding-left: 5px; border-left: 2px=
 solid #136BCE; border-left-color: #4B89CF; color: #4B89CF;"><p dir=3D"au=
to">It=E2=80=99s not quite clear to me how this is supposed to work (now)=
=2E On amd64 there=E2=80=99s a separate /libexec/ld-elf32.so.1, which we =
don=E2=80=99t have on aarch64. Is it supposed to be built?</p>
<p dir=3D"auto">It=E2=80=99s broken on ab9293239c7d and e03b7883e97c at t=
he very least.</p>
</blockquote><p dir=3D"auto">[I'm ignoring qemu, which I do not use. The =
below is from
<br>
a Cortex-A72 aarch64 context that can execute Cortex-A7
<br>
armv7 code as well. Have you been using qemu?]</p>
<p dir=3D"auto">Historically I've only been able to execute armv7 FreeBSD=

<br>
code on aarch64 FreeBSD via using the likes of, say,
<br>
chroot'ing into an installed armv7 world in a directory
<br>
tree that I created for such. (I manually split some
<br>
liong-lineouptut for readabilty.)</p>
<br></blockquote></div>
<div class=3D"markdown" style=3D"white-space: normal;">
<p dir=3D"auto">Thanks for that!</p>
<p dir=3D"auto">That=E2=80=99s at least part of what I was missing. Long =
story short, I=E2=80=99m trying to build an armv7 image on an aarch64 mac=
hine, and having issues with poudriere. I figured I was going to simplify=
 things by executing the armv7 binary directly (to debug), but that=E2=80=
=99s missing a few steps and had me chasing down the wrong track.</p>
<p dir=3D"auto">I can=E2=80=99t chroot into that armv7 jail, I still see =
errors like this:</p>
<pre style=3D"margin-left: 15px; margin-right: 15px; padding: 5px; border=
: thin solid gray; overflow-x: auto; max-width: 90vw; background-color: #=
E4E4E4;"><code style=3D"padding: 0 0.25em; background-color: #E4E4E4;">(k=
p@freebsd_current)  /usr/local/poudriere/data/.m/main-pfSense_factory_por=
ts_plus_devel/ref % sudo chroot .
ELF binary type &quot;9&quot; not known.
ELF binary type &quot;9&quot; not known.
chroot: /bin/sh: Exec format error
</code></pre>
<p dir=3D"auto">But at least I think I=E2=80=99m looking in the correct d=
irection now.</p>
<p dir=3D"auto">Best regards,<br>
Kristof</p>

</div>
</div>
</body>

</html>

--=_MailMate_B232686B-A96C-4E90-A8C5-9FD7370DC60A_=--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DD4575CF-3F12-44D2-8B4B-644FC60C20A4>