blob: 62b4f175e9b0b6471911e56f6772f18c3c6794b1 [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
James Morris460c7472001-10-16 14:41:02 +000016If you are a developer, you can install the headers, development libraries
17and associated development man pages, with:
Rusty Russell429eafb2001-01-07 06:49:44 +000018 # make install-devel
Rusty Russell8c245b52000-07-14 08:01:22 +000019
Rusty Russell429eafb2001-01-07 06:49:44 +000020That's it!
21================================================================
22FEELING BRAVE?
23
Harald Welte3efb6ea2001-08-06 18:50:21 +0000241) The netfilter core team is maintaining a set of extensions / new
25 features which are not yet committed to the mainstream kernel tree.
26
Harald Weltec5a2ce42001-09-02 14:55:36 +000027They are a collection of maybe-broken maybe-cool third-party extensions.
Rusty Russell429eafb2001-01-07 06:49:44 +000028
Harald Weltec5a2ce42001-09-02 14:55:36 +000029Please note that you cannot apply any combination of any of those patches.
30Some of them are incompatible...
31
32This is why we provide two ways of applying them:
33
34If you want to try some extensions, and be sure that they don't break each
35other, you can do the following:
36
37 % make most-of-pom KERNEL_DIR=<<where-your-kernel-is>>
38
39It will modify you kernel source (so back it up first!). You will have
40to recompile / rebuild your kernel and modules.
41
42Alternatively, if you really know what your are doing, you can use the
43following command in order to offer you the full list of choices. Be aware
44that we don't prevent you from shooting yourself in the foot.
45
46 % make patch-o-matic KERNEL_DIR=<<where-your-kernel-is>>
Rusty Russell429eafb2001-01-07 06:49:44 +000047
48================================================================
49PROBLEMS YOU MAY ENCOUNTER:
50
Harald Weltec206dcb2001-04-30 04:24:30 +0000511) This package requires a 2.4.4 kernel, or above.
Rusty Russell8c245b52000-07-14 08:01:22 +000052
532) If you get the kernel directory wrong, you may see a message like:
54 Please try `make KERNEL_DIR=path-to-correct-kernel'
55
563) If you want to specify alternate directories for installation
57(instead of /usr/local/ bin lib man), do this:
Richard Gooch8e3b8922000-04-22 00:57:38 +000058
59 % make BINDIR=/usr/bin LIBDIR=/usr/lib MANDIR=/usr/man
Rusty Russell8c245b52000-07-14 08:01:22 +000060 # make BINDIR=/usr/bin LIBDIR=/usr/lib MANDIR=/usr/man install
Richard Gooch8e3b8922000-04-22 00:57:38 +000061
Harald Welte3efb6ea2001-08-06 18:50:21 +0000624) If you want to build a statically linked version of the iptables binary,
63 without the need for loading the plugins at runtime (e.g. for an embedded
64 device or router-on-a-disk), please use
65
66 % make NO_SHARED_LIBS=1
67
Richard Gooch8e3b8922000-04-22 00:57:38 +000068NOTE: make sure you build with at least the correct LIBDIR=
69specification, otherwise iptables(8) won't know where to find the
70dynamic objects.