LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Kernel
User Name
Password
Linux - Kernel This forum is for all discussion relating to the Linux kernel.

Notices


Reply
  Search this Thread
Old 09-16-2013, 11:13 PM   #1
Ongbuntu
Member
 
Registered: Aug 2013
Distribution: slackware
Posts: 79

Rep: Reputation: 8
kernel boot error: version magic '3.2.29 SMP mod_unload PENTIUMIII ' should be '3.2.2


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
 
Old 09-17-2013, 03:52 PM   #2
Mara
Moderator
 
Registered: Feb 2002
Location: Grenoble
Distribution: Debian
Posts: 9,696

Rep: Reputation: 232Reputation: 232Reputation: 232
First advice ifor you is to always have a working kernel in the configuration. This allows you to go back if something goes wrong with the new kernel.

Now back to your problem. The reason is that you have the modules compiled for Pentium3 and the kernel itself for 486. I guess you prefer to change the latter. Compile the kernel image itself again and make sure it is installed. Check the image date if needed.

Also, the guide you're using is dated. I'd compile the kernel rather using simply 'make' and 'make install'.
 
Old 09-17-2013, 08:37 PM   #3
Ongbuntu
Member
 
Registered: Aug 2013
Distribution: slackware
Posts: 79

Original Poster
Rep: Reputation: 8
Quote:
Originally Posted by Mara View Post
First advice ifor you is to always have a working kernel in the configuration. This allows you to go back if something goes wrong with the new kernel.

Now back to your problem. The reason is that you have the modules compiled for Pentium3 and the kernel itself for 486. I guess you prefer to change the latter. Compile the kernel image itself again and make sure it is installed. Check the image date if needed.

Also, the guide you're using is dated. I'd compile the kernel rather using simply 'make' and 'make install'.
Hi Mara,

Thanks for the advice. I did configure lilo.conf to keep the original kernel intact. I was only concern that I could have break the system by building my kernel as root in /usr/src.

The strange thing is that I selected Pentium III in my kernel processor config and rebuild everything with #make followed by #make modules_install and finally copying the ./arch/i386/boot/bzImage to /boot/vmlinuz-3.2.29-custom. unfortunately, the error persisted upon reboot. I tried that at least 3 times with no luck. Maybe I have somehow corrupted the kernel source.

Sorry if this is a noob question, but can you explain how to compile a kernel without using 'make' or 'make bzImage'? and how does that differ from using 'make'? Do note that I did not run 'make install' but 'make modules_install' instead.

thank you.

ck
 
Old 09-18-2013, 09:13 PM   #4
Ongbuntu
Member
 
Registered: Aug 2013
Distribution: slackware
Posts: 79

Original Poster
Rep: Reputation: 8
Hi,

Just an update to close this issue.

I have reloaded my kernel source and recompile with config seed from kernel-seeds.org. I am able to boot now with some firmware issues for my wireless net, but that should belong to another thread.

cheers
ck
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Why "magic number "2.6.38 SMP mod_unload" should be "2.6.38 SMP" " ? rpatel Linux - Kernel 0 10-16-2012 03:35 AM
version magic error geetha_sg Slackware 7 07-06-2008 11:11 PM
version magic error fotisaueb Linux - General 0 08-24-2004 11:02 AM
Building Kernel (mdkcustom) -- Magic Version error! NachoKB Mandriva 1 08-05-2004 03:29 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Kernel

All times are GMT -5. The time now is 04:58 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration