Building a kernel module for CentOS 6 64bit
2.6.39.1-x86_64-linode19
.
I downloaded the kernel source from '
I then edited the .config setting CONFIGDUMMY to 'm' and ran make modules
. The resulting module would not load without a --force; kernel log reporting "kernel: dummy: no symbol version for modulelayout"
I checked the vermagic of the created module and it doesn't match the string from uname. the vermagic was simply 2.6.39.1. Checking the CONFIGLOCALVERSION from /proc/config.gz, it is in fact set to an empty string. How is possible that uname and the running config don't agree? '2.6.39.1-x8664-linode19' != '2.6.39.1'
Changing the CONFIGLOCALVERSION to "-x8664-linode19" does make the vermagic in the module match, but trying to insert the module produces the same error.
If I --force load the module, it seems to work fine, but I'd rather not hack up the networking init scripts to include a --force.
What am I missing? How do I need to compile a module for a linode?
thanks
4 Replies
pv-grub
I briefly tried using pv-grub with the distro kernel, but it repeatedly failed with pv-grub telling me the partition was corrupt. Do the distro kernels support the Xen hypervisor?
# boot=/dev/xvda
# kopt=root=/dev/xvda console=tty0 console=hvc0 ro quiet
# groot=(hd0)
default=0
timeout=0
title CentOS 6 (2.6.32-71.29.1.el6.x86_64)
root (hd0)
kernel /boot/vmlinuz-2.6.32-71.29.1.el6.x86_64 root=/dev/xvda console=tty0 console=hvc0 ro quiet
initrd /boot/initramfs-2.6.32-71.29.1.el6.x86_64.img
Any idea on building a module for the linode kernel?