现在的位置: 首页 > 综合 > 正文

linux pppoe

2013年03月25日 ⁄ 综合 ⁄ 共 1071字 ⁄ 字号 评论关闭

手头有个ep9315的板,今天突然想起跑一下adsl上网。晚上回来就开始搞。
从10点到现在,终于能够跑起来。
给大家借鉴一下。

1.编译内核,把ppp的那些选项选上。 (我用2.6.8.1的kernel,cirrus 的patch)

2.libpcap-0.9.1 这个包是pppd需要的。
./configure CC=arm-linux-gcc CFLAGS=-msoft-float --target=arm-linux --host=i686-linux --with-pcap=linux --prefix=/usr/local/arm/3.4
make; make install

3. ppp-2.4.3
./configure --target=arm-linux --enable-arm --prefix=/cirrus/usr
make CC=arm-linux-gcc; make install

替换Makefile(很多目录下都有)中的那些install -s 选项,因为这个选项会用到strip这个命令,但是host版本不能对arm bin操作,而我不知道怎么arm-linux-strip,那位知道的说一下。

4.rp-pppoe-3.8
./configure --host=arm-linux --prefix=/cirrus

make; make install

最终在/cirrus/sbin下安装了pppd pppoe pppoe-setup pppoe-start pppoe-stop等。
其中pppoe是可执行文件,pppoe-xxx是脚本。
由于我的./configure命令有点问题,需要修改一下pppoe-setup pppoe-start pppoe-connect中的执行路径。我猜想可以用--exec-prefix来解决,不过想睡觉了,今天不想试了。

5.别忘了在/cirrus/dev下 mknod ppp c 108 0

6.pppoe-setup 按照实际情况设置用户密码DNS等

7.pppoe-start

8.ping gznet.com ....................... OK

9. 如果有问题,比如..........TIMEOUT等错误,可以
export DEBUG=1
pppoe-start
然后在/cirrus/tmp/ppp........的目录下会有一个debug的信息文件,仔细看看什么问题。

就这么多了。希望大家来补充。

最后,说明一下:那个/cirrus是在我的linux host上用来存放目标板文件系统的目录。目标板使用nfs来mount 这个目录并作为rootfs。

抱歉!评论已关闭.