Installation instructions for installing ppp-2.3 on FreeBSD and
NetBSD systems.

This package supports NetBSD-current, NetBSD-1.2, NetBSD-1.1,
FreeBSD-2.1, and FreeBSD-2.0.  Modloading is not supported.  I have
code which may work on earlier systems; contact me if you need it.

To install PPP, you need to rebuild your kernel to include the latest
version of the PPP driver, as well as compiling and installing the
user-level applications: pppd, pppstats and chat.  The user-level
applications can be compiled and installed either before or after you
reboot with the new kernel (you'll have to reboot with the new kernel
before you can run them, of course).

The following commands should compile and install the user-level
applications (in the ppp-2.3 directory):

	./configure
	make
	make install		(you need to be root for this)

The process of updating the kernel source files is now largely
automated.  In the ppp-2.3 directory, issue the command:

	make kernel

(you probably need to be root for this).  This will copy new versions
of several files into /sys, patch other files, and finally give you
instructions about modifying your kernel configuration file (if
necessary), rebuilding the kernel and rebooting.

If you want to do the process by hand, read the next section.


Updating the kernel ppp code.
*****************************

You need to update several files in the /sys/net directory, and patch
some other files under /sys.  The details depend on which operating
system you're running.


NetBSD.
=======

Copy the following files to /sys/net:

	net/if_ppp.h
	net/ppp-comp.h
	net/ppp_defs.h
	netbsd-1.1/bsd-comp.c
	netbsd-1.1/if_ppp.c
	netbsd-1.1/if_pppvar.h
	netbsd-1.1/ppp-deflate.c
	netbsd-1.1/ppp_tty.c
	netbsd-1.1/slcompress.c
	netbsd-1.1/slcompress.h
	common/zlib.c
	common/zlib.h

You may need to edit /sys/conf/files to make sure it contains entries
for if_ppp.c, ppp_tty.c, bsd-comp.c, ppp-deflate.c and zlib.c.
Depending on whether your port uses the old-style or new-style config
files, these entries will look like this (new-style):

	file net/if_ppp.c		ppp		needs-count
	file net/ppp_tty.c		ppp
	file net/bsd-comp.c		ppp
	file net/ppp-deflate.c		ppp
	file net/zlib.c			ppp

or this (old-style):

	net/if_ppp.c		optional ppp device-driver
	net/ppp_tty.c		optional ppp
	net/bsd-comp.c		optional ppp
	net/ppp-deflate.c	optional ppp
	net/zlib.c		optional ppp

If you use config.old or config.new, you will need to edit
/sys/conf/files.oldconf or /sys/conf/files.newconf respectively.


FreeBSD.
========

Copy the following files to /sys/net:

	net/if_ppp.h
	net/ppp-comp.h
	net/ppp_defs.h
	freebsd-2.0/bsd-comp.c
	freebsd-2.0/if_ppp.c
	freebsd-2.0/if_pppvar.h
	freebsd-2.0/ppp-deflate.c
	freebsd-2.0/ppp_tty.c
	freebsd-2.0/pppcompress.c
	freebsd-2.0/pppcompress.h
	common/zlib.c
	common/zlib.h

You then need to edit /sys/conf/files to make sure it contains entries
for if_ppp.c, ppp_tty.c, bsd-comp.c, ppp-deflate.c and zlib.c.  These
entries should look like this:

	net/if_ppp.c		optional ppp device-driver
	net/ppp_tty.c		optional ppp
	net/bsd-comp.c		optional ppp
	net/ppp-deflate.c	optional ppp
	net/zlib.c		optional ppp


Configuring and making the new kernel.
**************************************

First, make sure that the configuration file you are using includes a
line something like

	pseudo-device ppp 2

If it doesn't, add one.  The `2' is the number of ppp interfaces to
configure, that is, the maximum number of simultaneous ppp connections
you will be able to have; change it as required.

Next, run config (or config.old or config.new) in the directory
containing the configuration file, giving the configuration file name
as an argument.  Then cd to the compilation directory and make the
kernel.  For the i386 port of NetBSD, with a configuration file called
CONF, this involves the following commands:

	cd /sys/arch/i386/conf
	/usr/sbin/config CONF
	cd ../compile/CONF
	make

For FreeBSD, the commands are similar except for different
directories:

	cd /sys/i386/conf
	/usr/sbin/config CONF
	cd ../../compile/CONF
	make

The result should be a new kernel image (usually called `netbsd' under
NetBSD, `kernel' under FreeBSD).  Save a copy of the kernel image
you're currently using, copy the new kernel image file to /, and
reboot.
