I am successfully running amd64 buildworld and buildkernel on a faster machine and installing to other amd64 machines. I mount nfs mount /usr/obj and /usr/src-stable-13, and then install.
I would like to do the same for i386 clients
fastmachine: amd64 13.0-STABLE FreeBSD 13.0-STABLE #0 stable/13-n246841-60833696c2e
i386 machine: i386 13.0-STABLE FreeBSD 13.0-STABLE #0 stable/13-n246841-60833696c2e
On the fast machine:
Then on the i386 machine:
What am I missing to cross compile and install correctly?
I would like to do the same for i386 clients
fastmachine: amd64 13.0-STABLE FreeBSD 13.0-STABLE #0 stable/13-n246841-60833696c2e
i386 machine: i386 13.0-STABLE FreeBSD 13.0-STABLE #0 stable/13-n246841-60833696c2e
On the fast machine:
Code:
# make -j8 TARGET=i386 TARGET_ARCH=i386 buildkernel
# make -j8 TARGET=i386 TARGET_ARCH=i386 buildworld
Then on the i386 machine:
Code:
# mount -o nfsv4,soft,intr,tcp fastmachine:/usr/obj /usr/obj
# mount -o nfsv4,soft,intr,tcp fastmachine:/usr/src-stable-13 /usr/src-stable-13
# cd /usr/src-stable-13/
# make TARGET=i386 TARGET_ARCH=i386 installkernel
--------------------------------------------------------------
>>> Install check kernel
--------------------------------------------------------------
--------------------------------------------------------------
>>> Installing kernel GENERIC on Fri Sep 17 17:46:10 EEST 2021
--------------------------------------------------------------
cd /usr/obj/usr/src-stable-13/i386.i386/sys/GENERIC; MACHINE_ARCH=i386 MACHINE=i386 CPUTYPE= CC="cc -target i386-unknown-freebsd13.0 --sysroot=/usr/obj/usr/src-stable-13/i386.i386/tmp -B/usr/obj/usr/src-stable-13/i386.i386/tmp/usr/bin" CXX="c++ -target i386-unknown-freebsd13.0 --sysroot=/usr/obj/usr/src-stable-13/i386.i386/tmp -B/usr/obj/usr/src-stable-13/i386.i386/tmp/usr/bin" CPP="cpp -target i386-unknown-freebsd13.0 --sysroot=/usr/obj/usr/src-stable-13/i386.i386/tmp -B/usr/obj/usr/src-stable-13/i386.i386/tmp/usr/bin" AS="as" AR="ar" LD="ld" LLVM_LINK="" NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" STRIPBIN="strip" PATH=/usr/obj/usr/src-stable-13/i386.i386/tmp/bin:/usr/obj/usr/src-stable-13/i386.i386/tmp/usr/sbin:/usr/obj/usr/src-stable-13/i386.i386/tmp/usr/bin:/usr/obj/usr/src-stable-13/i386.i386/tmp/legacy/usr/sbin:/usr/obj/usr/src-stable-13/i386.i386/tmp/legacy/usr/bin:/usr/obj/usr/src-stable-13/i386.i386/tmp/legacy/bin:/usr/obj/usr/src-stable-13/i386.i386/tmp/legacy/usr/libexec::/sbin:/bin:/usr/sbin:/usr/bin make KERNEL=kernel install
/bin/sh: make: Exec format error
*** Error code 126
Stop.
make[1]: stopped in /usr/src-stable-13
*** Error code 1
Stop.
make: stopped in /usr/src-stable-13
root@sky60:/usr/src-stable-13 # file /bin/sh
/bin/sh: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 13.0 (1300514), FreeBSD-style, stripped
What am I missing to cross compile and install correctly?