messed up upgrade 7.0 & 7.1 to 7.2

Roland Smith rsmith at
Wed Jul 29 18:52:30 UTC 2009

On Wed, Jul 29, 2009 at 01:33:50PM -0400, PJ wrote:
> I have been struggling for about 4 days trying to prepare 2 computers to
> update to 7.2 with no success whatsoever.
> The more I read the instructions, the less I understand.
> And almost nothing works as it should
> Some background:
> I have been using FreeBSD as a LAN server (for files storage & web
> development/backup etc. and part desktop for more than 10 years. I have
> never had great success when it comes to installation but have managed
> to get it running and have even kept on v. 4.10 for archiving older
> sites I have had.
> The older methods of upgrading worked well enough even though they were
> somewhat lengthy.
> Last week I finally managed to set up an Acer Travelmate 4400 amd64 with
> FreeBSD 7.2 and even got everything right. For the first time I was able
> to get Flash & Shockwave to work on a FreeBSD installation.
> With a bit of help from this list. Thanks, guys.
> However, I have not been able to figure out how a custom kernel could be
> set up nor how the new modular system works. Haven't found any coherent
> explanations.
> But now I have the following problems:
> PROBLEM 1. I freebsd-update fetch did not get the security patches or
> whatever else it should - all I got was error: configuration file not found

Does /etc/freebsd-update.conf exist?
> PROBLEM 2. There seems to be some confusion about how to update and keep
> current the ports - portsnap seems to work in concert with portversion;
> there are some problems when one uses portsnap as there are with cvsup.
> The two seem necessary since some errors inn installing cannot be
> handled by both...
> If, for example, it is necessary to delete the port completely and
> reinstall it, portsnap just does not do it. I does not see that the port
> direcotry is empty; cvsup does and fills it in so the error can be
> correcte and the port properly installed.

Portsnap only updates the ports tree (the directories under /usr/ports),
not the installed ports themselves. You'll need either
/usr/ports/ports-mgmt/portupgrade or /usr/ports/ports-mgmt/portmaster to
keep installed ports up to date. I prefer portmaster since it doesn't
depend on a separate database as portupgrade does. Depending on how long
it has been since you've updated your ports and the speed of your
machine, updates can indeed take a long time. You could choose to use
pre-built packages instead of compiling from source, to speed things up.

> PROBLEM 3. I always have been running with a custom kernel. So, to
> upgrade I am supposed to provide the GENERIC kernel in /boot. Ok, I went
> through that process as per manual instructions. 

Did you check that the GENERIC kernel that you built was installed as

> Had to reboot as I needed to transfer some downloaded files from the
> 7.1 box to the 7.0 box for port upgrading.

It is unclear to me why you should have to reboot to transfer
files... If you want to e.g. connect two machines with an ethernet
cable, are you aware that you can use the scripts in /etc/rc.d to stop
and restart networking?

And why not just transfer files with a USB thumbdrive?

> That was a mistake. Nothing indicated that I could
> not reboot without screwing things up... of course, I should have known
> better; but I'm prone to that kind of error. But I'm pretty sure that
> the automatic upgrade would not have worked anyway as it doesn't work on
> the machine with 7.0 installed.

Without a more thorough description of the steps that you followed,
there is not really a lot others can do to help you. From your
description it is totally unclear what has gone wrong.

> Booting on this 7.1 machine is now impossible. I tried to boot from the
> install CD but that only made it worse. As I understood the instruction
> it would upgrade the machine, but I understand now that it just doesn't
> work that way... it has to be upgraded from a 7.2 CD. That I don't have
> at the moment.
> So the boot now just says:
> Invalid format
> FreeBSD/i386 boot
> Default: 0:ad(0,a)/boot/kernel/kernel
> boot:
> -

Type ? at the boot prompt to see a list of files in the root directory
of the default boot device. Read the boot(8) manual page.

It could be that something went wrong with your disk. Mabye the slices
or partitions were deleted.

> PROBLEM 4. The machine with 7.1 - after a complete ports upgrade, I tried
> # freebsd-update -r 7.2-RELEASE upgrade
> and I get the famous no configuration file found.

Does this configuration file (see above) exist? 

> Somehow, I don't recall that being indicated anywhere in the manual. Oh,
> I did read it... several times... and the more I read it, the more I
> didn't understand anything - from mergemaster to the configuration file
> to the modular kernels ...
> Maybe someone could explain to me just exaclty how is one supposed to
> deal with the upgrading and customizing the kernel. Should one (I) be
> simply using the GENERIC kernel and then expect the upgrading to be as
> simple as it seems to sound?

If you want a custom kernel, I find it more convenient to upgrade from

> And just what advantage (speed wise I suppose) is there to use the
> custom kernel?

A custom kernel will save some boot time because it doesn't probe for
devices that aren't built-in or loaded as modules.

There are some things (options) in the kernel that you cannot load as modules,
they need to be compiled in. E.g. the scheduler, or if you want to use
device polling instead of interrupts. See e.g. /sys/i386/conf/NOTES for
options and devices that are not part of the GENERIC kernel.

> Maybe the easiest is to just install the 7.2 fresh; but that would take
> the fun out of beating my head against an already cracked wall for
> upgrading and would take probably as long to reinstall all the 644 or so
> programs.

I don't think you have to reinstall all programs. Just restore
/usr/local and /var/db/pkg from backup. You did make a full backup
before trying to upgrade, I hope? If not, I trust you remember to do so
in the future...

Contrary to what the handbook says, you do not always have to reinstall
all ports when updating the system. It is definitely necessary when
updating to another major version (6.x -> 7.x), but when updating to
another minor version (7.1 -> 7.2) it is usually not necessary (unless
/usr/src/UPDATING says differently). 

> On the 7.1 machine, I don't really want to lose all the files I have on
> there... most have been saved and none are really that important... but
> "just in case".

Not to put too fine a point on it, but that is why you should make
regular backups of all your important data. 

[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914  B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url :

More information about the freebsd-questions mailing list