Can't compile kernel module for 2.6.32-4-pve

oeginc

Member
Mar 21, 2009
133
0
16
I had some problems with an existing server running 1.5 (which was later apt-get upgraded to 1.6 but still ran the 2.6.18 kernel), so I took it out of commission to fix it.

After fixing it, I decided to re-install from scratch and make everything clean and fresh. In the process of doing so, I need to recompile my Highpoint RAID driver (which worked fine under 1.5 running the 2.6.18 kernel).

The default kernel for the 1.6 fresh install appears to now be 2.6.32-4-pve. So I installed the kernel headers (apt-get update;apt-get install kernel-headers-`uname -r`) and compiled/installed the driver.

However, when I try to load the driver I now get this:

rr26xx: Unknown symbol blkdev_get
rr26xx: disagrees about version of symbol bdget
rr26xx: Unknown symbol bdget
rr26xx: disagrees about version of symbol scsi_remove_host
rr26xx: Unknown symbol scsi_remove_host
rr26xx: disagrees about version of symbol scsi_unregister
rr26xx: Unknown symbol scsi_unregister
rr26xx: disagrees about version of symbol scsi_dma_unmap
rr26xx: Unknown symbol scsi_dma_unmap
rr26xx: disagrees about version of symbol scsi_register
rr26xx: Unknown symbol scsi_register
rr26xx: disagrees about version of symbol scsi_device_lookup
rr26xx: Unknown symbol scsi_device_lookup
rr26xx: disagrees about version of symbol scsi_add_device
rr26xx: Unknown symbol scsi_add_device
rr26xx: disagrees about version of symbol blkdev_put
rr26xx: Unknown symbol blkdev_put
rr26xx: disagrees about version of symbol scsi_device_put
rr26xx: Unknown symbol scsi_device_put
rr26xx: disagrees about version of symbol scsi_scan_host
rr26xx: Unknown symbol scsi_scan_host
rr26xx: disagrees about version of symbol scsi_remove_device
rr26xx: Unknown symbol scsi_remove_device
rr26xx: disagrees about version of symbol scsi_add_host_with_dma
rr26xx: Unknown symbol scsi_add_host_with_dma

(and several more similar messages). I've googled around and most responses to this problem say that you've installed a version of the kernel headers that is different from the actual kernel version, however:

# ls -al /usr/src/
drwxr-xr-x 22 root root 4096 Nov 24 12:16 linux-headers-2.6.32-4-pve

# uname -r
2.6.32-4-pve

# pveversion
pve-manager: 1.6-5 (pve-manager/1.6/5261)
running kernel: 2.6.32-4-pve
proxmox-ve-2.6.32: 1.6-25
pve-kernel-2.6.32-4-pve: 2.6.32-25
qemu-server: 1.1-22
pve-firmware: 1.0-9
libpve-storage-perl: 1.0-14
vncterm: 0.9-2
vzctl: 3.0.24-1pve4
vzdump: 1.2-8
vzprocps: 2.0.11-1dso2
vzquota: 3.0.11-1
pve-qemu-kvm: 0.12.5-2
ksm-control-daemon: 1.0-4

# head -4 /usr/src/linux-headers-2.6.32.-4-pve/Makefile
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 32
EXTRAVERSION=-4-pve

Everything looks right. I've tried compiling with GCC-4.1 and GCC-4.3 with no difference. Anyone have any ideas? I'm dead in the water until I can get this driver compiled...
 
if the 2.6.18 works, just install the 1.5 and upgrade to the latest 1.6 keeping the 2.6.18 branch (btw, 1.7 will be release soon: if you cant wait, just use the pvetest repository).
 
Yes, the driver works with 2.6.18 kernel, however - 2.6.18 it super-slow compared to the 2.6.32 kernel for disk throughput.. Do we have a change log for 1.7?
 
change log will be published together with the final release but just take a look on the announcements for pvetest,

e.g. http://forum.proxmox.com/threads/51...mox-VE-(2.6.18-and-2.6.32)-pvetest-repository

1. I know it's my fault, but can you guys remove the (+ Reply to Thread) button, or make it go away if you click "Reply" or "Reply With Quote"? LOL.. I can't tell you how many times I've typed a long reply and then accidentally clicked the "Reply to Thread" button and lost everything... (Just happened again!)

2. I added pvetest to my /etc/apt/sources.list, did an apt-get update but I see:

# apt-get search kernel | grep 2.6.32
proxmox-ve-2.6.32 - The Proxmox Virtual Environment
pve-kernel-2.6.32-2-pve - The Proxmox PVE Kernel Image
pve-headers-2.6.32-4-pve - The Proxmox PVE Kernel Headers
pve-kernel-2.6.32-1-pve - The Proxmox PVE Kernel Image
pve-kernel-2.6.32-3-pve - The Proxmox PVE Kernel Image
pve-kernel-2.6.32-4-pve - The Proxmox PVE Kernel Image
pve-headers-2.6.32-3-pve - The Proxmox PVE Kernel Headers

I don't see a 2.6.32-28 anywhere...
 
Ok, it appears the kernel *IS* there, but it's listed as 2.6.32-4-pve still.

Just for grins I did:

# apt-get install pve-kernel-2.6.32-4-pve pve-headers-2.6.32-4-pve

And it said it was installing 2.6.32-28?? Wierd...

Anyways, after the install, I rebooted and uname -r still shows 2.6.32-4 but I was able to compile & install my highpoint raid driver, soo..... I dunno.
 
yes, the debian naming convention for packages "could" cause confusion but we follow their way in order to NOT confuse you.

the correct version is (as shown in pveversion -v)
Code:
pve-kernel-2.6.32-4-pve: 2.6.32-28