《华清远见学习手记》 之3G智能机器人——移植lynx2.8.5浏览器到FS2410

移植lynx2.8.5浏览器到FS2410

 

【编译环境】ubuntu 8.10 + Vmware + windows xp

【目标机】FS2410

【交叉编译器】arm-softfloat-linux-gnu-gcc

 

     通过《华清远见学习手记》 之3G智能机器人——移植RT2571(73)WIFI无线网卡驱动到FS2410 操作后,机器人的FS2410开发板已经可以访问外网了,同时也具备了被外网访问的可能,现在我们使用的ADSL一般是动态的外网IP,每次重启后WAN的IP都会发生变化,要通过外网访问到机器人,就需要有一个相对固定的地址——域名。(当然,这也不是唯一的方式)

    本文即将移植的lynx,主要的目的就是用来实现动态IP绑定的,而不是使用它来浏览网页。下面是移植的步骤:

    1. 移植ncurses库

    ncurses 是字符终端上实现图形界面的一个库,比如我们经常使用的编译内核的make menuconfig 就是基于ncurses库的,lynx也依赖于这个库。先从网络上下载ncurses-5.5.tar.gz 源码包,tar xzvf ncurses-5.5.tar.gz 解压之后进入:

    cd ncurses-5.5

    ./configure --prefix=/hd2/wifi/lynx-browser/ncurses /

                      --host=arm-softfloat-linux-gnu

    生成Makefile.

    make

    make install

   在--prefix指定的目录下就会得到编译好ncurses库文件。

   2. 移植lynx

    在网上下载lynx2.8.5.tar.gz源码包,tar xzvf lynx2.8.5.tar.gz 解压之后进入:

    cd lynx2.8.5

    ./configure --prefix=/hd2/wifi/lynx-browser/lynx /

                      --host=arm-softfloat-linux-gnu

    生成Makefile.

    修改Makefile:

    cc=arm-softfloat-linux-gnu-gcc

    CFLAGS= -O2  -I/hd2/wifi/lynx-browser/ncurses/include /ncurses

                            -I/hd2/wifi/lynx-browser/ncurses/include

    LIBS = -lncurses -L/hd2/wifi/lynx-browser/ncurses/lib

    进入src目录

    make

    make install

    正常情况下,可以在--prefix指定的目录下得到 bin、lib、man三个目录,其中bin下有lynx可执行文件,lib下有lynx.cfg配置文件和其他一些帮助文档,在开发板上一般只需要lynxlynx.cfg

    3. 拷贝第一步编译出来的ncurses下的share文件到开发板/usr/目录下,开发板只用到里面的少数几个终端信息文件,如VT102、VT100,可以删除不用的。

    4. 在开发板上需要导出两个环境变量给lynx用

     export TERM=vt102 (注:此处标准输出使用是FS2410的串口0,如果要输出到LCD上需要用vt100)

     export TERMINFO=/usr/share/terminfo

    5. 好的,现在可以测试一下了

    先要确保网络是通畅的,进入lynx所在的目录:

    ./lynx --cfg  ../lib/lynx.cfg  www.kernel.org

    怎么样,看到网页了没有?看到了的话试一下简体中文的网页:

    ./lynx --cfg  ../lib/lynx.cfg  -display_charset=gb2312 zhidao.baidu.com

    再试一下繁体中文的:

   ./lynx --cfg  ../lib/lynx.cfg  -display_charset=big5 www.google.com.hk

    (注:内核配置的Native Language 下一定选上对GB2312和big5的支持)

    在我的开发板上老是出这样的问题:

    Alert! error uncompressing temporary files!

    到现在还没有搞明白问题出在哪里 ,如果你知道,一定要告诉我哦(boat_man@163.com)!

    6.如果上网站没有除了显示以外的问题的话,执行下面的命令:

    ./lynx -cfg ../lib/lynx.cfg -mime_header -auth=XXXXX:YYYYYY /
   "http://www.3322.org/dyndns/update?system=dyndns&hostname=XXXXX.3322.org"

    正常情况下,可以得到你现在的外网IP。

    你没有得到IP?无法从外网访问? 3322,端口映射等等我就懒得解释了,请自己查相关的资料吧。

    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值