I've been building NetBSD from src for a while -- I used to do my sparc and i386 from src back in the day. But I'm new to crossbuild, and things may have changed over time in any case, so I have a question.
In my lab "build farm" I have a small amd64 and an rpi4b, I'd like to use at least the rpi4 for 10, 11, and current builds, to install on itself, the amd64, and various x86 VM's. E.g. recently I ran a crossbuild for amd64 on the rpi4 like this: $ cd /usr/src/current/ && ./build.sh -j 2 -a x86_64 -m amd64 \ -O /usr/obj/current/ -T /usr/tools/current/ -x -X /usr/xsrc/current/ \ -U -u release ===> build.sh command: ./build.sh -j 2 -a x86_64 -m amd64 -O /usr/obj/current/ -T /usr/tools/current/ -x -X /usr/xsrc/current/ -U -u release ===> build.sh started: Fri Dec 5 08:11:51 PST 2025 ===> NetBSD version: 11.99.4 ===> MACHINE: amd64 ===> MACHINE_ARCH: x86_64 ===> Build platform: NetBSD 10.1_STABLE evbarm ===> HOST_SH: /bin/sh The /usr/src/*/, /usr/xsrc/*/, /usr/obj/*/, and /usr/tools/*/ subdirs are all NFS-mounted if that's pertinent. This seemed to work OK, as did a build for 10.1 and 11 with this setup, adjusting the [x]src,obj,tools paths to each version to match. Next I'd like to repeat those builds on the rpi4, but this time for the rpi4 itself -- ie. evbarm aarch64 as the target. Do I need to start with empty /usr/obj/ and /usr/tools/ directories for this subsequent build? Or can I leave the amd64 x86_64 dirs in place? I expect build.sh will build what's needed for the different target, e.g. compile tools/bin/* and populate destdir.$MACHINE and releasedir/$MACHINE as it goes along; but I'm not clear if the prior build's files from the different target architecture will interfere. Thanks, sr
