Date: Tue, 24 Aug 2004 19:44:42 +0300 From: Ruslan Ermilov <ru@freebsd.org> To: Christian Hiris <4711@chello.at> Cc: freebsd-current@freebsd.org Subject: Re: Upgrade to 5.3-BETA1: make installkernel - Stop in /usr/src/sys/modules Message-ID: <20040824164442.GE37217@ip.net.ua> In-Reply-To: <200408241641.20389.4711@chello.at> References: <200408241641.20389.4711@chello.at>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] On Tue, Aug 24, 2004 at 04:40:58PM +0200, Christian Hiris wrote: > When i upgraded one of my systems from > 5.2-CURRENT FreeBSD 5.2-CURRENT #1: Sat May 29 14:14:06 CEST 2004 > admin@matrix010.matrix.net:/usr/obj/usr/src/sys/MATRIX001 i386 > to > 5.3-BETA1 FreeBSD 5.3-BETA1 #0: Mon Aug 23 16:30:40 CEST 2004 > admin@matrix010.matrix.net:/usr/obj/usr/src/sys/MATRIX001 i386 > "make installkernel" fails during module installation. > > The directories /usr/src and /usr/obj were NFS-mounted on this machine. > We don't, strictly speaking, support this type of installation. We only support it if build host *exactly* matches the install host, read: it's the same arch, CPU, and it's running the same __FreeBSD_version world and kernel. What happens here is that your build machine has newer make(1) binary that understand the `+' modifier. The install machine has an older make(1). You can try to overcome this problem by doing: make installkernel -DALWAYS_CHECK_MAKE, but: no guarantees it will work (I don't know how different your build and install hosts are), and you'll have to mount /usr/obj read-write, for this to work. > matrix001# cd /usr/src > matrix001# make installkernel > -------------------------------------------------------------- > >>> Making hierarchy > -------------------------------------------------------------- > cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=i386 MACHINE=i386 > CPUTYPE= GROFF_BIN_PATH=/usr/obj/usr/src/i386/legacy/usr/bin > GROFF_FONT_PATH=/usr/obj/usr/src/i386/legacy/usr/share/groff_font > GROFF_TMAC_PATH=/usr/obj/usr/src/i386/legacy/usr/share/tmac > PATH=/usr/obj/usr/src/i386/legacy/usr/sbin:/usr/obj/usr/src/i386/legacy/usr/bin:/usr/obj/usr/src/i386/legacy/usr/games:/usr/obj/usr/src/i386/usr/sbin:/usr/obj/usr/src/i386/usr/bin:/usr/obj/usr/src/i386/usr/games:/sbin:/bin:/usr/sbin:/usr/bin > make -f Makefile.inc1 hierarchy > cd /usr/src/etc; make distrib-dirs > mtree -eU -f /usr/src/etc/mtree/BSD.root.dist -p / > mtree -eU -f /usr/src/etc/mtree/BSD.var.dist -p /var > mtree -eU -f /usr/src/etc/mtree/BSD.usr.dist -p /usr > mtree -eU -f /usr/src/etc/mtree/BSD.include.dist -p /usr/include > cd /; rm -f /sys; ln -s usr/src/sys sys > cd /usr/share/man/en.ISO8859-1; ln -sf ../man* . > cd /usr/share/man; set - `grep "^[a-zA-Z]" /usr/src/etc/man.alias`; while > [ $# -gt 0 ] ; do rm -rf "$1"; ln -s "$2" "$1"; shift; shift; done > cd /usr/share/openssl/man; set - `grep "^[a-zA-Z]" /usr/src/etc/man.alias`; > while [ $# -gt 0 ] ; do rm -rf "$1"; ln -s "$2" "$1"; shift; shift; done > cd /usr/share/openssl/man/en.ISO8859-1; ln -sf ../man* . > cd /usr/share/nls; set - `grep "^[a-zA-Z]" /usr/src/etc/nls.alias`; while > [ $# -gt 0 ] ; do rm -rf "$1"; ln -s "$2" "$1"; shift; shift; done > > -------------------------------------------------------------- > >>> Installing kernel > -------------------------------------------------------------- > cd /usr/obj/usr/src/sys/MATRIX001; MAKEOBJDIRPREFIX=/usr/obj > MACHINE_ARCH=i386 MACHINE=i386 CPUTYPE= > GROFF_BIN_PATH=/usr/obj/usr/src/i386/legacy/usr/bin > GROFF_FONT_PATH=/usr/obj/usr/src/i386/legacy/usr/share/groff_font > GROFF_TMAC_PATH=/usr/obj/usr/src/i386/legacy/usr/share/tmac > PATH=/usr/obj/usr/src/i386/legacy/usr/sbin:/usr/obj/usr/src/i386/legacy/usr/bin:/usr/obj/usr/src/i386/legacy/usr/games:/usr/obj/usr/src/i386/usr/sbin:/usr/obj/usr/src/i386/usr/bin:/usr/obj/usr/src/i386/usr/games:/sbin:/bin:/usr/sbin:/usr/bin > make KERNEL=kernel install > thiskernel=`sysctl -n kern.bootfile` ; if [ "`dirname > "$thiskernel"`" != /boot/kernel ] ; then chflags -R noschg /boot/kernel ; > rm -rf /boot/kernel ; else if [ -d /boot/kernel.old ] ; then chflags -R > noschg /boot/kernel.old ; rm -rf /boot/kernel.old ; fi ; > mv /boot/kernel /boot/kernel.old ; sysctl > kern.bootfile=/boot/kernel.old/"`basename "$thiskernel"`" ; fi > mkdir -p /boot/kernel > install -p -m 555 -o root -g wheel kernel /boot/kernel > cd /usr/src/sys/modules; > MAKEOBJDIRPREFIX=/usr/obj/usr/src/sys/MATRIX001/modules KMODDIR=/boot/kernel > MACHINE=i386 KERNBUILDDIR="/usr/obj/usr/src/sys/MATRIX001" make install > +for: not found > *** Error code 127 > > Stop in /usr/src/sys/modules. > *** Error code 1 > > Stop in /usr/obj/usr/src/sys/MATRIX001. > *** Error code 1 > > Stop in /usr/src. > *** Error code 1 > > Stop in /usr/src. > > [...] > Kernel and world are in sync, I did a "chflags -R noschg *" and "rm -rf *" > in /usr/obj before i did the make buildworld and buildkernel. Yesterday I did > an upgrade from the same build on another machine, on which 5.3-BETA1 already > was installed - the upgrade went fine without the stop > in /usr/src/sys/modules. > > However, I could fix this by doing a reinstall of /usr/src/usr.bin/make before > running the installkernel target. Cheers, -- Ruslan Ermilov ru@FreeBSD.org FreeBSD committer [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (FreeBSD) iD8DBQFBK3B6qRfpzJluFF4RAhDyAKCK/745CEBRhWCr8ToRwKfhpgZ6GwCglJDv QSQpCUXqA4L9ZjD8tT4yAJE= =r/oF -----END PGP SIGNATURE-----help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040824164442.GE37217>
