Upgrading from 3.1-Release to 3.1-Stable

Upgrading from 3.1-Release to 3.1-Stable

This article shows you how to upgrade from 3.1-Release to 3.1-Stable using
/stand/sysinstall.  You can also use cvsup. Why did I
upgrade to -Stable?  Because -Stable is more stable than -Release.  For more
detail on what -Stable is and why you might want to get it, see The Cutting Edge.

Why upgrade?

I had recently installed FreeBSD to replace Windows 95.
  However, I installed 3.1-Release when I actually wanted 3.1-Stable.  I want
all my machines on the same release.

The upgrade that failed

This first attempt did not work.  Please see the next section.

I ran /stand/sysinstall
and chose to Upgrade an existing system.   From then it was pretty much
the same as the original install of FreeBSD to replace
Windows 95

After the install finished, and I rebooted, I noticed the following:

$ uname -a
FreeBSD kennett.freebsddiary.cx 3.1-RELEASE FreeBSD 3.1-RELEASE 
#0: Mon Feb 15 11:08:08 GMT 1999     
jkh@usw3.freebsd.org:/usr/src/sys/compile/GENERIC  i386

That looks to me like release not stable. I’ll compile a kernel and
see what happens.

The first compile failed.  Well, the machine froze actually.  I rebooted and
started the compile.  After 17 minutes, I had a new kernel.  I installed it and
rebooted.  Darn.  Still 3.1  Oh well, this time I tried again and used the
Options menu to specify 3.1-STABLE  And I tried again.

After about 8 failed attempts, I resorted to using the floppies.  And that didn’t
work either.  I was unable to get 3.1-STABLE.

Local FTP

I have had enough of this toying around.  So I’ve decided to download the files
to my local FTP server.  This will reduce the Internet traffic and speed up my
installs.   And seeing as I’m doing so many of them, I think this will save me time.

ftp’d to releng3.freebsd.org and grabbed a tarball of the stuff I needed.

# ftp releng3.freebsd.org
Connected to usw3.freebsd.org.
220 usw3.freebsd.org FTP server (Version 
  wu-2.4.2-academ[BETA-18-VR13](1) Wed Feb 10 06:27:33 CST 1999)
Name (releng3.freebsd.org:marc): ftp
331 Guest login ok, send your complete e-mail address 
      as password.
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub/FreeBSD/snapshots/i386/3.1-19990318-STABLE
250-Please read the file README.TXT
250-  it was last modified on Thu Mar 18 19:54:36 1999 - 
                                               2 days ago
250 CWD command successful.
ftp> passive
Passive mode on.
ftp> get bin.tar
local: bin.tar remote: bin.tar
227 Entering Passive Mode (209,180,6,227,11,127)
150 Opening BINARY mode data connection for /usr/bin/tar.
226 Transfer complete.
25364480 bytes received in 626.21 seconds (39.55 KB/s)
ftp> get manpages.tar
local: manpages.tar remote: manpages.tar
227 Entering Passive Mode (209,180,6,227,11,139)
150 Opening BINARY mode data connection for /usr/bin/tar.
226 Transfer complete.
7833600 bytes received in 190.86 seconds (40.08 KB/s)
ftp> quit

Note: If you look at the FTP directories listed above, you will not find any tarballs
(e.g. bin.tar or manpages.tar).  But you will see directories called manpages
and bin.  So how did we manage to get those files when they don’t
exist?  Well, it’s a feature of ftp.  When you use the get command on a
directory, and append .tar to the end of the directory name, the get command
automatically constructs the tarbar for you.  This certainly saves you a great deal
of time!

Then I untarred the files and created a symlink.  I found I wasn’t able to do this
without the symlink as shown below:

[root@ns:/pub/ftp/pub/FreeBSD/releases] # ls -lt
total 6
lrwxr-xr-x   1 root  wheel    34 Mar 21 12:00 3.1-STABLE -> 
drwxr-xr-x  17 52    51     1024 Mar  7 11:02 2.2.8-RELEASE
drwxr-xr-x  18 52    51     1024 Feb 16 22:39 3.1-RELEASE
drwxr-xr-x   2 root  wheel   512 Feb 16 06:28 3.0-STABLE
drwxr-xr-x  17 52    51     1024 Feb  8 20:44 3.0-RELEASE
drwxr-xr-x   5 52    51      512 Feb  7 11:02 XFree86
drwxr-xr-x   4 52    51      512 Feb  1 18:48 snapshots

Then I tried again.  No luck.  I was still on 3.1-RELEASE.

I continued along this track several times until someone on the #FreeBSD IRC channel on
Undernet asked if I’d updated the kernel sources….. DOH!

So I went back to releng3.freebsd.org and downloaded the src
directory to my FTP server.

The upgrade that worked

I ran /stand/sysinstall again.  See what I did in FreeBSD to replace Windows 95 for details on what to
choose and where to go.  In short, I selected:

  1. Upgrade an existing system
  2. Kern-Developer distribution.
  3. Media was FTP
  4. URL was ftp://myftpserver.com/pub/FreeBSD/releases

After that worked, I rebooted and everything was fine.  Then it was time upgrade
the kernel sources.  So I ran /stand/sysinstall again.  This time I

  1. Configure
  2. Distributions
  3. Source
  4. sys (just the kernel source)
  5. Media was FTP
  6. URL was ftp://myftpserver.com/pub/FreeBSD/releases

After this step, I created myself a custom kernel.
  Now when I did a uname -a, I get this:

kennett# uname -a
FreeBSD kennett.freebsddiary.cx 3.1-19990318-STABLE FreeBSD 
3.1-19990318-STABLE #3: Thu Mar 18 09:03:30 NZDT 1999
root@kennett.freebsddiary.cx:/usr/src/sys/compile/KENNETT  i386

Did this help?

This was the first time I’ve upgraded FreeBSD via /stand/sysinstall
If this doesn’t work for you, I’d like to know about it.  All comments will be

Leave a Comment

Scroll to Top