Date: Mon, 23 May 2016 20:18:55 -0700 From: bob prohaska <fbsd@www.zefox.net> To: Ian Lepore <ian@freebsd.org> Cc: "freebsd-arm@FreeBSD.org" <freebsd-arm@FreeBSD.org> Subject: Re: Confirmed update procedure for a self-hosted armv6hf system Message-ID: <20160524031855.GC52783@www.zefox.net> In-Reply-To: <1464058197.1180.439.camel@freebsd.org> References: <1463976239.1180.406.camel@freebsd.org> <20160523215248.GA52783@www.zefox.net> <1464055880.1180.433.camel@freebsd.org> <20160524024027.GB52783@www.zefox.net> <1464058197.1180.439.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 23, 2016 at 08:49:57PM -0600, Ian Lepore wrote: >=20 > Ut oh. It just popped into my head that the standard freebsd update > procedure is to install the kernel, then reboot, then install the > world, right? (I've never once done it that way in 20 years of using > freebsd, I always install both at once then reboot.) >=20 My custom has been to build world and kernel, install world and kernel, then reboot promptly. Not sure where I got the habit from, the idea=20 was to minimize mismatch between kernel and userland.=20 > I think that may be the problem here, if you did it the right way.=20 > Once you're running on the new kernel, TARGET_ARCH=3Darmv6 isn't a > crossbuild anymore because it thinks armv6 is the current arch. I > wonder if it would work for you to try: >=20 > setenv UNAME_P armv6hf > make -j6 installworld TARGET_ARCH=3Darmv6 >=20 If I did this right, no luck... root@www:/usr/src # uname -p armv6hf root@www:/usr/src # setenv UNAME_P armv6hf root@www:/usr/src # make -j6 installworld TARGET_ARCH=3Darmv6 > installworl= d.log & [1] 69457 root@www:/usr/src # 1 error [1] Exit 2 make -j6 installworld TARGET_ARCH=3Dar= mv6 > installworld.log root@www:/usr/src #=20 root@www:/usr/src # tail -n100 installworld.log --- installworld --- --- __installcheck_UGID --- --- installworld --- mkdir -p /tmp/install.XvgDGNcF progs=3D$(for prog in [ awk cap_mkdb cat chflags chmod chown cmp cp date e= cho egrep find grep id install ln make mkdir mtree mv pwd_mkdb rm sed se= rvices_mkdb sh strip sysctl test true uname wc zic tzsetup makewhatis; do= if progpath=3D`which $prog`; then echo $progpath; else echo "Required = tool $prog not found in PATH." >&2; exit 1; fi; done); libs=3D$(ldd -f = "%o %p\n" -f "%o %p\n" $progs 2>/dev/null | sort -u | while read line; do = $line; if [ "$2 $3" !=3D "not found" ]; then echo $2; else echo "Requi= red library $1 not found." >&2; exit 1; fi; done); cp $libs $progs /tmp= /install.XvgDGNcF cp -R ${PATH_LOCALE:-"/usr/share/locale"} /tmp/install.XvgDGNcF/locale cd /usr/src; MAKEOBJDIRPREFIX=3D/usr/obj MACHINE_ARCH=3Darmv6 MACHINE=3Da= rm CPUTYPE=3D GROFF_BIN_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/bin GROFF_= FONT_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/share/groff_font GROFF_TMAC_PA= TH=3D/usr/obj/usr/src/tmp/legacy/usr/share/tmac CC=3D"cc " CXX=3D"c++ " C= PP=3D"cpp " AS=3D"as" AR=3D"ar" LD=3D"ld" NM=3Dnm OBJDUMP=3Dobjdump OBJCO= PY=3D"objcopy" RANLIB=3Dranlib STRINGS=3D SIZE=3D"size" PATH=3D/usr/obj/u= sr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr= /src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/= bin:/tmp/install.XvgDGNcF LD_LIBRARY_PATH=3D/tmp/install.XvgDGNcF PATH_LO= CALE=3D/tmp/install.XvgDGNcF/locale make -f Makefile.inc1 __MAKE_SHELL= =3D/tmp/install.XvgDGNcF/sh reinstall; MAKEOBJDIRPREFIX=3D/usr/obj MACHIN= E_ARCH=3Darmv6 MACHINE=3Darm CPUTYPE=3D GROFF_BIN_PATH=3D/usr/obj/usr/src= /tmp/legacy/usr/bin GROFF_FONT_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/shar= e/groff_font GROFF_TMAC_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/share/tmac = CC=3D"cc " CXX=3D"c++ " CPP=3D"cpp " AS=3D"as" AR=3D"ar" LD=3D"ld" NM=3D= nm OBJDUMP=3Dobjdump OBJCOPY=3D"objcopy" RANLIB=3Dranlib STRINGS=3D SIZE= =3D"size" PATH=3D/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/= legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbi= n:/usr/obj/usr/src/tmp/usr/bin:/tmp/install.XvgDGNcF LD_LIBRARY_PATH=3D/tm= p/install.XvgDGNcF PATH_LOCALE=3D/tmp/install.XvgDGNcF/locale rm -rf /tmp/= install.XvgDGNcF sh: cc: not found make[2]: "/usr/src/share/mk/bsd.compiler.mk" line 142: Unable to determine = compiler type for CC=3Dcc . Consider setting COMPILER_TYPE. *** [installworld] Error code 1 Perhaps it's time to install the new kernel and reboot. I also have two kernels that report uname -p as armv6, one pre-hf and one p= ost-hf. Worth a try? > As long as the build system uses uname (not sysctl hw.machine_arch), > that should fool it enough to do the proper install. Thanks for all your help! bob prohaska
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160524031855.GC52783>