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>

next in thread | previous in thread | raw e-mail | index | archive | help
--00000000000098c21e05dd7ff114
Content-Type: text/plain; charset="UTF-8"

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
>

--00000000000098c21e05dd7ff114
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Mon, Apr 25, 2022 at 1:26 PM Patri=
ck M. Hausen &lt;<a href=3D"mailto:pmh@hausen.com">pmh@hausen.com</a>&gt; w=
rote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0p=
x 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=3D"mailto:broo=
ks@freebsd.org" target=3D"_blank">brooks@freebsd.org</a>&gt;:<br>
&gt; Cross install is not supported.=C2=A0 As you have seen, certain tools =
are<br>
&gt; bootstrapped on the build host and used during the install process.=C2=
=A0 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></di=
v><div>Cross installing is supported. Native installing of a cross build wo=
rld 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 serv=
er under /mumble (allowing root on the embedded system for NFS) and did</di=
v><div>a sudo make installworld ... DESTDIR=3D/mumble. Though I&#39;ve forg=
otten the gymnastics</div><div>to do etcupdate/mergemaster this way.</div><=
div><br></div><div>Warner</div><div>=C2=A0</div><blockquote class=3D"gmail_=
quote" style=3D"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;=C2=A0 make DIRPRFX=3Dtools/build/ DESTDIR=3D/usr/o=
bj/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: Operat=
ion 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 f=
aster.<br>
<br>
Kind regards and thanks,<br>
Patrick<br>
</blockquote></div></div>

--00000000000098c21e05dd7ff114--



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