LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > SUSE / openSUSE
User Name
Password
SUSE / openSUSE This Forum is for the discussion of Suse Linux.

Notices


Reply
  Search this Thread
Old 04-07-2005, 06:52 PM   #1
goterry
LQ Newbie
 
Registered: Jul 2003
Posts: 4

Rep: Reputation: 0
SuSE 9.2 (2.6.8-24) make modules - smp vs. up


Hi,

I'm having problems rebuilding 2.6.8-24 kernel with SMP enabled in a SuSE 9.2 Professional installation. The rebuild itself completes without incident, but the modules that are built and installed appear to be for a uni-processor kernel. As a result, installing any of the newly built modules results in "Invalid module format" error messages.

The procedure I followed:
1. Clean SuSE 9.2 Professional install from CDs.
2. Copy sources to a new directory and set up appropriate links.
3. # make menuconfig
Set Processor type and features --->Symmetric multi-processing support
Set Build options --->Configuration name as appropriate
4. # make dep clean
5. # make dep (which does nothing)
6. # make bzImage
7. # make modules
8. # make modules_install
9. Rename /usr/src/linux/arch/i386/boot/bzImage appropriately
10. Copy new image to /boot
11. In /boot, create soft link to new image.
12. Modify /boot/grub/menu.lst
13. Boot into new kernel.

Error message during boot:
Loading kernel/fs/reiserfs/reiserfs.ko
reiserfs: disagrees about version of symbol struct_module
insmod: error inserting '/lib/modules/2.6.8-24-mpt/kernel/fs/reiserfs/reiserfs.ko' : -1 Invalid module format
Waiting for device /dev/hda2 to appear: ok
rootfs: major=3 minor=2 devn=770
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,2)

I have confirmed the cause of this error is that the new modules are built without SMP support.

The procedure I followed and outlined above worked without problems in SuSE 9.1 Professional, kernel 2.6.4-52.

Please let me know what step I have missed in the configuration of the new kernel.

Thanks,
Terry
 
Old 04-08-2005, 07:20 AM   #2
abisko00
Senior Member
 
Registered: Mar 2004
Location: Munich
Distribution: Ubuntu
Posts: 3,517

Rep: Reputation: 58
I am not sure, but did you change the EXTRAVERSION of your kernel (-mpt)? Then you need to make a new ramdisk (using the module from /lib/modules/'uname -r').
 
Old 04-08-2005, 11:54 AM   #3
goterry
LQ Newbie
 
Registered: Jul 2003
Posts: 4

Original Poster
Rep: Reputation: 0
I did not explicitly modify EXTRAVERSION in /usr/src/linux/Makefile. The assignment is the default:
EXTRAVERSION = -$(shell echo $(CONFIG_RELEASE)-$(CONFIG_CFGNAME))

I did, however, modify CONFIG_CFGNAME in /usr/src/linux/.config, which should result in a change to EXTRAVERSION.

I did not make a new ramdisk. I will try that step when I have time to get back to this exercise. (I've just been yanked into a new crisis with higher priority.)

Is there a command that displays the smp/up property of a given module? I tried 'modinfo' but that doesn't display this information, unless I missed some option.

Thanks,
Terry
 
Old 04-08-2005, 03:49 PM   #4
broch
Member
 
Registered: Feb 2005
Distribution: Slackware-current 64bit
Posts: 465

Rep: Reputation: 32
1. make dep is deprecated in 2.6
2. suggest to build fs into kernel not as a module. As far as I know you need first working/recognized fs for anything to load?
3. if you REALLY don't want to build fs into kernel: use mkinitrd (and ad to GRUB)
4. modify GRUB so it will point to right device. In your case
root=0302

taken from yours:
"rootfs: major=3 minor=2"


In SuSE you should not modify EXTRAVERSION:
EXTRAVERSION = -$(shell echo $(CONFIG_RELEASE)-$(CONFIG_CFGNAME))

it clearly points out to your config file. You can modify kernel name by changing last lines in your .config
 
Old 04-08-2005, 06:33 PM   #5
goterry
LQ Newbie
 
Registered: Jul 2003
Posts: 4

Original Poster
Rep: Reputation: 0
Building the fs into kernel would resolve this particular instance of the problem. However, _all_ modules built exhibit the same behavior (verified by copying four newly built modules (the ones that I care about) into the modules directory created at installation. This resulted in same "Invalid module format" when I 'insmod').

I will try the 'mkinitrd' as you suggest. Just not sure when I'll get to it.

Thanks,
Terry
 
Old 04-11-2005, 05:54 PM   #6
goterry
LQ Newbie
 
Registered: Jul 2003
Posts: 4

Original Poster
Rep: Reputation: 0
'mkinitrd' did the trick! Apparently, earlier versions of the kernel that I had rebuilt had succeeded only by accident, not because I had done the process correctly.

Thanks to all!

For everybody's information, the 'mkinitrd' command I invoked:

# mkinitrd -b /boot -d /dev/hda2 -m reiserfs -k /boot/vmlinuz-kernel-name -i /boot/initrd-kernel-name
(substitute required string for all instances of "kernel-name")

Terry
 
  


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
SMP Kernel for SuSE 9.3? mac57 SUSE / openSUSE 1 08-03-2005 04:03 PM
SMP in SuSE 9.1? MadSkillzMan Linux - Distributions 2 07-15-2004 04:19 PM
Look the output of: make dep && make clean bzImage modules modules_install Hell-Shooter Linux - General 2 06-05-2004 05:05 AM
Does PERL make use of SMP? WeNdeL Linux - Software 0 10-15-2003 12:07 PM
make modules_install don't make any modules in /lib/modules ganesh_maillist Linux - Newbie 1 09-15-2003 01:45 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > SUSE / openSUSE

All times are GMT -5. The time now is 10:17 AM.

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