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_at_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_at_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_at_FreeBSD.org FreeBSD committer
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:08 UTC