FreeBSD 8.1-STABLE GENERIC kernels hang

I have been using FreeBSD for many years, on many i386 32bits platforms, from servers, to workstations, to laptops, and I have learnt my way through kernel customization.

But things have gone kind of wierd for the last year since I moved my laptop (a Lenovo R61I / Intel Pentium Dual CPU T2310 @ 1.46GHz ; 686-class CPU / 4GB)

Many of the default (GENERIC) kernels I compile simply do not boot due to not being able to open the device (dev/ad0s2a) for mounting it on / .

I have video-recorded the login process fast-paced messages of these unbootable generic kernels for clues, and the following error message was often displayed in the very beginning of the boot process :

"Cannot load /boot/loader.conf"

I should say that my /boot/loader.conf is actually a symlink to a file on the same slice (I never found anywhere this was an issue)

Could this be the cause of the problem I'm encountering, and what would it mean ?

I'm puzzled and any clue would be a great help.

Franck

/etc/src.conf
Code:
WITHOUT_DEBUG=foo
WITH_IDEA=foo
WITHOUT_ACCT=foo
WITHOUT_APM=foo
WITHOUT_ASSERT_DEBUG=foo
WITHOUT_ATM=foo
WITHOUT_BIND_ETC=foo
WITHOUT_BIND_LARGE_FILE=foo
WITHOUT_BIND_LIBS=foo
WITHOUT_BIND_LIBS_LWRES=foo
WITHOUT_BIND_MTREE=foo
WITHOUT_BIND_NAMED=foo
WITHOUT_BIND_XML=foo
WITHOUT_BLUETOOTH=foo
WITHOUT_BSNMP=foo
WITHOUT_CDDL=foo
WITHOUT_CTM=foo
WITHOUT_FLOPPY=foo
WITHOUT_GPIB=foo
WITHOUT_INET6=foo
WITHOUT_INFO=foo
WITHOUT_IPFW=foo
WITHOUT_IPX=foo
WITHOUT_KERBEROS=foo
WITHOUT_KERBEROS_SUPPORT=foo
WITHOUT_NCP=foo
WITHOUT_NETGRAPH=foo
WITHOUT_SENDMAIL=foo
WITHOUT_RCMDS=foo

/boot/loader.conf (a symbolic link to ../root/.../loader.conf)
Code:
verbose_loading="YES"
autoboot_delay="3"              # Delay in seconds before autobooting,
bitmap_load="NO"                # No bitmap during load
splash_bmp_load="NO"

firmware_load="YES"
procfs_load="YES"

kern.maxusers="16"
kern.maxfiles="2500"
kern.geom.debugflags=16

acpi_load="YES"
acpi_ibm_load="YES"
acpi_video_load="YES"

# Wireless networking
wlan_load="YES"
wlan_amrr_load="YES"

# Intel Pro Wireless 3945ABG
if_wpi_load="YES"
wpifw_load="YES"
legal.intel_wpi.license_ack="1"

sound_load="YES"
snd_hda_load="YES"
logo_saver_load="NO"
linux_load="NO"
 
Your kern.maxusers and kern.maxfiles look rather low. Try removing them and let the system figure it out.

Do you have any CFLAGS or similar in /etc/make.conf? Is so, remove those too.
 
franck-porcher said:
Many of the default (GENERIC) kernels I compile simply do not boot due to not being able to open the device (dev/ad0s2a) for mounting it on / .

USB drives sometimes need a delay:
Code:
kern.cam.boot_delay=10000

Never heard of a non-USB drive needing it, but it's a big world. Consider also that your hard drive may be going bad (see Stiction) and not getting spun up in time.

"Cannot load /boot/loader.conf"

I should say that my /boot/loader.conf is actually a symlink to a file on the same slice (I never found anywhere this was an issue)

Could this be the cause of the problem I'm encountering, and what would it mean ?

Remote the symlink and try it with a real file. If that works, it means the loader doesn't understand the symlink, possibly a regression.

You have a lot of customizations, and there may be some interactions there. A good test would be to remove the hard drive so it's safe, and replace it with another. Do an ordinary 8.1 install on the new drive with all the generic settings, and compare stability.

The less convenient version would be to make a full backup of your drive and then do the 8.1 install.
 
Back
Top