cross building i386 on amd64
Chris
bsd-lists at bsdforge.com
Fri Apr 16 20:04:04 UTC 2021
On 2021-04-16 12:35, Andriy Gapon wrote:
> On 16/04/2021 20:22, Peter Blok wrote:
>> Hi,
>>
>> I’m cross building 12-STABLE i386 on a 12-STABLE amd64 system. Sources are
>> refreshed every day.
>>
>> Build runs fine and put everything in the right directory. For the target
>> i386 system it is in /usr/obj/i386TARGET.
>>
>> Next I NFS mount the source /on /usr/src and /usr/obj/i386TARGET on
>> /usr/obj on the target machine
>>
>> When I run make installworld it will use install from
>> /usr/obj/usr/src/i386.i386/tmp/legacy/usr/bin because it is the first
>> install it finds in the PATH set by installworld. This tanks because
>> install is compiled for amd64.
>>
>> I understand why the legacy path is compiled for amd64. This is needed to
>> build a distribution.
>>
>> So is this is bug or is the way I distribute the objects not supported?
>
> I used this method only for same architecture installations.
> Never tried it for different architectures, so I cannot tell if this is a
> regression.
>
> However, I can share the method I use.
> On the build machine I just installworld into an empty directory and then
> tar it up.
> In fact, I am doing that without even requiring local root.
> I use DESTDIR=/some/path NO_ROOT=t DB_FROM_SRC=t.
> And then
> tar -c --use-compress-program pbzip2 -f image.tbz -C /some/path "@METALOG"
> pbzip2 is just for speed.
+1
FWIW I also do it very similarly to this with great results. :-)
--Chris
More information about the freebsd-hackers
mailing list