Chelsio driver compile "missing kernel source"

Hey guys, I've been having some trouble trying to compile the T3 driver for my Cheliso dual 10G NIC on my Proxmox server. I've been looking for information for a while but I haven't found a solution yet. Every time I run a make I get this:
root@Kraken:/mainFS/cxgb3toe-1.4.0.8/src# make
Makefile:204: Be sure the kernel source is properly installed or try specifying the kernel source tree using 'make KSRC=<path>'
Makefile:206: *** ERROR: missing kernel source. Stop.

I have installed the current headers as suggested on some threads with:

aptitude install pve-headers-'uname -r'

I have also manually specified the /lib/modules/'uname -r' as the kernel source location which results in:

root@Kraken:/mainFS/cxgb3toe-1.4.0.8/src# make KSRC=/lib/modules/'uname -r'
Makefile:49: When using KSRC=<path>, the KOBJ=<path> must also be defined.
Makefile:50: Use KDIR=<path> when KSRC and KOBJ are the same.
Makefile:51: *** ERROR: KOBJ path not specified. Stop.

Next, not really fully understanding what was going on I changed the command to this:

root@Kraken:/mainFS/cxgb3toe-1.4.0.8/src# make KDIR=/lib/modules/'uname -r'
Makefile:215: There seems to be a problem with the kernel source [/lib/modules/4.4.21-1-pve] directory.
Makefile:217: *** ERROR: missing kernel Makefile. Stop.

Which also failed. Obviously.

So if anyone can point me in the right direction I would really appreciate it. Not really sure where to go from here and I really wanna get my dual 10G link up.

Also, there is no configure script for the driver.

So, if I'm understanding correctly, which I'm probably not, you're telling make the kernel source is /lib/modules/uname -r only?

/lib/modules is for your compiled modules. /usr/src is for your kernel headers.

Try using this:

make KDIR=/usr/src/'uname -r'

Got a similar error using that location as well.
root@Kraken:/mainFS/cxgb3toe-2.0.0.3/src# make KDIR=/usr/src/'uname -r'
Makefile:215: Be sure the kernel source is properly installed or try specifying the kernel source tree using 'make KSRC=<path>'
Makefile:217: *** ERROR: missing kernel source. Stop.

root@Kraken:/mainFS/cxgb3toe-2.0.0.3/src# make KSRC=/usr/src/'uname -r'
Makefile:53: When using KSRC=<path>, the KOBJ=<path> must also be defined.
Makefile:54: Use KDIR=<path> when KSRC and KOBJ are the same.
Makefile:55: *** ERROR: KOBJ path not specified. Stop.

try this?
https://packages.debian.org/jessie/firmware-linux-nonfree

That package should have the drivers. Totally forgot about that package. give it a try @Superfish1000!

1 Like