Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Apr 2022 13:54:16 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        "Patrick M. Hausen" <pmh@hausen.com>
Cc:        Brooks Davis <brooks@freebsd.org>,  "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>
Subject:   Re: Cross-compile worked, cross-install not so much ...
Message-ID:  <CANCZdfp2_ZxdUPbcW%2BtLxiuGvEnp65o8te%2BkfTU2-4o7HgZOnA@mail.gmail.com>
In-Reply-To: <7FA0C88D-4446-47DD-BBC0-3300B26D6A27@hausen.com>
References:  <3D48BE93-7D42-4AB2-82D4-88BBF4E1FD40@hausen.com> <20220425191823.GA89506@spindle.one-eyed-alien.net> <7FA0C88D-4446-47DD-BBC0-3300B26D6A27@hausen.com>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
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
>

[-- Attachment #2 --]
<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 25, 2022 at 1:26 PM Patrick M. Hausen &lt;<a href="mailto:pmh@hausen.com">pmh@hausen.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
&gt; Am 25.04.2022 um 21:18 schrieb Brooks Davis &lt;<a href="mailto:brooks@freebsd.org" target="_blank">brooks@freebsd.org</a>&gt;:<br>
&gt; Cross install is not supported.  As you have seen, certain tools are<br>
&gt; bootstrapped on the build host and used during the install process.  You<br>
&gt; might be able to get away with nuking<br>
&gt; /usr/obj/usr/src/arm64.aarch64/tmp/legacy (or maybe tmp) and then<br>
&gt; running `make toolchain` to build native versions of those tools.<br>
<br>
that comes as a big surprise and disappointment. What is the point of cross-compiling, then?<br>
How to update a small slow embedded platform?<br></blockquote><div><br></div><div>Cross installing is supported. Native installing of a cross build world isn&#39;t.</div><div><br></div><div>When I&#39;ve had to do this in the past, I&#39;ve just mounted the embedded system on my</div><div>beefy server under /mumble (allowing root on the embedded system for NFS) and did</div><div>a sudo make installworld ... DESTDIR=/mumble. Though I&#39;ve forgotten the gymnastics</div><div>to do etcupdate/mergemaster this way.</div><div><br></div><div>Warner</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I tried your suggestion - unfortunately no worky:<br>
<br>
cd /usr/src/tools/build;  make DIRPRFX=tools/build/ DESTDIR=/usr/obj/usr/src/arm64.aarch64/tmp/legacy host-symlinks<br>
Linking host tools into /usr/obj/usr/src/arm64.aarch64/tmp/legacy/bin<br>
cp: chflags: /usr/obj/usr/src/arm64.aarch64/tmp/legacy/bin/basename: Operation not supported<br>
*** Error code 1<br>
<br>
So I will probably need to checkout and compile on the Pi. What are typical<br>
build times on a CM3+? Plus I am going to wear down the builtin eMMC much faster.<br>
<br>
Kind regards and thanks,<br>
Patrick<br>
</blockquote></div></div>
help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfp2_ZxdUPbcW%2BtLxiuGvEnp65o8te%2BkfTU2-4o7HgZOnA>