Actions

IPset: Difference between revisions

From HacDC Wiki

No edit summary
No edit summary
Line 8: Line 8:
* 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 appropriate version of IPset.
* 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.
* I edited the Makefile to change the value of PREFIX to "/usr".  I recommend that you do this.
* '''su -'''
* '''su -'''
* '''make KERNEL_DIR=/path/to/your/compiled/linux-2.6.38.8'''
* '''make KERNEL_DIR=/path/to/your/compiled/linux-2.6.38.8'''

Revision as of 02:34, 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
      • This version requires that a patch be applied to the kernel to implement the IPset functionality before it'll work. Let's try this last.
      • 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.
  • I edited the Makefile to change the value of PREFIX to "/usr". I recommend that you do this.
  • 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