Pppd

On a router like this, this package may not be missing. It serves the connection to the internet, and will be very important to our system.
If you don't need a dial-in, you won't need this package.
PPPd can be downloaded from Samba.org and is at version 2.4.1 at this momant.

WHen you just untar it, and configure and compile, you will end up with a (in our perspective) huge executable, with many dependencies on libraries. For example, it will need the libpcap library, which is also quite big.

The solution on this is to alter the configuration. In the untarred directory, you will find an other directory called pppd. In this directory you will find a file called Makefile.linux which will be used when compiling.
This Makefile contains some options you can set, and some options require extra libraries. Here is how i set my options:
#CHAPMS=y
#USE_CRYPT=y
#MSLANMAN=y
#MPPE=y
#FILTER=y
#HAVE_MULTILINK=y
#USE_TDB=y
#HAS_SHADOW=y
#USE_PAM=y
HAVE_INET6=y
#PLUGIN=y
#CBCP=y
#USE_SRP=y
#MAXOCTETS=y

An option with a # in front of it means it's disabled. Be sure to include what you need. The filter option is the one that depends on libpcap, so i suggest to leave that off.
As you see, i don't really use much of what pppd is capable of. I just need PAP authentication, and that is basic functionality. I might be able to turn off the IPv6 support, because i will be tunneling IPv6 in IPv4, so pppd won't see the IPv6 packets directly.

Now just configure and make from the main directory, and a pppd will be build for you. The result was about 600K in my case, stripping with strip -g shrinks the file to 218K.

I won't tell anything about configuring the stuff, that's too specific. In my case, i just copy the configuration from my old router image.

If you look at the library dependencies of the new pppd, you will see it needs libcrypt. This is part of the standard C libraries, so that allready available. We only need to copy it to the ramdisk when we copy pppd.

Back