Date: Fri, 22 Dec 2023 20:26:51 -0800 From: Mark Millard <marklmi@yahoo.com> To: Alex Samorukov <samm@freebsd.org> Cc: freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: problems on FreeBSD14 on armv6 board (RPI1-B) Message-ID: <FDF6E795-33DF-4CEB-BF4F-601CFCAAA3AE@yahoo.com> In-Reply-To: <fd275f92802b024879a3f19fa9a781ab@freebsd.org> References: <2025707260.15114.1702739060451@localhost> <29274DE1-57D2-45D3-BEB0-CBCF7C70681D@yahoo.com> <3E19FD5D-BC1A-4BA0-970F-BF195D8F7470@yahoo.com> <fca474837836af15bf097dc2a788951c@freebsd.org> <A98DDDE3-DE73-4908-B224-C288E6A36180@yahoo.com> <7115fd399a58084266b71ecfbd400334@freebsd.org> <DEF715CB-6FF1-415C-A316-8B309E2F2BFD@yahoo.com> <fd275f92802b024879a3f19fa9a781ab@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Dec 17, 2023, at 23:34, Alex Samorukov <samm@freebsd.org> wrote: > On 2023/12/18 01:41, Mark Millard wrote: >=20 >> I'll note that I've never done such "armv6-only processor" testing. >> I'll not have access to any FreeBSD arm6, arm7, or aarch64 contexts >> until after something like 2024-Jan-01. > I also checked llvm compilation logs: >=20 > -- LLVM host triple: armv6-portbld-freebsd13.2-gnueabihf > -- LLVM default target triple: armv6-portbld-freebsd13.2-gnueabihf >=20 > So I would expect it will not use armv7 instructions based on the = "host" (jail) EABI. >=20 > Also, I see that rust is failing to build: >=20 > rust-1.74.1.log:=3D>> Ignoring lang/rust: is only for aarch64 amd64 = armv7 i386 powerpc powerpc64 powerpc64le riscv64, while you are running = armv6 (reason: requires prebuilt bootstrap compiler) >=20 > Not sure if it's done due to qemu problem or not, maybe will try to = remove ignore later and rebuild I got access to one of the RPi4B's, so looking for myself . . . I used = FreeBSD-14.0-STABLE-arm64-aarch64-RPI-20231216-2ef9079ece5a-266002.img dd'd to media in order to boot: # uname -apKU FreeBSD generic 14.0-STABLE FreeBSD 14.0-STABLE #0 = stable/14-n266002-2ef9079ece5a: Sat Dec 16 08:49:23 UTC 2023 = root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC = arm64 aarch64 1400501 1400501 I downloaded = FreeBSD-13.2-STABLE-arm-armv6-RPI-B-20231216-9986fd59d855-256898.img and dd'd it to media as well. # mount -onoatime /dev/da1s2a /mnt # file /mnt/bin/sh /mnt/bin/sh: ELF 32-bit LSB executable, ARM, EABI5 version 1 (FreeBSD), = dynamically linked, interpreter /libexec/ld-elf.so.1, FreeBSD-style, for = FreeBSD 13.2 (1302509), stripped # chroot /mnt/ # uname -apKU FreeBSD generic 14.0-STABLE FreeBSD 14.0-STABLE #0 = stable/14-n266002-2ef9079ece5a: Sat Dec 16 08:49:23 UTC 2023 = root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC = arm armv7 1400501 1302509 Note the "arm armv7". An aarch64 kernel can be built and booted that makes that "arm armv6" so that more things work. # uname -p armv7 # make -V MACHINE_ARCH armv6 That contradicts what man uname reports relative to "uname -p" and = "MACHINE_ARCH": -p Write the type of the machine processor architecture to = standard output. (make(1) uses it to set the MACHINE_ARCH = variable.) # c++ -v FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git = llvmorg-16.0.6-0-g7cbf1a259152) Target: armv6-unknown-freebsd13.2-gnueabihf Thread model: posix InstalledDir: /usr/bin So, without the adjusted kernel, an odd mix of armv6 and armv7. As for rust vs. armv6: the lang/rust/Makefile has: ONLY_FOR_ARCHS?=3D aarch64 amd64 armv7 i386 powerpc64 powerpc64le = powerpc \ ONLY_FOR_ARCHS_REASON?=3D requires prebuilt bootstrap compiler =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FDF6E795-33DF-4CEB-BF4F-601CFCAAA3AE>