RFC: 5.3 Migration Guide

M. Warner Losh imp at bsdimp.com
Tue Sep 7 12:28:26 PDT 2004


Having just done a 4.10  -> current upgrade...

In message: <1094426835.767.50.camel at localhost>
            "Bruce A. Mah" <bmah at freebsd.org> writes:
: http://people.freebsd.org/~bmah/pub/article.html
...
: Thanks for any comments...

Item #1:
	good

Item #2:
	o FreeBSD/alpha unaffected
	o Many users added disks and used the compat partitions
	  because they were easy, so the problem is likely wide
	  spread.
	o Dangerously dedicated users are not impacted, but as always
	  DD isn't guaranteed to work.

Item #3:
	o Mention RELENG_5 as well.

Item #4:
	o Make sure that MAKEOBJDIRPREFIX isn't defined in
	  /etc/make.conf

Item #5:
	o Add a caution that says that if you do upgrade from old
	  kernel configuration files, to make sure that GENERIC is
	  used as a template due to the number of devices and options
	  that have been added.
	o Mention COMPAT_FREEBSD4 is required here.

Item #6:
	o Hints are needed for systems that have custom ISA non PNP
	  cards (with custom hints benig needed)
	o Hints are also needed for non PNPBIOS systems.
	o Hints are also needed for PNPBIOS systems to get floppies
	  right (this is a bug that may be fixed).
	o An empty file is sufficient for modern hardware.

Item #7: 
	o I'd split this in two.
	o I'd give the magic for unfucking yourself by showing how
	  to boot the new kernel with the old boot blocks.

Item #8:
	o you *MUST* do a fsck -p before mount -uw / (note: I always
	  -uw rather than -u).
	o I'd recommend against mount -a /, but instead mount -af ufs
	  /.  NFS requires special care and setup.
	o You ************M**U**S**T************ go into single user
	  mode at this point.  At the very least you must reboot with
	  a new kernel.  The new kernel will mostly work in multi-user
	  mode, but you might be screwed by the ifconfig changes or a
	  number of other binary changes between 4 and 5.

Item #9:
	o Not needed.  While it is useful to keep in the general
	  updating document, I think it would be too confusing.  I was
	  able to upgrade w/o it.

Item #10:
	o I found that doing this before rebooting was better because
	  you are in a saner environment.  It doesn't hurt anything
	  (heck, you could do it before buildworld even).

Item #11:
	o Ditto #10.

Item #12:
	o You forgot the very important foot note about having 30MB
	  free on /, purging /tmp, etc.  These items are absolutely
	  essential for a successful upgrade experience.

Item #13:
	o This step is *NON*OPTIONAL*.  Not only is it important, you
	  are totally fucked if you don't do it.

Item #14 (not yet present):
	o You *MUST* install compatibility libraries before
	  rebooting.  While most things work well enough w/o doing
	  this step, it is essential for the paranoid.
	o rm -rf /etc/periodic (unless you've hacked anything in it)
	  will go a long way towards reducing RMS.

I followed the above advise, and had no problems at all.  I'd also
recommend portupgrade strongly (in force mode), although I know that
some people hate it with a passion.
	
I'd also recommend having a 'script' that takes all these items and
presents them w/o annotation.

I'd also recommend doing this from a serial console if possible.

If you are using nextboot, disable it for the upgrade.

Can't think of anything else...  Hope this is enough :-)

Warner


More information about the freebsd-current mailing list