On Fri, 2 Nov 2007, [LoN]Kamikaze wrote:
Well, in this case after running 'make installkernel' and rebooting, the
system did not come back up because it got kernel fatals on reboot (fatal
trap 12: page fault while in kernel mode). It appears that my filesystems
got marked dirty in the reboot loop that ensued, and I had to manually fsck
them. I figured after that it might boot, but alas problems remained, so
after grabbing a disc1 image of 6.2 on CDROM I moved kernel.old back and
kernel to kernel.bad.
Now, sometimes I work fast and loose with the rules of upgrading, but I was
surprised that I managed to royally screw up things. Any pointers would be
appreciated before I shave off a few years of my life again.
I think you might have no choice but to omit the reboots, because the world
contains lots of stuff that has to do with the kernel (like mounting).
So just go into single user mode and do the usual stuff:
# make installkernel
# mergemaster -p
# make installworld
# mergemaster
# shutdown -r now
and pray to your deity of choice.
If the reason for your problem is something else however you're stuck with a
system that can not run with your old kernel. So better backup before you
try.
In general, new kernels can reliably run old user spaces, but not new user
spaces on old kernels. This is because new user spaces often grow
dependencies on new system calls, etc, that have appeared in the kernel, and a
system call being missing can lead to rather extreme unhappiness if, say, it's
in libc :-).
When I upgrade a remote systems, I'll actually almost always run a few days
with the new kernel and the old user space to make sure everything has settled
nicely before doing the user space upgrade, which is harder to revert.
Reverting to an old kernel is easy, and leaving the door open is likewise easy
-- as long as you don't installworld.
Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"