Robert Clausecker <
fuz_at_fuz.su> wrote on
Date: Thu, 27 Apr 2023 18:18:55 UTC :
> I would very much appreciate if lib32 support stays in (or is completed
> in the case of aarch64). Without it, FreeBSD becomes a lot less useful
> as a well rounded development system as you can no longer test code for
> 32 bit platforms. I also have a need for armv7 user space code in
> particular as I participate in and maintain the FreeBSD port of a Forth
> system written in armv7 assembly. Being able to run the same code you
> run on a microcontroller on a hosted platform makes it a lot easier to
> test and develop.
What I do for armv7 on aarch64 is to install an armv7
world into a directory tree and chroot into that world.
As I understand jails also work. One can install armv7
ports and such in the alternate world.
But I do not use X11 or other such so my range of
experience is limited and there could be issues that
I just do not know about.
> As for running 32 bit kernels, I do not really have an opinion.
For reference, for some examples details , including
some things not mentioned:
# ls -Tld /usr/obj/DESTDIRs/main-CA7-*/
drwxr-xr-x 19 root wheel 22 Jul 14 13:17:19 2022 /usr/obj/DESTDIRs/main-CA7-chroot/
drwxr-xr-x 18 root wheel 21 Apr 25 01:50:22 2023 /usr/obj/DESTDIRs/main-CA7-poud-bulk_a/
drwxr-xr-x 18 root wheel 21 Apr 25 01:51:29 2023 /usr/obj/DESTDIRs/main-CA7-poud/
# more ~/do-chroot-main-CA7.sh
#! /bin/sh
mkdir -p /usr/obj/DESTDIRs/main-CA7-chroot/dev/ \
&& mount -tdevfs devfs /usr/obj/DESTDIRs/main-CA7-chroot/dev/ \
&& mkdir -p /usr/obj/DESTDIRs/main-CA7-chroot/usr/local/poudriere/data/packages/main-CA7-default/ \
&& mount_nullfs /usr/local/poudriere/data/packages/main-CA7-default \
/usr/obj/DESTDIRs/main-CA7-chroot/usr/local/poudriere/data/packages/main-CA7-default/ \
&& mkdir -p /usr/obj/DESTDIRs/main-CA7-chroot/usr/ports/ \
&& mount_nullfs /usr/ports /usr/obj/DESTDIRs/main-CA7-chroot/usr/ports/ \
&& env IN_CHROOT="main-CA7-chroot" chroot /usr/obj/DESTDIRs/main-CA7-chroot/
umount /usr/obj/DESTDIRs/main-CA7-chroot/usr/ports/
umount /usr/obj/DESTDIRs/main-CA7-chroot/usr/local/poudriere/data/packages/main-CA7-default/
umount /usr/obj/DESTDIRs/main-CA7-chroot/dev/
(IN_CHROOT is just a personal thing: not required.)
# poudriere jail -l
JAILNAME VERSION ARCH METHOD TIMESTAMP PATH
main-CA53 14.0-CURRENT arm64.aarch64 null 2021-06-27 17:57:33 /usr/obj/DESTDIRs/main-CA53-poud
main-CA7 14.0-CURRENT arm.armv7 null 2021-06-27 17:58:33 /usr/obj/DESTDIRs/main-CA7-poud
main-CA7-bulk_a 14.0-CURRENT arm.armv7 null 2021-12-04 14:54:10 /usr/obj/DESTDIRs/main-CA7-poud-bulk_a
main-CA72 14.0-CURRENT arm64.aarch64 null 2021-06-27 17:48:11 /usr/obj/DESTDIRs/main-CA72-poud
main-CA72-bulk_a 14.0-CURRENT arm64.aarch64 null 2021-12-04 14:54:44 /usr/obj/DESTDIRs/main-CA72-poud-bulk_a
main-CA78C 14.0-CURRENT arm64.aarch64 null 2023-04-26 18:55:46 /usr/obj/DESTDIRs/main-CA78C-poud
main-CA78C-bulk_a 14.0-CURRENT arm64.aarch64 null 2023-04-26 18:56:06 /usr/obj/DESTDIRs/main-CA78C-poud-bulk_a
I do the building of packages from ports without doing
a chroot first. But /usr/obj/DESTDIRs/main-CA7-poud and
/usr/obj/DESTDIRs/main-CA7-poud-bulk_a are again
directorties with armv7 worlds installed, but with:
installworld distrib-dirs distribution DB_FROM_SRC=1
as is appropriate for poudriere using the world.
===
Mark Millard
marklmi at
yahoo.com