美文网首页
ppp与pppoe 交叉编译移植

ppp与pppoe 交叉编译移植

作者: Armlinux | 来源:发表于2022-03-20 19:51 被阅读0次

ppp 与 pppoe 交叉编译移植
(交叉编译链为arm-hismall-linux-)
转自 https://blog.csdn.net/eydwyz/article/details/54889650

一:总的来说可以分四点
1:arm linux 内核支持ppp

2: install ppp-2.4.4 (rp-pppoe要ppp的支持才能正常运行)。

3: install rp-pppoe。

4:把步骤(2)(3)中生成的相应文件下载到目标板,根据相应提示适当修改就行了。

(有的文档说需要交叉编译libcap 源码包下载地址为:www.tcpdump.org, 测试不需要)

二:需要的源码包
移植需要rp-pppoe和ppp。我用的是rp-pppoe3.8和ppp-2.4.5的组合。

ppp-2.4.5.tar.gz 下载地址:ftp://ftp.samba.org/pub/ppp

rp-pppoe-3.8.tar.gz 下载地址:http://download.chinaunix.net/download/0010000/9073.shtml

使用rp-pppoe-3.11版本时,编译出错,原因至今不明,故选用rp-pppoe-3.8版本)

三:具体过程
1: 配置编译内核
在内核原代码主目录下make menuconfig内核加入了ppp,socket 等选项

Device Drivers -> Network device support -> <*> PPP (point-to-point protocol)中,选中所有ppp选项:

Device Drivers ->

Network Device Support->

   <*> PPP (point-to-point protocol) support

   [*]   PPP multilink support

   <*> PPP support for async serial ports

   <*> PPP support for sync tty ports

   <*> SLIP (serial line) support

   [*]   CSLIP compressed headers

Device Drivers -> Network device support -> <*> Universal TUN/TAP device driver support

退出,保存配置,重新执行make bzImage.

将arch/arm/boot/下的zImage下载到开发板上重启系统。

我的内核设置为:

Device Drivers -> Network device support -> <*> PPP (point-to-point protocol)中,选中所有ppp选项:

Device Drivers ->

Network Device Support->

   <M> PPP (point-to-point protocol) support

   [*]   PPP multilink support

   <M> PPP support for async serial ports

   <M> PPP support for sync tty ports

   <M> SLIP (serial line) support

   [*]   CSLIP compressed headers

Device Drivers -> Network device support -> <M> Universal TUN/TAP device driver support

需要将未安装的模块使用insmod命令加载.ko。 也可以直接向上面那样,编译出具有这些功能的内核(推荐)

2: install ppp-2.4.5
解包

tar zxvf ppp-2.4.5.tar.gz

配置

cd ppp-2.4.5

./configure

编译

make CC=arm-hismall-linux-gcc

(这里arm-hismall-linux-gcc交叉编译器)

编译完成后,进入pppd目录,将生成的pppd可执行文件拷贝到目标板文件系统的/usr/sbin下。

将pppd目录下的已经编译好的pppd文件拷贝至开发板短的文件系统的/usr/sbin目录下,在板子上输入pppd,看看是否有乱码出来(若内核没有加载ppp模块,则提示内核不支持),如果有乱码,恭喜这一步ok了

3:install rp-pppoe-3.8
解包

tar zxvf rp-pppoe-3.8.tar.gz

配置

cd rp-pppoe-3.8/src

./confiugre --host=arm-linux

修改Makefile

vim Makefile //将其中所有的gcc改为arm-hismall-linux-gcc,所有的ar改arm-hismall-linux-ar

(这里arm-hismall-linux-gcc交叉编译器)

编译

make

安装

make install

4:把步骤(2)(3)中生成的相应文件下载到目标板
make install之后,把宿主pc机中/usr/sbin目录下产生的关于pppoe的所有文件(pppoe,pppoe-server, pppoe-sniff, pppoe-relay, pppoe-setup, pppoe-start, pppoe-stop, pppoe-status,pppoe-connect )拷贝到开发板/usr/sbin目录下

(注意:其中pppd不是宿主机/usr/sbin目录中的pppd,而是../ppp-2.4.5/pppd/pppd)

五: 全部移植结束,在开发板下进行安装和调试
1:目标板配置

接好网线以后,直接输入pppoe-setup

pppoe-setup

安装提示输入你的信息,在dns那可以暂时选择server(这会使接下来ping的时候只能用 ip ping 不能直接跟网址,如果你知道你所在网络的接入商的dns的话就填进入),防火墙选择0,ok.如果这个时候就使用pppoe-start

pppoe-start

开始连接的话,很大情况下你会得到timeout的提示,那么我们该怎么做呢?需要在dev目录下创建一个pts的文件夹,进入pts,创建节点mknod 0 c 136 0:mknod1 c 136 1.每次连接都需要建立,比较麻烦,所以还是把这几条指令写进脚本吧.如果不错的话,一般都会得到一个connect信息.

相关文章

  • ppp与pppoe 交叉编译移植

    ppp 与 pppoe 交叉编译移植(交叉编译链为arm-hismall-linux-)转自 https://bl...

  • mini2440移植madplay

    mini2440移植madplay madplay交叉编译 交叉编译器:arm-linux-gcc 3.4.1 P...

  • 网络协议分析-PPP与PPPOE

    PPP与PPPOE协议 PPP二层协议,支持多协议,提供身份认证,支持数据压缩,支持动态地址协商,支持多链路捆绑。...

  • OpenSSL 交叉编译与MQTT移植

    概述 为了防止后来人走弯路本人综合网上的各路教程,统计出一个自己成功方便的路径,以便给其他有需求的人一些参考一开始...

  • 移植qt程序并在开发板运行

    移植qt程序并在开发板运行 实验环境 交叉编译平台 (on VMware14.0,Win10) 交叉编译链 gcc...

  • PPPoE & PPP

    PPPoE PPPoE:Point-to-Point Protocol over Ethernet,RFC 251...

  • PHP交叉编译和移植

    配置和编译:此处为最简易的版本,disable掉了所有的扩展模块;[plain] ./configure --pr...

  • HCIA day①

    公网 pppoe 拨号 ppp 点对点协议 HDLC 高数据控制 VPN \gre\ mpls\ ospf NA...

  • 嵌入式系统移植中的交叉编译器详解

    交叉编译器简介 首先和大家分享的是嵌入式系统移植中交叉编译工具集,具体如下图: 如图,第一个问题是为什么要有交叉编...

  • 移植openssh

    概述 本文讲述移植openssh的过程。移植环境:嵌入式操作系统:Linux-3.18.20交叉编译器:arm-l...

网友评论

      本文标题:ppp与pppoe 交叉编译移植

      本文链接:https://www.haomeiwen.com/subject/fheadrtx.html