Upgrade to 5.3-BETA1: make installkernel - Stop in
/usr/src/sys/modules
Ruslan Ermilov
ru at freebsd.org
Tue Aug 24 09:44:50 PDT 2004
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20040824/c0837698/attachment.bin
More information about the freebsd-current
mailing list