IPset: Difference between revisions
From HacDC Wiki
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
Because [http://ipset.netfilter.org/ IPset] is both a userspace utility and a set of kernel modules, it poses something of a challenge to compile. Here's how I did it: | Because [http://ipset.netfilter.org/ IPset] is both a userspace utility and a set of kernel modules, it poses something of a challenge to compile. Here's how I did it: | ||
* Note that there are two extant versions of IPset that are designed with different releases of the Linux kernel in mind: | |||
** v4.5 is for Linux kernel >= v2.6.16 | |||
** v6.10 is for Linux kernel >= v2.6.'''35''' | |||
** The SlackBuild script checked into Git needs to be updated! | |||
* I used [http://porteus.org/info/docs/51-development/91-compilation-and-usage-of-custom-porteus-kernel.html this procedure] to compile a Porteus kernel. Note that we're not actually replacing 000-kernel.xzm, but a fully configured and compiled kernel has to exist on the system for IPset to compile. You just have to compile it, not install it, not install new modules, and not rebuild 000-kernel.xzm. | * I used [http://porteus.org/info/docs/51-development/91-compilation-and-usage-of-custom-porteus-kernel.html this procedure] to compile a Porteus kernel. Note that we're not actually replacing 000-kernel.xzm, but a fully configured and compiled kernel has to exist on the system for IPset to compile. You just have to compile it, not install it, not install new modules, and not rebuild 000-kernel.xzm. | ||
* Once the kernel is compiled but not installed (on Windbringer running VirtualBox this took about five hours) download and uncompress the | * Once the kernel is compiled but not installed (on Windbringer running VirtualBox this took about five hours) download and uncompress the appropriate version of IPset. | ||
* '''./configure --prefix=/usr ''' | |||
* '''su -''' | * '''su -''' | ||
* '''make KERNEL_DIR=/path/to/your/compiled/linux-2.6.38. | * '''make KERNEL_DIR=/path/to/your/compiled/linux-2.6.38.8''' | ||
* Pay close attention. If everything goes as planned it won't take long to build. | * Pay close attention. If everything goes as planned it won't take long to build. | ||
* Now install the utility and kernel modules into a fakeroot so they can be packaged: | * Now install the utility and kernel modules into a fakeroot so they can be packaged: | ||
'''DESTDIR=/tmp/fakeroot make KERNEL_DIR=/path/to/your/compiled/linux-2.6.38. | '''DESTDIR=/tmp/fakeroot make KERNEL_DIR=/path/to/your/compiled/linux-2.6.38.8 install''' |
Revision as of 01:53, 27 December 2011
Because IPset is both a userspace utility and a set of kernel modules, it poses something of a challenge to compile. Here's how I did it:
- Note that there are two extant versions of IPset that are designed with different releases of the Linux kernel in mind:
- v4.5 is for Linux kernel >= v2.6.16
- v6.10 is for Linux kernel >= v2.6.35
- The SlackBuild script checked into Git needs to be updated!
- I used this procedure to compile a Porteus kernel. Note that we're not actually replacing 000-kernel.xzm, but a fully configured and compiled kernel has to exist on the system for IPset to compile. You just have to compile it, not install it, not install new modules, and not rebuild 000-kernel.xzm.
- Once the kernel is compiled but not installed (on Windbringer running VirtualBox this took about five hours) download and uncompress the appropriate version of IPset.
- ./configure --prefix=/usr
- su -
- make KERNEL_DIR=/path/to/your/compiled/linux-2.6.38.8
- Pay close attention. If everything goes as planned it won't take long to build.
- Now install the utility and kernel modules into a fakeroot so they can be packaged:
DESTDIR=/tmp/fakeroot make KERNEL_DIR=/path/to/your/compiled/linux-2.6.38.8 install