Difficulty with armv6 to v7 transition.

bob prohaska fbsd at www.zefox.net
Fri Oct 13 02:06:04 UTC 2017


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