Cross-building ports with release(7)
Sergey Ivlev
ivlevsr at yandex.ru
Fri Mar 6 11:25:35 UTC 2020
Hello!
I've successfully built FreeBSD 13.0-CURRENT (r358609) image for ARMv7 on AMD64 host using release(7).
I wonder is it possible for AMD64 host to build/install ports into the image?
I've defined arm_do_quirk function in my configuration file, where I'm calling `make DESTDIR=${CHROOTDIR}/${DESTDIR} TARGET=arm TARGET_ARCH=armv7 ... build install clean`. But it ended up with error, of course, because that make(1) chroots into ${CHROOTDIR}/${DESTDIR} and runs executables from there, but ${CHROOTDIR}/${DESTDIR} is where **built target** located (i.e. where files for ARMv7; ${CHROOTDIR}/${DESTDIR} is {my chrrot dir}/usr/obj/usr/src/arm.armv7/release/{kernel name}). Altering the PATH variable so it will specify ${CHROOTDIR} as the first entry, doesn't help either -- I end up with the same ``exec format error'' (env PATH="${CHROOTDIR}:${PATH}" make DESTDIR=...).
I had also tried to `chroot ${CHROOTDIR} make DESTDIR=${DESTDIR} TARGET=arm TARGET_ARCH=armv7 ... build install clean`, but mount_nullfs(8) failed under chroot(8).
Therefore, my question is: is it possible while building an image for ARMv7 on AMD64 host with release(7) also building and installing ports into the result image?
Thanks in advance!
More information about the freebsd-hackers
mailing list