• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 287
  • Last Modified:

Linux kernel CONFIG_M486=y but doesn't run on 486 target

I have to compile a Linux kernel (Debian 2.4.27 Sarge "testing" of Oct 15 2004) for a 486 target. As there the compilation takes about 3 hours, I have connected its Linux hard drive to a Pentium III PC and boot Linux on this computer in order to do the compilation there.
My problem is the following: the .config file contains CONFIG_M486=y and I see from the build messages that all gcc calls run with "-march=i486". Also the newly created kernel boots from the Pentium III PC. However when I then connect the hard disk with the newly created/installed kernel to the 486 target I get a kernel message saying "Kernel panic: Kernel compiled for Pentium+, requires TSC feature!".
This is what I am doing:
make mrproper
make menuconfig
make dep
make clean
make bzImage
Then copy the newly created kernel to /boot and change /boot/grub/menu.lst appropriately.

What's going wrong ?
1 Solution
I think when you do mrproper you are actually getting the wrong config file. I'd try the following: do everything up to and with menuconfig on the 486 machine to prepare your new config file. then save it. Now edit your makefile in the linux directory to create a defined revision number. Copy the new config file, the linux source and if you want, the /lib/modules/(current kernel revision) to the pentium III PC. make sure you have the newly made .config file in the newly copied linux folder. start menuconfig again and make sure the settings are still correct. If that is the case, go on with the Compillation and when finished, copy the new linux kernel, the newly created /lib/modules folder to the old PC.

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now