Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Sep 2008 05:20:04 +1000
From:      Peter Jeremy <peterjeremy@optushome.com.au>
To:        Dominic Fandrey <kamikaze@bsdforen.de>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: crossbuilding of RELENG_7 broken?
Message-ID:  <20080915192004.GD15376@server.vk2pj.dyndns.org>
In-Reply-To: <48CE8AD4.8090408@bsdforen.de>
References:  <48CD3A19.8030404@bsdforen.de> <20080915084126.GW15376@server.vk2pj.dyndns.org> <48CE8AD4.8090408@bsdforen.de>

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

--wu6d9FdQ4ohoCGf7
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On 2008-Sep-15 18:18:28 +0200, Dominic Fandrey <kamikaze@bsdforen.de> wrote:
>Peter Jeremy wrote:
>> On 2008-Sep-14 18:21:45 +0200, Dominic Fandrey <kamikaze@bsdforen.de> wr=
ote:
>>> Building them works fine, but when I nfs-mount /usr/obj and /usr/src on=
 the
>>> target system, install does not work. Neiter installkernel nor installw=
orld.
>>=20
>> You're going to have to give more detail - like your exact command and
>> the last few dozen lines of the make install{world,kernel} output.
>>=20
>
>So well, here it is:
>
>Command on the amd64 build machine:
>
># env MAKEOBJDIRPREFIX=3D/usr/obj/VECTRA-7 make -j4 buildworld buildkernel=
 KERNCONF=3DVECTRA-7
>
>It builds without incident and yes I did try without -j4 and it didn't wor=
k either.
>
>On the i386 target machine, /usr/src and /usr/obj are NFS mounts:
>
>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
># env MAKEOBJDIRPREFIX=3D/usr/obj/VECTRA-7/i386 make installkernel KERNCON=
F=3DVECTRA-7

I didn't understand exactly what you were doing before.  The
install{world,kernel} must be executed on the same architecture (and
similar FreeBSD version) as the build{world,kernel} because the
install{world,kernel} executes code that was built as part of the
buildworld.

Rather than NFS mounting the buildhost onto the target and running
install{world,kernel} on the target, you need to NFS mount the target
/ and /usr onto the buildhost and use DESTDIR to point the install at
the correct location.  This will work, modulo some chflags issues
(chflags isn't supported over NFS - I don't recall offhand where this
is discussed but google should be able to help).

--=20
Peter Jeremy
Please excuse any delays as the result of my ISP's inability to implement
an MTA that is either RFC2821-compliant or matches their claimed behaviour.

--wu6d9FdQ4ohoCGf7
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)

iEYEARECAAYFAkjOtWQACgkQ/opHv/APuIc6PQCgm0yEiKqltexI951gC4uNiWYU
dy4AoKffGUAJiQeu7O9o7mdpk8pdi8lt
=E/Nh
-----END PGP SIGNATURE-----

--wu6d9FdQ4ohoCGf7--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080915192004.GD15376>