Nik Clayton wrote:
> That, at least, was not the case with an upgrade I attempted a few days
> ago. On booting with kernel.GENERIC (from -current) it hung mounting the
> disks. Trying to go back to kernel.stable didn't work, because I'd had
> to update the /dev entries for -current, and they wouldn't work with
> -stable. I had to dig out fixit floppies and restore from a backup.
>
> Ordinarily, you'd make sure that userland, /dev, and the kernel are all
> in sync before you reboot. However, in this case (and as advised by
> src/UPDATING) you have to reboot with a new kernel after updating /dev,
> but before you update the userland.
I've been meaning to post this for a while. I recently upgraded two way
old 4.0 systems to post-signal changes -current. It's not quite a 3.x ->
4.0-Current upgrade, but it's close. I had to do a few things
differently than what's in Updating, and I wanted to test the
feasability of not going single user mode since I keep remote upgrades
in the back of my mind even though I don't do a lot of them anymore.
This is assuming that you've done all the right things with upgrading
sources, double-checked /etc/make.conf, using clean /usr/src, clean
/usr/obj, etc.
1. make buildworld
2. make buildkernel
I actually updated my kernel config file while world was building so I
did 'make KERNEL=MYKERNELFILE buildkernel, and below, but that's not for
the faint of heart. As someone already pointed out, GENERIC is a better
choice, and doesn't require any options.
3. make installkernel
4. cd /usr/src/sbin/mknod && make install
I had to do this or the next step didn't work.
5. cp /usr/src/etc/MAKEFILE /dev ; cd /dev ; /bin/sh MAKEFILE all
6. Update /etc/fstab and new disk devices per instructions in Updating
7. reboot
8. make -k installworld
9. make installworld
10. mergemaster
11. rebuilt my kernel (make sure to update your kernel config file) and
rebooted
I did one system this way feeling my way through, then did another
following these instructions and didn't have any problems. I never had
to go single user, although these were workstation machines. For servers
you'd probably want to use /var/run/nologin, or similar. (Just make sure
you open plenty of shells for yourself first. :)
I hope this is useful,
Doug
--
"Welcome to the desert of the real."
- Laurence Fishburne as Morpheus, "The Matrix"
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message