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 <<a href="mailto:pmh@hausen.com">pmh@hausen.com</a>> 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> > Am 25.04.2022 um 21:18 schrieb Brooks Davis <<a href="mailto:brooks@freebsd.org" target="_blank">brooks@freebsd.org</a>>:<br> > Cross install is not supported. As you have seen, certain tools are<br> > bootstrapped on the build host and used during the install process. You<br> > might be able to get away with nuking<br> > /usr/obj/usr/src/arm64.aarch64/tmp/legacy (or maybe tmp) and then<br> > 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't.</div><div><br></div><div>When I've had to do this in the past, I'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'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>
