Re: Cross-compile worked, cross-install not so much ...

From: Warner Losh <imp_at_bsdimp.com>
Date: Mon, 25 Apr 2022 19:54:16 UTC
On Mon, Apr 25, 2022 at 1:26 PM Patrick M. Hausen <pmh@hausen.com> wrote:

> Hi,
>
> > Am 25.04.2022 um 21:18 schrieb Brooks Davis <brooks@freebsd.org>:
> > Cross install is not supported.  As you have seen, certain tools are
> > bootstrapped on the build host and used during the install process.  You
> > might be able to get away with nuking
> > /usr/obj/usr/src/arm64.aarch64/tmp/legacy (or maybe tmp) and then
> > running `make toolchain` to build native versions of those tools.
>
> that comes as a big surprise and disappointment. What is the point of
> cross-compiling, then?
> How to update a small slow embedded platform?
>

Cross installing is supported. Native installing of a cross build world
isn't.

When I've had to do this in the past, I've just mounted the embedded system
on my
beefy server under /mumble (allowing root on the embedded system for NFS)
and did
a sudo make installworld ... DESTDIR=/mumble. Though I've forgotten the
gymnastics
to do etcupdate/mergemaster this way.

Warner


> I tried your suggestion - unfortunately no worky:
>
> cd /usr/src/tools/build;  make DIRPRFX=tools/build/
> DESTDIR=/usr/obj/usr/src/arm64.aarch64/tmp/legacy host-symlinks
> Linking host tools into /usr/obj/usr/src/arm64.aarch64/tmp/legacy/bin
> cp: chflags: /usr/obj/usr/src/arm64.aarch64/tmp/legacy/bin/basename:
> Operation not supported
> *** Error code 1
>
> So I will probably need to checkout and compile on the Pi. What are typical
> build times on a CM3+? Plus I am going to wear down the builtin eMMC much
> faster.
>
> Kind regards and thanks,
> Patrick
>