基于ubuntu-2.6.35内核的Lynx字符浏览器移植

  lynx是一个linux下的一个字符浏览器的开放工程,这里我们用它去完成动态域名的登录。

一、移植环境
        1、 主机:Ubuntu 10.10发行版
        2、 目标机:FS_S5PC100平台
        3、 交叉编译工具:arm-cortex_a8-linux-gnueabi
        4、wifi模块:marvell-8686
        5、内核:linux-2.6.35

---------------------------------------------------------------------

二、准备工作

为了使目标板能够正常上网,我们做如下设置:

1、 在profile中添加如下内容

$ ifconfig eth0 192.168.1.102
$ route add default gw 192.168.1.1

2、 修改/etc/resolv.conf添加如下内容

$ nameserver 192.168.1.1

这个时候我们可以ping一下www.sina.com发现没有问题接着我们就可以开始我们的工作了。

---------------------------------------------------------------------

三、 ncurses的移植

因为在编译lynx的时候需要ncurses库的支持,我们这里先移植ncurses:

1、 下载源码:http://download.chinaunix.net/download.php?id=14653&ResourceID=7242

这里我们下载了ncurses-5.5.tar.gz

2、 解压源码

$ tar zxvf ncurses-5.5.tar.gz

3、 配置ncurses

$ cd ncurse-5.5
$ ./configure --prefix=/home/linux/project/lynx-browser/ncurses --host=arm-none-linux-gnueabi

4、编译和安装

$ make
$ make install

---------------------------------------------------------------------

四、 lynx的移植

准备工作都做好了现在我们就开始移植我们的浏览器了:

1、下载源码http://lynx.isc.org/lynx2.8.5/index.html;

这里我们下载了lynx2-8-5.tar.gz

2、配置lynx

$ ./configure --prefix=/home/linux/project/lynx-browser/lynx --host=arm-none-linux-gnueabi

3、编译和安装lynx

$ cd lynx-2.8.5
$ vim makefile

做如下修改:

- CC=gcc
+ CC=arm-none-linux-gnueabi-gcc

- CFLAGS = 02
+ CFLAGS = -O2 -I/home/linux/project/lynx-browser/ncurses/include/ncurses -I/home/linux/project/lynx-browser/ncurses/include/

- LIBS = -lncuses –L/lib
+ LIBS = -lncurses -L/home/linux/project/lynx-browser/ncurses/lib

进入src中编译:

$ make  //这里不要修改makefile因为这里需要生成一些在主机上运行的工具)
$ cd ..
$ make
$ make install

        现在我们基本完成工作了。

4、 拷贝lynx到开发板上

把我们生成的lynx拷贝到开发板上。

因为我们在configure的时候--prefix=/home/linux/project/lynx-browser/lynx所以我们也得把我们的lynx拷贝到这个目录。

$ cp lynx /source/rootfs/bin/
$ cd /source/rootfs $ mkdir home/linux/project/lynx-browser -p $ cp /home/linux/project/lynx-browser/lynx home/linux/project/lynx-browser/

5、 运行lynx

# lynx www.kernel.org

出现错误:Error opening termina:vt102

解决方法:
        刚才我们在编译ncurses的时候,在ncurses的安装目录下有share目录,我们把这个目录拷贝到开发板的usr目录下

$ cp ncurses/share /source/rootfs-6410/usr –a

修改profile

$ sudo vim /source/rootfs/etc/profile

添加如下内容:

export TERM=vt102
export TERMINFO=/usr/share/terminfo

重新 启动开发板

# lynx www.kernel.org

Ok上去了。

 

 

 /************  以下部分没有做过,不保证内容正确性  ************/

【动态域名】 

将以下命令添加到启动脚本中(etc/init.d/rcS)

# lynx -mime_header -auth=farsight:9138696092 "http://www.3322.org/dyndns/update?system=dyndns&hostname=farsight.3322.org"

(返回good或者nochg表示命令执行正确)

注意:上面的命令需要在ip地址正确(可以ping同外网)配置以后才能正常运行

如在脚本中添加:(在上条命令之前添加)

# ifconfig eth0 192.168.1.75  //配置为自己的ip
# route add default gw 192.168.1.1

此时,访问farsight.3322.org仍然不能访问到开发板,需要在接外网的路由器上做端口映射(需要管理员密码)

端口映射配置方法:

访问192.168.1.1,输入用户名和密码 登陆

在左侧选择 应用服务->虚拟服务,点击  增加

网络如图配置,内网主机IP填入开发板的ip地址,其他如图:

 此时便可以在互联网任意位置通过访问域名: farsight.3322.org 即可访问开发板。

 

原文链接:http://www.cnblogs.com/lr-ting/archive/2012/07/09/2582956.html

posted @ 2012-07-09 16:30  lr_ting  阅读(739)  评论(0编辑  收藏  举报
simple statistics
Econo Lodge Coupons