linux pppoe移植方法

来源:互联网 发布:淘宝店铺刷信誉多少钱 编辑:程序博客网 时间:2024/05/17 04:17
1.  下载编译ppp-2.4.1

a)      解压

b)      进入 ppp-2.4.1目录,先执行./configure

c)      进入chat目录,修改Makefile.linux,添加CC=arm-linux-gcc

d)      编译chat: 先make clean,然后make –f Makefile.linux,生成chat

e)      进入pppd目录,修改Makefile.linux,CC=gcc修改为CC=arm-linux-gcc

f)      编译pppd:先make clean,然后make –f Makefile.linux生成pppd

g)       chatpppd拷贝到/usr/sbin/目录

 

如果提示某些undefined reference to `crypt' 、 `DesEncrypt'、`setkey'、`encrypt'未定义,主要原因为缺少库文件libcrypt.so 和libcrypt.a;

执行#locate -b libcrypt.so 定位库的位置,然后拷贝至 /usr/lib目录下,务必使用sudo cplibcrypt.* /usr/lib/ -a命令

 

2. 下载编译pppoe-3.8

a)      解压

b)      进入 src 目录,先执行./configure

c)      对 src 下生产的 Makefile 文件进行修改,替换 Makefile 中的所有 gcc为arm-linux-gcc,ar 为 arm-linux-ar;对 src 目录下的 libevent 目录下的 Makefile也作此修改,两个 makefile 改完之后,依次执行 make,make install

d)     把在 pc 主机下的/usr/sbin 目录下生产的关于 pppoe 的所有文件(pppoe,pppoe-server,pppoe-sniff,pppoe-relay,pppoe-setup, pppoe-start, pppoe-stop,pppoe-status,pppoe-connect)拷贝到开发板的/usr/sbin 目录。

 

3. 移植内核

其实这部分准确的来说应该是内核的配置,因为要使用pppoe, 首先要内核选项的支持, 我用的是 linux 2.6.16 的内核版本。 需要在 Device Drivers -> Network device support -> PPP (point-to-point protocol)中,选中所有ppp 选项以及 Device Drivers ->Character devices --> [*] Unix98 PTY support; 一些老版本的内核可能还需要加上 Universal TUN/TAP device driver support 的选项(和ppp 同级的)

 

4. 其他

在程序添加命令执行过程,连接system("pppoe-start");  断开system("killall pppoe-start pppoe-setup pppoe-connect pppd");system("pppoe-stop");

0 0
原创粉丝点击