Linux kernel hangs at 'Switching to clocksource tsc" on Pentium 4

Hardware: Dell Dimension 4500S : i845G, Pentium 4, stock + 2GB RAM and latest (circa 2002) BIOS update.

I've been building a Linux system from source, so far it's LFS 7.0 by the book. The first kernel I built works fine, but has alot of fluff and bloat, so I'm now optimizing the kernel for my target hardware (see above).

My latest configuration attempt, and several trial and error variations, have been continually hanging at the printk "Switching to clocksource tsc" statement. My "good" kernel never has had an issue...this is version 3.1.0 btw. Both are being built from the same source tree, no patches, make mrproper, make menuconfig, etc, so obviously I'm just missing some key CONFIG_XXX flag.

I've been staring at this problem for over a day now, and I've built the kernel who knows how many times, but to no avail.

One thing that I find interesting is with the good kernel I get:

# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc

also, it might be useful to know....

# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc acpi_pm

I'v attempted the build configuration with various options, but at this point I can't remember any specifics so please don't ask. From my searching I've found and tested several kernel parameters, like clocksource=pit and notsc, but all of these fail as well. Again, I wish I had written down every thing I've tried so far, hindsight...

Most of the forum examples are for 2.x kernels and were solved with some variation of the boot options, but my good kernel uses only root=/dev/sdaX ro. So I know I'm golden with this hardware and kernel 3.1.0 combination if I can find the right build configuration.

Also, most of the people out there that have posted a similar issue say that after a few minutes the system will continue loading and everything is peachy. I've let it idle long enough to cook supper and it still hasn't resumed loading.

I'm hoping one of you guru's will read this and say "hey yeah I just set CONFIG_XXX=y on my P4 dinosaur and it worked great." :)

Let me know what you need me to try or check, I'll be happy to post the results.


From a quick search this problem seems to have quite many possible reasons, and seems to point to the fact that your new kernel's default for clock-source is wrong for your motherboard.

One advice that worked for some was to use clocksource=hpet or clocksource=acpi_pm.

In another thread, someone fixed this with clocksource=jiffies, another advised to try noapic or nolapic, another to turn acpi off in the BIOS, and still another blamed the Synaptics touchpad and fixed his problem by deleting Xorg.conf.

One kernel builder fixed his problem by recompiling initrd without fbcondecor.

Hope this helps, as it seems that this problem can have many causes.