The FreeBSD Diary

The FreeBSD Diary (TM)

Providing practical examples since 1998

If you buy from Amazon USA, please support us by using this link.
[ HOME | TOPICS | INDEX | WEB RESOURCES | BOOKS | CONTRIBUTE | SEARCH | FEEDBACK | FAQ | FORUMS ]
Upgrading from 3.1-Release to 3.1-Stable 23 March 1999
Need more help on this topic? Click here
This article has no comments
Show me similar articles
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.

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.

I 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)
  ready.
Name (releng3.freebsd.org:marc): ftp
331 Guest login ok, send your complete e-mail address 
      as password.
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 -> 
                             snapshots/i386/3.1-19990318-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 choose:

  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 appreciated.

Need more help on this topic? Click here
This article has no comments
Show me similar articles