blob: 4539232e59a84380f496eabf01616eb62d176da6 [file] [log] [blame]
Richard Gooch8e3b8922000-04-22 00:57:38 +00001FOLLOW THESE STEPS:
Richard Gooch8e3b8922000-04-22 00:57:38 +00002
Rusty Russell50a8efe2001-02-03 10:50:04 +000030) There may be some outstanding bugfixes or tweaks which are not yet
4 in the official kernel. To look through these, do:
5 % make pending-patches KERNEL_DIR=<<where-your-kernel-is>>
6
Harald Weltec5a2ce42001-09-02 14:55:36 +00007 Please note that you have to recompile your kernel and your kernel modules
8 after this step of kernel patching.
9
Rusty Russell50a8efe2001-02-03 10:50:04 +0000101) Next, make the package.
Rusty Russell8c245b52000-07-14 08:01:22 +000011 % make KERNEL_DIR=<<where-your-kernel-is>>
Rusty Russell7fae6fa2000-05-31 06:32:02 +000012
Rusty Russell8c245b52000-07-14 08:01:22 +0000132) Finally, you need to to install the shared libraries, and the binary:
Rusty Russell8c245b52000-07-14 08:01:22 +000014 # make install KERNEL_DIR=<<where-your-kernel-is>>
Rusty Russell7fae6fa2000-05-31 06:32:02 +000015
Harald Weltec5a2ce42001-09-02 14:55:36 +000016If you are a developer, you can install the header files, like:
Rusty Russell429eafb2001-01-07 06:49:44 +000017 # make install-devel
Rusty Russell8c245b52000-07-14 08:01:22 +000018
Rusty Russell429eafb2001-01-07 06:49:44 +000019That's it!
20================================================================
21FEELING BRAVE?
22
Harald Welte3efb6ea2001-08-06 18:50:21 +0000231) The netfilter core team is maintaining a set of extensions / new
24 features which are not yet committed to the mainstream kernel tree.
25
Harald Weltec5a2ce42001-09-02 14:55:36 +000026They are a collection of maybe-broken maybe-cool third-party extensions.
Rusty Russell429eafb2001-01-07 06:49:44 +000027
Harald Weltec5a2ce42001-09-02 14:55:36 +000028Please note that you cannot apply any combination of any of those patches.
29Some of them are incompatible...
30
31This is why we provide two ways of applying them:
32
33If you want to try some extensions, and be sure that they don't break each
34other, you can do the following:
35
36 % make most-of-pom KERNEL_DIR=<<where-your-kernel-is>>
37
38It will modify you kernel source (so back it up first!). You will have
39to recompile / rebuild your kernel and modules.
40
41Alternatively, if you really know what your are doing, you can use the
42following command in order to offer you the full list of choices. Be aware
43that we don't prevent you from shooting yourself in the foot.
44
45 % make patch-o-matic KERNEL_DIR=<<where-your-kernel-is>>
Rusty Russell429eafb2001-01-07 06:49:44 +000046
47================================================================
48PROBLEMS YOU MAY ENCOUNTER:
49
Harald Weltec206dcb2001-04-30 04:24:30 +0000501) This package requires a 2.4.4 kernel, or above.
Rusty Russell8c245b52000-07-14 08:01:22 +000051
522) If you get the kernel directory wrong, you may see a message like:
53 Please try `make KERNEL_DIR=path-to-correct-kernel'
54
553) If you want to specify alternate directories for installation
56(instead of /usr/local/ bin lib man), do this:
Richard Gooch8e3b8922000-04-22 00:57:38 +000057
58 % make BINDIR=/usr/bin LIBDIR=/usr/lib MANDIR=/usr/man
Rusty Russell8c245b52000-07-14 08:01:22 +000059 # make BINDIR=/usr/bin LIBDIR=/usr/lib MANDIR=/usr/man install
Richard Gooch8e3b8922000-04-22 00:57:38 +000060
Harald Welte3efb6ea2001-08-06 18:50:21 +0000614) If you want to build a statically linked version of the iptables binary,
62 without the need for loading the plugins at runtime (e.g. for an embedded
63 device or router-on-a-disk), please use
64
65 % make NO_SHARED_LIBS=1
66
Richard Gooch8e3b8922000-04-22 00:57:38 +000067NOTE: make sure you build with at least the correct LIBDIR=
68specification, otherwise iptables(8) won't know where to find the
69dynamic objects.