Canonical upgrade procedure for 6.0?

Stacey Roberts stacey at vickiandstacey.com
Sun Oct 30 09:55:23 PST 2005


Hello Roland,

On Sun, 30 Oct 2005, Roland Smith wrote:

> On Sun, Oct 30, 2005 at 11:44:24AM +0000, Stacey Roberts wrote:
> > Hello Roland,
> >       Thanks for the response.
> > 
> > On Sun, 30 Oct 2005, Roland Smith wrote:
> > 
> > > On Sun, Oct 30, 2005 at 10:28:35AM +0000, Stacey Roberts wrote:
> > > > Hello,
> > > >     Is there anywhere on the FreeBSD.org site that has any (even if semi-official) procedure for upgrading a FreeBSD-5Stable machine (i386) to 6.0?
> > > 
> > > Chapter 20 of the Handbook details how to update your system with cvsup
> > > and how to rebuild your kernel+world.
> > 
> > I know about the procedures details in that chapter, however, I'm
> > recalling the fact that at one point in time, there was a "migrating"
> > link (http://www.freebsd.org/old/releases/5.4R/migration-guide.html)
> > on the old website that included, if you will, *the way* to migrate
> > from FreeBSD-4 to FreeBSD-5 - that included changes and extra steps as
> > against what is mentioned in chapter 20 in the Handbook.
> 
> The migration from 4 to 5 was much more involved, because some
> subsystems had been radically changed. The changes from 5 to 6 are less
> so, AFAIK.
> 
> > If chapter 20 is the way, then fair enough, but I thought it a simple
> > thing to ask.
> 
> Actually, the instructions in /usr/src/UPDATING are considered to be
> canonical, AFAIK. Chapter 20 refers to it. Look for "COMMON ITEMS",
> especially "To upgrade in-place from 5.x-stable to current".

Okay.., I took the view that following the Handbook was the way to go, changing "*default release=cvs tag=RELENG_5" to "*default release=cvs tag=RELENG_6".

All went fine, that is, I was able to cvsup sources to upgrade a FreeBSD-5-Stable machine to FreeBSD-6.0-RC-1:

$ uname -a
FreeBSD <snipped> 6.0-RC1 FreeBSD 6.0-RC1 #0: Sun Oct 30 16:09:08 GMT 2005     <snipped>:/usr/obj/usr/src/sys/GENERIC  i386
$

All looks well, whereby I can log in successfully, and load X as before (I know that at some point I need to rebuild all installed ports), however I now need to configure, compile and install a custom kernel. But when I checked the location of where (the default in FreeBSD) I'd expect to see a new GENERIC, I see the following:

/usr/src/sys/i386/conf $ ls -tla
total 92
drwxr-xr-x   2 root  wheel    512 Oct 30 18:05 .
drwxr-xr-x  14 root  wheel    512 Oct 29 19:48 ..
-rw-r--r--   1 root  wheel   1741 Oct 29 19:48 GENERIC.hints
-rw-r--r--   1 root  wheel    372 Oct 28 20:21 DEFAULTS
-rw-r--r--   1 root  wheel  10211 Oct 28 20:21 GENERIC
-rw-r--r--   1 root  wheel  33284 Oct  7 15:00 NOTES
-rw-r--r--   1 root  wheel    322 Sep 18 04:37 SMP
-rw-r--r--   1 root  wheel   1766 Jul 29 17:02 PAE
-rw-r--r--   1 root  wheel     13 Jun 20 17:52 .cvsignore
-rw-r--r--   1 root  wheel    120 Feb 26  2003 Makefile
/usr/src/sys/i386/conf $

After copying GENERIC to "MYKERNEL", I'd have expected to go through MYKERNEL to add / delete as required, as well as remove the debugging statements that I'd come across from reading various suggestions (like "options INVARIANTS", etc), but I've found that the GENERIC on this system doesn't have the entries for any of those debugging statements to remove. Here's a snippet where I'd have expected to see some of those entries:

$ more GENERIC
#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.429.2.4 2005/10/28 19:21:27 jhb Exp $

machine         i386
cpu             I486_CPU
cpu             I586_CPU
cpu             I686_CPU
ident           GENERIC

# To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         # Default places to look for devices.

makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols

#options        SCHED_ULE               # ULE scheduler
options         SCHED_4BSD              # 4BSD scheduler
options         PREEMPTION              # Enable kernel thread preemption
options         INET                    # InterNETworking
options         INET6                   # IPv6 communications protocols
options         FFS                     # Berkeley Fast Filesystem
options         SOFTUPDATES             # Enable FFS soft updates support
options         UFS_ACL                 # Support for access control lists
options         UFS_DIRHASH             # Improve performance on big directories
options         MD_ROOT                 # MD is a potential root device
options         NFSCLIENT               # Network Filesystem Client
options         NFSSERVER               # Network Filesystem Server
options         NFS_ROOT                # NFS usable as /, requires NFSCLIENT
options         MSDOSFS                 # MSDOS Filesystem
options         CD9660                  # ISO 9660 Filesystem
options         PROCFS                  # Process filesystem (requires PSEUDOFS)
options         PSEUDOFS                # Pseudo-filesystem framework
options         GEOM_GPT                # GUID Partition Tables.
options         COMPAT_43               # Compatible with BSD 4.3 [KEEP THIS!]
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
options         KTRACE                  # ktrace(1) support
options         SYSVSHM                 # SYSV-style shared memory
options         SYSVMSG                 # SYSV-style message queues
options         SYSVSEM                 # SYSV-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~128k to driver.
options         AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~215k to driver.
options         ADAPTIVE_GIANT          # Giant mutex is adaptive.

device          apic                    # I/O APIC

# Bus support.
device          eisa
device          pci

# Floppy drives
device          fdc

I see the line entry for "makeoptions DEBUG=-g", but where are all the others (INVARIANTS, WITNESS, etc)? Presumably, something's gone wrong somewher along the way?

Any information, would be appreciated, please.

Regards,

Stacey


> 
> That being said, I guess the least troublesome route is to make a backup
> of your data (including configuration files), wipe the disks and do a
> re-install of 6.0. That way you can be sure there are no leftovers from
> 5.x. And then you can "port" your config files to the new release.
> 
> Especially, it gives you an opportinity to tune things like slices and
> their sizes. Personally I like to have /home on a separate slice for
> easy dumps and backups, since my /usr is to big to fit on DVD with
> /usr/home in it.
> 
> Roland
> -- 
> R.F.Smith (http://www.xs4all.nl/~rsmith/) Please send e-mail as plain text.
> public key: http://www.xs4all.nl/~rsmith/pubkey.txt


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 466 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20051030/c9d2b851/attachment.bin


More information about the freebsd-questions mailing list