I was interested in this question and the thread I posted a link to because I also wanted a kernel feature that wasn't provided. For me it was cifs. And now I have it, so it can't be too hard.
My system is Debian, you need to keep that in mind if you can't find stuff where I found it. But most of this is pretty low level, so there shouldn't be too many variations.
[EDIT]
Note that you have to redo this whole procedure if you change to a different kernel.[/EDIT]
Here's what I did.
- found out what kernel I'm using
Code:
$ uname -r
2.6.18.8-linode10
- went to /usr/src and became root user
Code:
cd /usr/src
su
got the appropriate source, decompressed it
Code:
# wget http://linode.com/src/2.6.18.8-linode10.tar.bz2
# tar -xvjf 2.6.18.8-linode10.tar.bz2
made a link to the source directory, went in, got the current config
Code:
# ln -s 2.6.18.8-linode10 linux
# cd linux
# cp /proc/config.gz config.gz
unpacked config file, renamed it
Code:
# gunzip config.gz
# mv config .config
configured the kernel
Code:
# make clean
# make menuconfig
(I got held up here for a while as I was missing a dependency for menuconfig - in my case it was the libncurses-dev package - I think. Anyway, if you get errors when you're trying to make menuconfig, check for missing dependencies)
So this is the kernel configuration, and I knew that what I wanted was support for a filesystem (cifs), so that's where I looked. Whatever it is that you want (ipvs) will be somewhere else. If you hit the '/' key in menuconfig, you can search for stuff, but I couldn't find ipvs, so I still don't know what it is.
When I found cifs, I selected it with M, so it would be built as a module, then exited from menuconfig, saving my new configuration.
Then, to finish off I did
Code:
# make modules
# make modules_install
# depmod
# modprobe -f cifs
Like it was said in that other thread I linked to, modprobe would not work without the -f option, as the compiler versions are different. I don't know what implications this will have for trying to load the module automatically at boot, maybe I'll just have to write a custom startup script to load the module with the -f option.
Good luck. As the geeks say, your mileage may vary.