From owner-freebsd-arm@freebsd.org Tue May 24 03:18:56 2016 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 570D6B48876 for ; Tue, 24 May 2016 03:18:56 +0000 (UTC) (envelope-from fbsd@www.zefox.net) Received: from www.zefox.net (www.zefox.net [69.239.235.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "www.zefox.org", Issuer "www.zefox.org" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 19A191A77; Tue, 24 May 2016 03:18:55 +0000 (UTC) (envelope-from fbsd@www.zefox.net) Received: from www.zefox.net (localhost [127.0.0.1]) by www.zefox.net (8.15.2/8.15.2) with ESMTPS id u4O3IuEm056283 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 23 May 2016 20:18:57 -0700 (PDT) (envelope-from fbsd@www.zefox.net) Received: (from fbsd@localhost) by www.zefox.net (8.15.2/8.15.2/Submit) id u4O3Iuqh056282; Mon, 23 May 2016 20:18:56 -0700 (PDT) (envelope-from fbsd) Date: Mon, 23 May 2016 20:18:55 -0700 From: bob prohaska To: Ian Lepore Cc: "freebsd-arm@FreeBSD.org" Subject: Re: Confirmed update procedure for a self-hosted armv6hf system Message-ID: <20160524031855.GC52783@www.zefox.net> 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> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <1464058197.1180.439.camel@freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 May 2016 03:18:56 -0000 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