kldload & dhcp client not working properly after upgrade to 6.0

Danny MacMillan flowers at users.sourceforge.net
Fri Nov 11 23:51:10 GMT 2005


I recently upgraded two of the systems under my purview to FreeBSD
6.0-RELEASE, both from FreeBSD 5.4-RELEASE-p8.  On one of them,
everything appeared to work perfectly.  On the other, something is
definitely fubar'ed.

There are two notable symptoms of this that I have seen.  The first is
minor, the second less so.

I have in the /etc/rc.conf of both systems:


I noticed some text on the screwed up system (during boot, I think, my
memory is fuzzy about where I saw it) indicating that star_saver could
not be loaded.  Interesting.  So I tried

hobbit% sudo kldload star_saver
kldload: can't load star_saver: No such file or directory

Interesting.  So:

hobbit% sudo kldload /boot/kernel/star_saver.ko
hobbit% kldstat
Id Refs Address    Size     Name
 1    4 0xc0400000 657ab0   kernel
 2    1 0xc0a58000 5c3c     vesa.ko
 3    1 0xc3728000 2000     star_saver.ko

If I specify the fully-qualified path, it works.

It was working before the upgrade to 6.0.  It was and is still working
on the other system I upgraded at the same time.

The other issue is with adding alias IP addresses to an interface whose
primary address is assigned via DHCP.  I think it might be related to
the above.  The non-working system had in its /etc/rc.conf the following

ifconfig_rl0_alias0="inet netmask"
ifconfig_rl0_alias1="inet netmask"

The DHCP server is configured to always assign to this
machine's NIC.  After the upgrade to 6.0, ifconfig -a reported that the
rl0 interface had acquired and, but not!  This had rather serious consequences for our network
since that is the IP we use for our internal DNS cache.  I was able to
grab the IP address by typing:

sudo ifconfig rl0 inet netmask alias

However, this was not sufficient because we need that server to come up
when we reboot the machine.  So I changed rc.conf to this:

ifconfig_rl0="inet netmask"
ifconfig_rl0_alias0="inet netmask"
ifconfig_rl0_alias1="inet netmask"

I then rebooted, and everything worked fine.  The machine that has no
problems with kldload does not have any IP aliases.

The only notable differences between the systems are these:  The working
system started its life as FreeBSD 5.3-RELEASE, while the non-working
system started its life as FreeBSD 5.1-RELEASE.  Also, the non-working
system is a "CPU: AMD-K6(tm) 3D processor (400.91-MHz 586-class CPU)" as
reported by dmesg.  The working system is a "CPU: AMD Athlon(TM) XP1600+
(1059.44-MHz 686-class CPU)" (I like underclocking :)

Note that the upgrade of the non-working system was performed in several

cvsup to RELENG_5_1 and upgrade
cvsup to RELENG_5_2 and upgrade
cvsup to RELENG_5_3 and upgrade
cvsup to RELENG_5_4 and upgrade
cvsup to RELENG_6_0 and upgrade

After each of these steps, except the final upgrade to 6.0, everything
was still working fine.  Before each of these steps, with one exception
(see below) I copied GENERIC over my own kernel file and 'customized' it
by changing the IDENT and removing I486_CPU and I686_CPU.  These were
the only changes I made.

I thought I must have screwed something up during the upgrade, so I
repeated the build and install of (6.0) kernel and world as described in
the handbook.  No dice.  I thought I must have incorrectly merged
something during the mergemaster, so I ran mergemaster -s and carefully
scrutinized each change.  Still no dice.

Then I realized that before I built world with the RELENG_6_0 source, I
had forgotten to copy GENERIC over my own kernel config and modify.  So
I did that, then built and installed just the kernel.  That didn't work,
so I then repeated the entire "rebuilding world" and mergemaster -s
again, just in case.  Everything went well, but the problem did not go away.

Does anyone have any idea what's going on?  I feel like I'm taking crazy

Danny MacMillan

More information about the freebsd-questions mailing list