Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

153 lines (119 sloc) 5.201 kB
Installation procedure - FreeBSD 2.2.8
KAME project
$Id: INSTALL,v 1.13 2001/02/10 05:17:08 itojun Exp $
You'll need to follow the steps below. They can be separated into two major
sections - kernel build and userland build.
Be sure to perform "tree preparation" procedure, described in
../INSTALL, prior to taking the steps below.
Note that, KAME/FreeBSD 2.2.8 is not actively maintained well any more - for
instance, freebsd2/ports contains very obsolete set of software, some of
functionalities may not compile, security holes may still be there, and such.
For more recent functionalities use newer BSD official releases, or KAME kit
on more recent BSD releases.
A. Backup
The following procedure replaces, or overwrites, the following
so you may want to back them up before going through the steps.
A-1. Backup your kernel file, if you need to.
# cp /kernel /kernel.previous
A-2. Backup /usr/include directory, if you want an untouched tree to be
preserved somewhere.
# cd /usr
# mkdir include.clean
# cd include.clean
# (cd ../include; tar Bpcf - . ) | tar Bpxf -
B. Kernel build
Consult FreeBSD documentations for more detail.
B-0. It is assumed that you are in platform-specific directory (kame/freebsd2).
If you are not, chdir to there.
B-1. Go down to sys/i386/conf.
% cd sys/i386/conf
B-2. Make a kernel configuration file, and invoke "/usr/sbin/config CONFIGFILE".
GENERIC.v6 should have commonly used IPv6 definitions, so you may want to
copy the file to begin with.
% /usr/sbin/config CONFIGFILE
B-3. Build the kernel. The process will make kernel file named "kernel".
% cd ../../compile/CONFIGFILE
% make depend
% make
B-4. Install the kernel file to root directory, as root.
# make install
C. Userland build
C-0. It is assumed that you are in platform-specific directory (kame/freebsd2).
If you are not, chdir to there.
C-1. Invoke "make includes" as normal user, then "make install-includes"
as root. This will populate KAME-ready include files into /usr/include.
% make includes
# make install-includes
C-2. As normal user (or root, if you prefer) perform "make".
% make
C-3. As root, perform "make install". This will install necessary userland
tools into /usr/local/v6/{bin,sbin,whatever}. This should not replace
existing IPv4-only userland tools, so it is safe.
# make install
D. Reboot
D-1. Reboot with the command you like.
# fastboot
E. Configurations, in short
E-1. Most of configuration files are placed in /usr/local/v6/etc.
You may want to copy those foo.sample files into non-sample (foo),
edit as necessary. You may also want to invoke /usr/local/v6/etc/rc.net6
from /etc/rc.local, by adding the following into /etc/rc.local:
if [ -f /usr/local/v6/etc/rc.net6 ]; then
sh /usr/local/v6/etc/rc.net6
E-2. If you would like to use IPv6-ready inetd, you will need to stop using
/usr/sbin/inetd and switch to /usr/local/v6/sbin/inetd.
To do this, please replace the following section of /etc/rc:
>if [ "X${inetd_enable}" != X"NO" ]; then
> echo -n ' inetd'
> inetd ${inetd_flags}
with this:
>if [ "X${inetd_enable}" != X"NO" ]; then
> echo -n ' inetd'
> if [ -x /usr/local/v6/sbin/inetd ]; then
> /usr/local/v6/sbin/inetd ${inetd_flags}
> else
> inetd ${inetd_flags}
> fi
Configuration file is placed in /etc/inetd.conf, but with enhanced syntax
(it is backward compatible so do not be afraid). Consult manpages
for details. You only need add lines for IPv6-ready daemons with "tcp6"
or "udp6", like below:
>ftp stream tcp6 nowait root /usr/local/v6/libexec/ftpd ftpd -l
E-3. If you wish to use ALTQ, you may need to invoke /dev/MAKEDEV.altq.
# cd /dev
# sh MAKEDEV.altq all
E-4. Commands modified by KAME project are placed in /usr/local/v6/{bin,sbin}.
For daily use, you will need to add both of (or either of) them
into your command search path (consult manpage for your favorite
shell). Make sure to make them used before /usr/bin or /usr/sbin,
otherwise you end up using OS-supplied (hence not IPv6 nor IPsec capable)
E-5. There are batch of documents installed into /usr/local/v6/man
and /usr/local/v6/share/doc. Please read them as necessary.
If you wish to develop your own programs, we suggest you to read through
supplied documents, RFCs, and other documents to learn how.
F. PAO issues
Many of FreeBSD228 users install PAO PCMCIA support code. If you would like
to use both PAO and KAME, you'll need to apply PAO patches onto KAME tree.
However, there are tricky things:
- KAME code is based on FreeBSD 2.2.8-RELEASE, and it has several ALTQ
related patch in driver code.
- PAO code is based on FreeBSD 2.2.8-STABLE on some specific date,
and it has bunch of driver fixes.
As both parties try to modify driver code, and they use different codebase
as starting point, there can be conflicts during patch operation.
You need to fix those patch conflicts manually.
Jump to Line
Something went wrong with that request. Please try again.