Re: Future of 32-bit platforms (including i386)

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.architechture
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.