当前位置:  技术问答>linux和unix

PPP移植问题

    来源: 互联网  发布时间:2016-05-07

    本文导语:  硬件平台at91rm9200 linux-2.4.19  交差编译器arm-linux-gcc2.95.3 移植PPP版本2.4.1 用arm-linux-gcc2.95.3无法成功编译PPP2.4.1 用arm-linux-gcc3.4.1编译PPP2.4.1,则发现动态库不对 请高手帮忙,急呀! | PPP拨号在ARM2410平台上...

硬件平台at91rm9200
linux-2.4.19 
交差编译器arm-linux-gcc2.95.3

移植PPP版本2.4.1
用arm-linux-gcc2.95.3无法成功编译PPP2.4.1
用arm-linux-gcc3.4.1编译PPP2.4.1,则发现动态库不对

请高手帮忙,急呀!

|
PPP拨号在ARM2410平台上的移植 






本次PPP移植是在三星arm2410的平台上进行的,所用的工作环境为: 



Kernel: 2.4.18 



Sysvinit:2.86 



Tinylogin:1.4 



Glibc: 2.2.5 



CC:3.3 



PPP: 2.4.1 



U-boot:1.1.3 






一、具体操作步骤 









首先编译内核支持 PPP: 



$make menuconfig l 



$make ARCH=arm CROSS_COMPILE=/../arm-linux- zImage 



$./mkimage2410 uImage 



其中mkimage2410文件来自u-boot1.1.1 需要根据你的路径修改mkimage2410的内容,指定mkimage文件的位置。 






第二步,制作文件系统: 



1. 编译Busybox 



$make menuconfig 



Build options ----> 



[*] Build BusyBox as a static binary (no shared libs) 



[*] Do you want to build BusyBox with a Cross Compiler? 



(/usr/local/arm/3.3/bin/arm-linux-) Cross Compiler prefix 



$make 



$make PREFIX=/../rootfs/ install 



注意:Busybox的README中说用make busybox 来编译busybox但是这样做好像有点问题,有时不能成功,其实直接用make就行了。 






2. 编译System V init 



$cd src 



$make CROSS=/../arm-linux- PREFIX=/../rootfs/ all 



$make PREFIX=/../rootfs install 






3. 编译 Tinylogin 



$make CROSS=/../arm-linux- PREFIX=/../rootfs/ all 



$make PREFIX=/../rootfs install 






4.交叉编译 PPP: 



$export CROSS_COMPILE=/../arm-linux- 



$export CC=/../arm-linux-gcc 



$make 



这样就在目录: /../ppp-2.4.1/pppd,/../ppp-2.4.1/pppdump,/../ppp-2.4.1/pppstats and /../ppp-2.4.1/chat下得到了可执行程序pppd,pppdump,pppstats 和 chat. 



将它们复制到 /../rootfs/usr/sbin 目录下 






移到文件系统根目录 



#mkdir etc dev 



#cd dev 



#mknod 600 console 5 1 



#mknod ppp c 108 0 



#cd .. 









配制/etc目录下的文件和文件夹,如: inittab fstab host.conf rc.d以便内核参正确启动文件系统. 









最后,从/../3.3/lib目录下选出所需要的库文件放到文件系统根目录rootfs/lib下面. 



$su 



#mkdir tmp/initrd 



#dd if=/dev/zero of=images/initrd.img bs=1k count=8192 



#/sbin/mke2fs –F –v –m0 images/initrd.img 



#mount –o loop images/initrd.img tmp/initrd 



#cp –av rootfs/* tmp/initrd 



#umount tmp/initrd 



#exit 



$gzip –9  images/initrd.bin 






这样,就得到了我们所需要的uImage 和initrd.bin.将U-boot烧到板子上并设置好环境变量后就能通过tftp下载kernel 和ramdisk到目标板上运行了. 









总结:嵌入式linux下应用程序的移植,实际上是一个系统平台转换的过程。最好能先在宿主机(X86)上对程序源文件进行从头到尾的编译、连接,让它首先在宿主机上跑起来。弄清每一个步骤及其工作的具体内容,在向目标板移植的过程中一定要保证交叉编译,其它文件配置和操作步骤跟宿主机上几乎完全一样。

|
更換PPP的版本再試一下

|
建议你看下这个,对你有帮助

http://blog.csdn.net/Gdatasheet/archive/2008/11/25/3371780.aspx

|
不是好弄的东西。
好久前弄它在板子上上adsl的。


我建议你把学会
1)调试,不可能有人跟你一模一样的问题,你需要自己成长。

2)如果让大家能够很好的帮到你,你必须把你的问题,现象描述清楚。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何用LINUX的PPP拨号上网?我安装PPP-2.2.0-2.I386.RPM.
  • 如何确定系统内核是否支持ppp?
  • 请教内核ppp代码的内容——在线等
  • LINUX下PPP的参数该怎么设置?
  • 我是个linux编程初学者,想请教关于编ppp协议的方法!(加分)
  • 如何激活ppp0设备?自己编程实现PPPOE
  • (在线等)如何提取ppp0这个字符串中的0
  • sudo route add default dev ppp 没有这个设备
  • 如何调出linux下ppp的源代码?答者必给分!
  • ppp
  • eth0,ppp0 都激活了还是不能用浏览器?
  • 如何用PPP协议上网??
  • 在没有ip地址的情况下。两台机器利用ppp协议如何通信?
  • 怎样在linux下建立一个PPP服务器,并在另一台机子上通过pppd来建立连接呀?
  • 用include <linux/if_ppp.h> 头文件 但是编译报它的错
  • red had9中串口modem, kppp拨号总是说ppp接口启动超时,急啊,帮忙了各位
  • 请问如何通过C对modem进行自动ppp拨号
  • linux下串口驱动编写和PPP协议的实现高分相送
  • 关于ppp程序的按通信需求拨号的研究
  • 一个arm-linux有ppp0设备和eth0设备.怎么做这样的应用.


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3