Greg Byshenk wrote: > Andrei Kolu wrote: > > Mike Lempriere wrote: > > > Hi folks -- sorry to be a nag, but my main production system is barely > > > limping along on an old kernel with mismatched libraries. I have no > > > idea what else to do -- please help! > > > --- > > > I'm upgrading 5-stable (was at 5.5) to 6-stable, in preparation for > > > 6-stable to 7-stable. > > > No problems with cvsup, make buildworld, make installworld, make > > > buildkernel, mergemaster -p. > > > make installkernel, boot to single user. Then mergemaster -- blammo:
As others have pointed out, the order is wrong, which caused the problem Mike is seeing. The correct order is listed in /usr/src/UPDATING. > The reasons for the other methods being wrong are (as I understand them): > > - You should build your new world before building your new kernel, as > it may be the case that some aspects of the new kernel build are > dependent upon aspects of the new world build. If you build your > new kernel before building your new world, you will be building > your new kernel against the old world. In particular, building the kernel uses the new toolchain (i.e. compiler, linker, make(1) binary and so on) that was built in /usr/obj during buildworld. That's why you have to do buildworld first, then "make kernel". > - You should install your new kernel before installing your new world, > as it can be the case that some aspects of the new world will not be > understood by your old kernel. A new kernel should always be > compatible with an old userland/world, but an old kernel may not > always be compatible with a new userland/world. That's correct. Note that your kernel config should include the appropriate "options COMPAT_*" lines if you update across a major version boundary, e.g. "options_COMPAT_FREEBSD6" when you update from 6.x to 7.x. The GENERIC kernel already has those. > > NOTE: I do not reboot my system until everything is updated. Why it is > > necessary to boot new kernel and then upgrade world is beyound me..YMMW > > - I suppose that it is not strictly necessary to reboot between > installing kernel and world, but I always do so. It _is_ necessary. If you don't reboot, you're still running the old kernel which might not be able to support new binaries and libraries that installworld will install on your system. For example, there may be new syscalls that the new binaries will try to use, but the old kernel doesn't know about them. It doesn't happen often, so you can get away without rebooting most of the time. But it's risky, especially when updating across major versions. So the recommendation is to always reboot after installing the new kernel and before performing the "installworld". It's also important that "installworld" is the last step (except for mergemaster), because this is the point of no return. As long as you still have the old userland (world), you can still boot the old kernel and everything is fine. You can start all over froms cratch, if necessary. But as soon as you have started "installworld", your system will not be able to work with the old kernel anymore. And remember: Always make a backup before you start to update. And verify that the backup works. Better safe than sorry. Best regards Oliver -- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd "... there are two ways of constructing a software design: One way is to make it so simple that there are _obviously_ no deficiencies and the other way is to make it so complicated that there are no _obvious_ deficiencies." -- C.A.R. Hoare, ACM Turing Award Lecture, 1980 _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"