mirror of
https://github.com/paulusmack/ppp.git
synced 2024-12-05 09:23:36 +08:00
179 lines
5.0 KiB
Plaintext
179 lines
5.0 KiB
Plaintext
Installation instructions for installing ppp-2.2.1 on FreeBSD and
|
|
NetBSD systems.
|
|
|
|
This package supports NetBSD-1.1, NetBSD-1.0, FreeBSD-2.0, and
|
|
FreeBSD-1.1.5.1. It should work on later systems. Modloading is not
|
|
yet supported.
|
|
|
|
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.2.1 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.2.1 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-1.1.
|
|
===========
|
|
|
|
Copy the following files to /sys/net:
|
|
|
|
net/ppp-comp.h
|
|
netbsd-1.1/if_ppp.c
|
|
netbsd-1.1/ppp_tty.c
|
|
|
|
|
|
NetBSD-1.0.
|
|
===========
|
|
|
|
Copy the following files to /sys/net:
|
|
|
|
net/if_ppp.h
|
|
net/ppp-comp.h
|
|
net/ppp_defs.h
|
|
netbsd-1.0/bsd-comp.c
|
|
netbsd-1.0/if_ppp.c
|
|
netbsd-1.0/if_pppvar.h
|
|
netbsd-1.0/netisr.h
|
|
netbsd-1.0/ppp_tty.c
|
|
netbsd-1.0/slcompress.c
|
|
netbsd-1.0/slcompress.h
|
|
|
|
You then need to patch /sys/conf/files and /sys/conf/files.newconf
|
|
using the commands:
|
|
|
|
patch -p -N -d /sys/conf <netbsd-1.0/files.patch
|
|
patch -p -N -d /sys/conf <netbsd-1.0/files.newconf.patch
|
|
|
|
The next step is 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
|
|
|
|
|
|
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_tty.c
|
|
freebsd-2.0/pppcompress.c
|
|
freebsd-2.0/pppcompress.h
|
|
|
|
You then need to patch /sys/conf/files using the command:
|
|
|
|
patch -p -N -d /sys/conf <freebsd-2.0/files.patch
|
|
|
|
|
|
FreeBSD-1.1.5.1.
|
|
================
|
|
|
|
Copy the following files to /sys/net:
|
|
|
|
net/if_ppp.h
|
|
net/ppp-comp.h
|
|
net/ppp_defs.h
|
|
freebsd-old/bsd-comp.c
|
|
freebsd-old/if_ppp.c
|
|
freebsd-old/if_pppvar.h
|
|
freebsd-old/ppp_tty.c
|
|
freebsd-old/slcompress.c
|
|
freebsd-old/slcompress.h
|
|
|
|
You then need to patch /sys/conf/files using the command:
|
|
|
|
patch -p -N -d /sys/conf <freebsd-old/files.patch
|
|
|
|
Then patch /sys/net/netisr.h with the command:
|
|
|
|
patch -p -N -d /sys/net <freebsd-old/netisr.h.patch
|
|
|
|
The next step is to patch the file containing the code which
|
|
dispatches software interrupts with the following command:
|
|
|
|
patch -p -N -d /sys/i386/isa <freebsd-old/icu.s.patch
|
|
|
|
|
|
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.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.
|