Hi,
I am new to linux and this is my first question posted on this forum. Greatly appreciate any advice given.
My system config is as follows:
Slackware 14
Kernel version 3.2.29
Recently, I decided to take up the challenge to build my own customized kernel for my system using the kernel source from Slackware 14 by following this guide:
http://alien.slackbook.org/dokuwiki/...kernelbuilding
After countless attempt, I managed to get my custom kernel to boot up without using initrd. Basically, I need to include in my kernel the filesystem that i'm using (ext4) as well as the driver for the disk controller (by setting CONFIG_PATA_MARVELL=y).
Following this success, I decided to strip the unnecessary modules and kernel config to streamline the custom kernel. In my enthusiasium, I could have mis-strip some of the essential kernel config. As a result, I get some non-fatal kernel boot messages. Being too lazy to retrace the .config settings, I decided to make oldconfig from /boot/config-huge-3.2.29. This turns out to be a very bad decision on my part as I assumed the default processor select is Pentium III, which to my disappointment, turns out to be 486. I did not realise this until after running make && make modules_install and rebooting the system.
When the kernel compiled with 486 processor setting fail to boot, I decided to delete my build source and start from scratch again. One bad decision is often followed by a series of bad decisions.
I did the following:
#rm -rf /usr/src/linux-3.2.29-custom <this is my custom build source copied from /usr/src/linux-3.2.29-smp>
#rm /usr/src/linux <this is the symlink to /usr/src/linux-3.2.29-custom>
#mkdir /usr/src/linux-3.2.29-custom
#cp -rv /usr/src/linux-3.2.29-smp/* /usr/src/linux-3.2.29-custom <to create a fresh, clean source tree>
#ln -s /usr/src/linux-3.2.29-custom/ linux <to recreate the symlink to my source tree>
follow the instructions on:
http://alien.slackbook.org/dokuwiki/...kernelbuilding
reboot the system.
Upon system startup, I get a series of error messages:
loop: version magic '3.2.29 SMP mod_unload PENTIUMIII ' should be '3.2.2.29 SMP mod_unload 486 '
.... <all other modules gives the same message there after>
I am able to get to the login prompt, but the mouse the keyboard would not respond. I can only reset the system at this point.
After digging through the tons of related posts regarding similar errors, I found a problem with my linux symlink.
Instead of running:
#ln -s /usr/src/linux-3.2.29-custom linux
I ran:
#ln -s /usr/src/linux-3.2.29-custom
/ linux <with the additional
/.
when I did:
#ls -l /usr/src/linux
I notice that the symlink linux was pointing to:
linux -> /usr/src/linux-3.2.29-custom
// instead of
linux -> /usr/src/linux-3.2.29-custom/
there was and additional "
/"!
I suspected that this has caused my kernel build to fail. So i remove the kernel source and symlink, recreate everything and start from step #1 again to rebuild.
After all the sweat and tears, it was a futile attempt. The "version magic..." error messages persisted regardless of how i try to rebuild the kernel. Note that all my rebuilds were done with the correct processor settings of Pentium III. And all commands were run as root.
Now I suspect that the linux symlink which was wrongly configured has somehow broken the entire system. Could this be the case? Does it mean that I have to reinstall Slackware 14 and start all over from scratch?
Appreciate if some kind soul here can point me in the right direction. I do apologise for the long post as I am trying to walkthrough the entire process of how I arrive at this problem.
Thanks in advance.
Best Rgds
ck