m (→RP-PPPoE Client) |
m (→Kernel Configuration) |
||
(3 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | == Cross Compiling | + | == Cross Compiling Kernel Mode PPPoE & PPPD for ARM == |
− | + | PPPoE is a Point-to-Point Protocol over Ethernet client used to connect to many ADSL Internet Service Providers. The [http://www.roaringpenguin.com/products/pppoe RP-PPPoE client] started out as a usermode application and has since been superseded by a Kernel Mode PPPoE client. | |
− | == | + | == Kernel Configuration == |
− | + | To use PPPD and the rp-pppoe.so Kernel Mode client, you must ensure the following Kernel features have been enabled: | |
+ | |||
+ | <PRE> | ||
+ | Device Drivers -> Network device support -> PPP (point-to-point protocol) support | ||
+ | Device Drivers -> Network device support -> PPP Deflate compression | ||
+ | Device Drivers -> Network device support -> PPP over Ethernet | ||
+ | </PRE> | ||
+ | |||
+ | == PPPD == | ||
+ | |||
+ | The PPPoE client requires the host to have the PPPd (Point-to-Point Protocol Daemon) and the PPP-generic kernel module installed. | ||
To build and install PPPd: | To build and install PPPd: | ||
Line 16: | Line 26: | ||
./configure | ./configure | ||
make CC=arm-linux-gnueabi-gcc | make CC=arm-linux-gnueabi-gcc | ||
+ | make install DESTDIR=<Destination Root Directory> INSTALL="install --strip-program=arm-linux-gnueabi-strip" | ||
</PRE> | </PRE> | ||
− | + | Many of the makefiles are set up to strip the symbol tables using a X86 version of install -s and throws an error. We pass install the arm-linux-gnueabi-strip executable and where install has not been called without -s (strip), install is likely to display a WARNING: ignoring --strip-program option as -s option was not specified. | |
− | == | + | == Configuration == |
− | + | Create /etc/ppp/pap-secrets and /etc/ppp/chap-secrets containing your username and password: | |
<PRE> | <PRE> | ||
− | + | "isp_username" * "password" | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</PRE> | </PRE> | ||
− | + | Create /etc/ppp/options containing the following: | |
− | + | <PRE> | |
+ | plugin /lib/pppd/2.4.6/rp-pppoe.so | ||
+ | name <isp_username> | ||
+ | noipdefault | ||
+ | defaultroute | ||
+ | mtu 1492 | ||
+ | mru 1492 | ||
+ | lock | ||
+ | ipv6 , | ||
+ | usepeerdns | ||
+ | </PRE> | ||
+ | |||
+ | To start your connection, simply run: | ||
+ | |||
+ | <PRE> | ||
+ | pppd eth0 | ||
+ | </PRE> |
PPPoE is a Point-to-Point Protocol over Ethernet client used to connect to many ADSL Internet Service Providers. The RP-PPPoE client started out as a usermode application and has since been superseded by a Kernel Mode PPPoE client.
To use PPPD and the rp-pppoe.so Kernel Mode client, you must ensure the following Kernel features have been enabled:
Device Drivers -> Network device support -> PPP (point-to-point protocol) support Device Drivers -> Network device support -> PPP Deflate compression Device Drivers -> Network device support -> PPP over Ethernet
The PPPoE client requires the host to have the PPPd (Point-to-Point Protocol Daemon) and the PPP-generic kernel module installed.
To build and install PPPd:
wget ftp://ftp.samba.org/pub/ppp/ppp-2.4.6.tar.gz tar -xzf ppp-2.4.6.tar.gz cd ppp-2.4.6/ ./configure make CC=arm-linux-gnueabi-gcc make install DESTDIR=<Destination Root Directory> INSTALL="install --strip-program=arm-linux-gnueabi-strip"
Many of the makefiles are set up to strip the symbol tables using a X86 version of install -s and throws an error. We pass install the arm-linux-gnueabi-strip executable and where install has not been called without -s (strip), install is likely to display a WARNING: ignoring --strip-program option as -s option was not specified.
Create /etc/ppp/pap-secrets and /etc/ppp/chap-secrets containing your username and password:
"isp_username" * "password"
Create /etc/ppp/options containing the following:
plugin /lib/pppd/2.4.6/rp-pppoe.so name <isp_username> noipdefault defaultroute mtu 1492 mru 1492 lock ipv6 , usepeerdns
To start your connection, simply run:
pppd eth0