Difficulty with armv6 to v7 transition.
bob prohaska
fbsd at www.zefox.net
Fri Oct 13 17:59:36 UTC 2017
It turns out that simply commenting out lines 447-452 in
/usr/src/Makefile.inc1 allows buildworld to run, even with
no /etc/make.conf in place.
This seems like a fairly reckless experiment, but having no
better ideas, would anybody hazard a guess as to odds that the
resulting userland might be expected to run? Are there any
pre-install tests to be tried?
At this point the kernel is at r324562, /usr/src is at r324599.
Uname -p reports armv7.
Thanks for reading,
bob prohaska
On Thu, Oct 12, 2017 at 07:06:04PM -0700, bob prohaska wrote:
> It's starting to look as if the trouble might have little or nothing
> to do with the armv6-armv7 transition and instead has some other cause.
>
> At this point /etc/make.conf contains
> KERNCONF=RPI2
> TARGET=arm
> TARGET_ARCH=armv7
> DESTDIR=/
>
> Buildkernel works, installkernel demanded a DESTDIR and worked once it
> was added, so /etc/make.conf is being read and acted upon.
>
> If make buildworld is invoked, using the make.conf file above, make reports
> make[1]: "/usr/src/Makefile.inc1" line 450: To cross-build, set TARGET_ARCH.
> *** [buildworld] Error code 1
>
> I had to reconstruct all of /usr after mistakenly deleting it during an
> attempted housecleaning. The restored /usr seems to boot normally and
> builds kernels just fine, but does not allow su to root, so permissions
> (or something) are not entirely correct.
>
> Might this be related to the failure to recognize or act upon the
> TARGET_ARCH=armv7 setting? /usr/src is at 324562, along with the
> kernel. Userland dates from late June.
>
> Thanks for reading, and any ideas.
>
> bob prohaska
>
> On Tue, Oct 10, 2017 at 08:00:21PM -0700, bob prohaska wrote:
> > On Tue, Oct 10, 2017 at 08:41:17PM -0600, Warner Losh wrote:
> > > On Tue, Oct 10, 2017 at 8:39 PM, Warner Losh <imp at bsdimp.com> wrote:
> > >
> > > >
> > > >
> > > > On Tue, Oct 10, 2017 at 8:33 PM, bob prohaska <fbsd at www.zefox.net> wrote:
> > > >
> > > >> On Mon, Oct 09, 2017 at 12:19:31PM -0600, Ian Lepore wrote:
> > > >> > On Mon, 2017-10-09 at 10:52 -0700, bob prohaska wrote:
> > > >> > > On an RPI2 model B, invoking?
> > > >> > > make -j4 -DNO_CLEAN MACHINE_ARCH=armv7 buildworld > buildworld.log
> > > >> >
> > > >> > Never set MACHINE_ARCH when building, use TARGET_ARCH. ?Be sure to set
> > > >> > TARGET_ARCH when installing as well.
> > > >>
> > > >> Tried it, like so:
> > > >> root at www:/usr/src # make -j4 buildworld TARGET_ARCH=armv7 >
> > > >> buildworld.log & [1] 1006
> > > >> root at www:/usr/src # 1 error
> > > >>
> > > >> [1] Exit 2 make -j4 buildworld
> > > >> TARGET_ARCH=armv7 > buildworld.log
> > > >> root at www:/usr/src # more *.log
> > > >> --- buildworld ---
> > > >> make[1]: "/usr/src/Makefile.inc1" line 450: To cross-build, set
> > > >> TARGET_ARCH.
> > > >> *** [buildworld] Error code 1
> > > >>
> > > >> make: stopped in /usr/src
> > > >>
> > > >> I also tried setting TARGET=arm and WITHOUT_SYSTEM_COMPILER=yes in various
> > > >> iterations. Should the variables be set somewhere else, in a config file?
> > > >>
> > > >> At this point the kernel is at r324499, along with the sources. Userland
> > > >> dates from late June (operator error). Kernels build, but could that make
> > > >> the trouble I'm seeing? Clang -v reports
> > > >>
> > > >> FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on
> > > >> LLVM 4.0.0)
> > > >> Target: armv6-unknown-freebsd12.0-gnueabihf
> > > >> Thread model: posix
> > > >> InstalledDir: /usr/bin
> > > >>
> > > >> Thanks again!
> > > >
> > > >
> > > > uname -a says what?
> > > >
> > >
> > root at www:/usr/src #
> > root at www:/usr/src # uname -a
> > FreeBSD www.zefox.com 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r324499: Tue Oct 10 18:06:39 PDT 2017 root at www.zefox.com:/usr/obj/usr/src/sys/RPI2 arm
> >
> > > What happens if you do a build with TARGET_ARCH=armv7?
> > >
> >
> > root at www:/usr/src # make TARGET_ARCH=armv7 buildworld > buildworld.log
> > make[1]: "/usr/src/Makefile.inc1" line 450: To cross-build, set TARGET_ARCH.
> > root at www:/usr/src #
> >
> > FWIW, /etc/make.conf does not exist. Seemingly the variable isn't recognized.
> > Maybe a config error someplace?
> >
> > Thanks again,
> >
> > bob prohaska
> >
More information about the freebsd-arm
mailing list