PPP for Linux - The easy way
Original page by Mark Jones.
Modified slightly by Daryl Moulder
You must first have all the required development packages installed and
working on your Linux system - GCC, and all the required include files. This
involves installing a lot of the "D" series and "K" series from slackware 3.0.
To find out if you do, you should try to compile a very bare kernel if you
have never compiled a kernel before. The reasons are, to get you slightly
familiar with how to build and install a kernel with lilo and also to verify
that you have all the development parts installed. You could try building
some of the 1.3.xx series kernels or the 2.0 kernel.
do not even compile so if you use one of them to learn how to build a kernel
you may have errors that are not your fault and waste your time. Just try to
build a kernel with maybe just hard drive support and support for your mouse.
Being that it will be your first time building a kernel do not try to take
care of all of your hardware. Also you need to install much of the slackware
disk series N. This will add all the required networking files and give you
'pico' which is a basic editor.
Once you feel somewhat comfortable building and installing a kernel you can
probably pretty easily work through the steps I will list below.
By the way, version 2.0 of the kernal is out. It includes PPP
drivers in the kernel source so you only need to download the ppp package for
chat, pppd, etc (saves a lot of headache). And it includes support for the
Windows 95 filesystem. It also compiles (1.3.87 didn't).
What to download:
- Any kernel you know of that works well. But you will need to
pay attention to a part that I will show below if you use a 1.2.xx
series kernel. Remember also that if you use a 1.3.xx or 2.xx series
you may find more drivers for hardware that you have than in the 1.2.xx
Somewhere around 1.3.5x they put little explanations of what every
kernel choice was which helps out a lot when you are building a kernel
and you are not sure about an option.
- ppp-2.2.0c.tar.gz - PPP kernel driver files and source for chat,
pppd, etc. As of March it has disappeared from Sunsite. You can try
an Archie search for it or use ppp-2.2.0e.tar.gz. I have downloaded
it so after I try it out I will change this page as needed.
- Again you can choose a different versions but they may or may not work.
I haven't tried any others, so you're on your own.
- You may want to download some of the files I show you on this page.
Especially if you are a UMR student or Globallink Customer. Links to
them will be below.
What to do:
I will not cover every little detail as my details combined with the
README.linux file included with ppp-2.2.0c, and the Kernel HOWTO do a pretty
good job I think. Other documents that would be helpful are the PPP HOWTO
and the Net-2 HOWTO. Though the PPP HOWTO is pretty much just a list of FAQs
and common errors. The Net-2 HOWTO is good for more information on networking
- 1. 'mkdir /etc/ppp'- this will create the
directory where you will put the files: options, pap-secrets, and
chap-secrets. If you decide to download any options scripts listed
further down you may want to put them here too.
- 2. download the linux kernel and the ppp drivers and programs listed
above and put them in /usr/src.
- 3. 'cd /usr/src' -
'tar zxvpf linux-1.3.39.tar.gz'-
'tar zxvpf ppp-2.2.0c.tar.gz' -
these commands will unpack the kernel source and ppp files into
/usr/src/linux and /usr/src/ppp-2.2.0c, respectfully. If you move them
to a different directory it may cause you problems.
- 4. 'cd ppp-2.2.0c' -
'./configure' - this will make symbolic
links to the Makefiles.
- 5. 'make kernel' - this will install the
include files into the kernel source. If you get an error here see
README.linux in the ppp-2.2.0c directory for help.
- 6. 'cd ../linux/drivers/net' -
'more Makefile' - check the makefile to
see that it matches up with this. If you
used 1.3.39 and 2.2.0c you probably can skip this step. With these two
the Makefile will differ just slightly from what the README.linux file
listed but it doesn't differ on the line that is important so I leave
it alone and it has caused no problems.
- 7. 'cd /usr/src/linux' -
'make config' - This will begin the
configuration. The main thing to configure is answer "yes" to Networking
support, probably all of the networking options, network device
support, and PPP support. A couple of sneaky spots that you may not be
used to are answering no to '3com cards' and no to 'other ISA cards'.
You can get so used to just hitting return that you might answer yes
to these by accident and if you don't have an ethernet card you do not
want to answer yes to those.
- 8. 'make clean' -
'make dep' -
'make zImage' - These will finish up the
kernel compilation process.
- 9. Install your new kernel when it is done. Read the Kernel HOWTO for help
if you need it. 1.3.39 probably will work fine for you, however you
most likely will use different hardware drivers so other drivers than
I use may be buggy in 1.3.39. If the compilation fails or the new kernel
just doesn't seem right, try another one. If this is one of your first
times compiling a kernel do not try to add in other hardware that you
have been maybe wanting to get working too. Concentrate on getting PPP
working then add in your other hardware. If you have built the version
you decide to use before, with everything you need but PPP, go ahead and
do the same. It just is that the more things you add in to your kernel
the more chances there is that something will go wrong. And so if you
are trying a version you have never compiled before you won't know
what to take out if it doesn't work.
- 9. 'cd /usr/src/ppp-2.2.0c' -
'make' - This will begin compilation of
pppd, chat, pppstats, etc.
- 10. The next step involves installing pppd, chat, etc. This is done by
giving the command 'make install' from
the directory /usr/src/ppp-2.2.0c. You may want to set what
directories you want them in before you do the previous command. If so
you need to edit the /usr/src/ppp-2.2.0c/linux/Makefile.linux file.
One of the first lines will say 'BINDIR =' and then a directory name.
You can leave it with the default or change it. Mine was set to
- 11. The next step is to edit the files I will describe on the next page.
I had ethernet running before I had the need for PPP so I my files
were already somewhat filled in. Keep in mind you may want to edit
some of the other /etc/rc.d/ files to make your system a little more
secured against incoming ftp and telnet. It is up to you.