mirror of
https://github.com/paulusmack/ppp.git
synced 2024-12-05 01:13:58 +08:00
175 lines
5.4 KiB
Plaintext
175 lines
5.4 KiB
Plaintext
Installation instructions for installing ppp-2.3 on FreeBSD and
|
|
NetBSD systems.
|
|
|
|
This package supports NetBSD-current, NetBSD-1.1, NetBSD-1.0, and
|
|
FreeBSD-2.0. (The code hasn't been tested under NetBSD-current or
|
|
FreeBSD at this stage.) 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.3b1 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.3b1 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.
|
|
|
|
For NetBSD-1.0, if you have not previously had ppp-2.2 installed, you
|
|
will need to patch the file containing the code which dispatches
|
|
software interrupts. Unfortunately, this code is in the
|
|
architecture-dependent files, so the file to patch depends on which
|
|
NetBSD port you are using:
|
|
|
|
Port File to patch Patch file is netbsd-1.0/arch/
|
|
---- ------------- ------------------------------
|
|
amiga /sys/arch/amiga/amiga/machdep.c amiga/machdep.c.patch
|
|
hp300 /sys/arch/hp300/hp300/machdep.c hp300/machdep.c.patch
|
|
i386 /sys/arch/i386/isa/icu.s i386/icu.s.patch
|
|
mac68k /sys/arch/mac68k/mac68k/machdep.c mac68k/machdep.c.patch
|
|
pc532 /sys/arch/pc532/pc532/locore.s pc532/locore.s.patch
|
|
pmax /sys/arch/pmax/pmax/trap.c pmax/trap.c.patch
|
|
sparc /sys/arch/sparc/sparc/intr.c sparc/intr.c.patch
|
|
sun3 /sys/arch/sun3/sun3/isr.c sun3/isr.c.patch
|
|
|
|
To do the patch, you would use a command something like this:
|
|
|
|
patch -p -d /sys/arch/i386/isa <netbsd-1.0/arch/i386/icu.s.patch
|
|
|
|
You also need to make sure that there is a line like this in
|
|
/sys/net/netisr.h:
|
|
|
|
#define NETISR_PPP 26 /* for PPP processing */
|
|
|
|
|
|
FreeBSD-2.0.
|
|
============
|
|
|
|
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.
|