11 May 2008

Kernel Panic: CPU Too Old

Ever see that message? I got it in February when I put Ubuntu 7.10 Server Edition on my roommate's laptop. Jdong pointed me at a bug explaining the problem. I don't believe I ever mentioned it here, but I was just on the phone with a friend, and he said he had this weird problem where it said the CPU was wrong instead of booting. "CPU too old, you mean?" "Yeah, that's it" "Server Edition?" "Yep"

The reason it's doing this is that the -server kernel expects PAE, which lets PCI devices be mapped above the 4GiB line so if you have 4GiB, you can actually use all 4 instead of having your PCI devices be mem-mapped right over where your memory should go and right out of the range of what 32bit can handle.

To fix it, get out a live cd and chroot into the hard drive. sudo chroot /dev/sda1, assuming first drive, first partition (change sda1 to whatever corresponds to your partition if this is not the case). Once in there, run sudo apt-get install linux-image-386, or, if you have a dual-core processor (so you can get SMP), sudo apt-get install linux-image-generic. Then, remove the -server kernel by entering sudo apt-get remove linux-image-$(uname -r) in your terminal. After a reboot, it should, well, be able to boot.


6 comments:

magicfab said...

How about doing the odd thing and providing the bug's URL ? ;)

Michael said...

Thanks a lot for this helpful post! I too experienced this error about one year ago and ended up using a newer computer because I wasn't able to solve the problem back then. Now I know what to do! ;-)

Mackenzie said...

Didn't know the bug # at the time I posted it, but here, found it:
Bug #151942

pirast said...

just install the -generic kernel (via chroot). the -server kernel is optimized for *real* servers, and not old machines.

Mackenzie said...

Er....that's what it says.

John Carlyle-Clarke said...

Wierd - I had this problem the other day too :) I was trying to install 8.04 onto an old Vaio with a knackered keyboard and battery to run as my mailserver.

I solved it using rescue mode on the install CD with basically the same process except there is one catch. You have to do export TERM=vt100 or something, because none of the config scripts recognise busybox's bterm and so won't run, leaving some packages in an unconfigured state and therefore preventing the generic kernel installing. I should have thought of a live CD! Duh..