Upgrading 5.0 -> 5.1

Bill Moran wmoran at potentialtech.com
Thu Jun 12 19:30:36 PDT 2003

cp wrote:
>>You should *really* use 'make buildkernel' in the toplevel if you're
>>combining it with a world update. Recommended procedure:
>>~# cvsup /my/5.1.supfile
>>~# cd /usr/src
>>/usr/src# make buildworld
>>/usr/src# make buildkernel KERNCONF=<yourKERNELname>
>>/usr/src# make installkernel KERNCONF=<yourKERNELname>
>>/usr/src# reboot
>>OK boot -s
>># fsck -p && mount -a
>># ( cd /usr/src && make installworld )
>># reboot
>>OK boot
>>Also read chapter 21 of the Handbook.
> I have a related question on this if you would permit.
> I just did the same thing (5.0->5.1), I started to follow
> the handbook but became concerned in reading posts
> on the subject that suggested to installworld prior to
> building the kernel and booting. I also do not have
> access to the console in any convenient manner so I
> knew that it would never come back from
> the boot (it would be a week before I could then 
> get it up). So I did this:
> cvsup (src=all) RELENG_5_1
> buildworld
> installworld
> make buildkernel KERNCONF=MINE

Wow.  Don't do this.  Here's the reason:
Running kernel and world out of sync can potentially cause
all sorts of problems (and usually does).  The buildworld,
buildkernel, installkernel, reboot, installworld sequence
is designed to specifically reduce the chances of getting
you into a corner you can't back out of.

For example:
make buildworld
make buildkernel
< anywhere before this point, if you have problems or change
   your mind, you just delete /usr/obj and everything is
   back to normal
make installkernel
< After this point, reverting consists of copying kernel.old
   back to kernel and /modules.old back to /modules
reboot into single user mode
< if the new kernel doesn't boot, you can boot kernel.old and
   follow the steps above to get things back to where they were
make installworld
< If you got this far ... chances are everything went well and
   you'll have no reason to revert.

> At this point, it won't complete the kernel build and is
> showing signs of being unusable (e.g. "ipfw show" just
> dumps core). Is it too late to correct this or is a 
> reinstall and reconfigure next week the only option left?

I would suggest recvsupping to RELENG_5_0 and try the buildworld,
buildkernel again ... if they both succeed, continue with the
installkernel, reboot, installworld process and you should be
back to a fully functioning 5.0 system
I actually had to do this once, and it worked.
 From there, you should be able to do the 5.0 -> 5.1 upgrade
process again.

Even better, if you know the exact date of the sources used to
build the kernel that's currently running, you can use the date
keyword to cvsup sources to exactly that date.  That would be
even safer:
*default release=cvs date=2003.

Bill Moran
Potential Technologies

More information about the freebsd-questions mailing list