ppp与pppoe 交叉编译移植
来源:互联网 发布:开发聊天软件 编辑:程序博客网 时间:2024/05/28 05:14
ppp 与 pppoe 交叉编译移植
(交叉编译链为arm-hismall-linux-)
一:总的来说可以分四点
1:arm linux 内核支持ppp
2: install
3: install
4:把步骤(2)(3)中生成的相应文件下载到目标板,根据相应提示适当修改就行了。
(有的文档说需要交叉编译libcap 源码包下载地址为:www.tcpdump.org, 测试不需要)
二:需要的源码包
移植需要rp-pppoe和ppp。我用的是rp-pppoe3.8和ppp-2.4.5的组合。
ppp-2.4.5.tar.gz
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
Device Drivers ->
Device Drivers -> Network device support -> <*> Universal TUN/TAP device driver support
退出,保存配置,重新执行make bzImage.
将arch/arm/boot/下的zImage下载到开发板上重启系统。
我的内核设置为:
Device Drivers -> Network device support
Device Drivers ->
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
(这里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 交叉编译移植
- 交叉编译 PPPoE 和 PPP
- Qt交叉编译与移植
- Qt交叉编译与移植
- Qt交叉编译与移植
- QT交叉编译与移植
- PPP / PPPoE
- python3.4交叉编译与移植
- MQTT再学习 -- 交叉编译与移植
- MQTT源码交叉编译与移植
- ppp 在arm上交叉编译
- madplay移植-交叉编译
- 交叉编译库移植
- busybox交叉编译+移植
- valgrind交叉编译移植
- ppp,pppoe简介
- ppp,pppd,pppoe
- qtopia-opensource-src-4.2.3成功交叉编译与移植
- 文件指针详解,SetFilePointerEx设置和查询文件指针
- Toolbar 详解 · Material Design Part 2
- JAVA枚举类
- 用 TensorFlow 创建自己的 Speech Recognizer
- css绝对定位和相对定位的理解
- ppp与pppoe 交叉编译移植
- 论人工智能技术在推荐系统中的应用
- Android API Guide for Media Apps(六)——媒体会话的回调(Media Session Callbacks)
- 大公司高级Android工程师技能要求
- 欢迎使用CSDN-markdown编辑器
- KNN与K-Means的区别
- Windows下PCL及其第三方库的安装编译过程
- Node.js 给前端带来了什么?
- Spring Boot Actuator监控端点