6.宿主机LINUX安装注意事项及NFS的配置
建议都采用REDHAT系列
目前华恒所有产品的宿主机平台以REDHAT9.0为标准平台。
有些手册上所建议的REDHAT7.2,现在都建议采用REDHAT9.0,当然REDHAT7.2/7.3的系统也都是可以用的,但鉴于市面上目前能买到的都是REDHAT9.0,所以建议采用REDHAT9.0
宿主机配置中一个常见的问题就是NFS的配置,这里介绍一种较为直接简单的方法:
首先在REDHAT LINUX PC机上执行setup,弹出菜单界面后,选中: System services,回车进入系统服务选项菜单,在其中选中 [*]nfs ,
然后退出setup界面返回到命令提示符下。
vim /etc/exports
将这个默认的空文件修改为只有如下一行内容:(注意中间有空格)
/ ???(rw)
然后保存退出(:wq),然后执行如下命令:
/etc/rc.d/init.d/nfs restart
Shutting down NFS mountd: [ OK ]
Shutting down NFS daemon: [ OK ]
Shutting down NFS quotas: [ OK ]
Shutting down NFS services: [ OK ]
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
这样就一切OK了!
【注意】
因NFS不会每次自动启动,即无法像linuxconf命令那样设置成Automatic启动方式,执行如下命令重启NFS服务:
/etc/rc.d/init.d/nfs restart
(最好把上面一句写入/etc/rc.local文件中,这样每次计算机重新启动就省去每次都要执行上面的命令来启动NFS服务)
配置完成后,可用如下办法简单测试一下NFS是否配置好了:
在宿主机上自己mount自己,看是否成功就可以判断NFS是否配好了。例如在宿主机/目录下执行:
mount -o nolock 192.168.2.32:/???/mnt (有时若根目录不让读写,执行chmod 777 / 试试)
然后到/mnt/目录下看是否可以列出/目录下的所有文件和目录,可以则说明mount成功,NFS配置成功。
但实际上,REDHAT LINUX PC自己mount自己成功也不能完全说明NFS就可以工作了,因为还有一个防火墙的问题,一般的我们建议客户在安装REDHAT LINUX时就默认选择NO FIREWALL,但若客户没有这样选择的话,REDHAT 启动时会加载防火墙规则,这样你自己能 mount 自己,但其它PC和板子也无法mount这台PC。所以这时要运行setup关闭防火墙。注意!setup里面的防火墙显示永远都是HIGH,这个是REDHAT一直的一个小BUG,即使你安装时默认选择了NO FIREWALL,setup里面也照样会显示防火墙设置是HIGH的,这个可以不必理会。只要你选择了一次NO FIREWALL就可以了。关于防火墙等问题,请参见您的光盘里面的PDF手册。另外,建议对LINUX操作不是非常熟悉的客户,务必请阅读我们手册附录的“LINUX常用命令”。
还有,就是REDHAT还有这样一个问题,就是加入网关设置后,网络建立TCP链接非常慢,例如FTP/TELNET/NFS等都是,建立链接后,以太网通信还是很快的。若您安装网络时加入了网关,就会出现你在板子NFS mount REDHAT PC时,敲入mount -o nolock pcip:/ /mnt后非常长的时间不返回SHELL提示符,就一直停在那里,这就是建立连接的时间非常的长。一般的,遇到这种情况,建议在REDHAT LINUX PC上执行
route del default
即去掉网关,然后再进行NFS mount等操作就会非常快了。
再有,若您用的不是华恒的开发板,那么可能您的busybox可能没有加入NFS mount的支持,这样您就需要重新编译busybox,加入NFS mount支持,然后更新ramdisk,重新烧写即可。
当然了,测试NFS你必须用以太网将板子和REDHAT LINUX PC连接起来才行,连接的方式有两种:一是板子和PC都用普通的网线接到HUB或者交换机上;二是用交叉网线将板子和PC直连起来,注意!这种网线是特制的,内部收发交换的!
测试板子和PC网络是否连通的方式是:板子正常启动LINUX后,在minicom里面ping PC看是否能通即可,当然了,用PC来ping板子看是否通也是可以的。 注意:板子必须启动到LINUX后才能ping通,板子处在bootloader阶段一般是无法ping通的,即使这时板子的bootloader初始化了以太网也不行。
若板子跟PC的网络不通,mount报错信息为:
# mount -o nolock 192.168.2.211:/ /mnt
mount: RPC: Unable to receive; eNrno = No route Fo host
mount: Sfsmount failed::Bad file descriptor
mount program didn't pass remote address!
mount: Mounting 192.168.2.211:/ on /mnt failed: Invalid argument
关于tftp服务安装的问题
有些客户在安装REDHAT LINUX 时,有时没有选Custom-->Packages里面选择everything,导致没有安装tftp服务(典型的就是安装完成后没有/tftpboot目录,setup-->system services里面也没有tftp选项 ),这时若要重新完全安装就太麻烦了,可如下单独安装改服务:
<感谢深圳客户廖代国先生和瘦网虫提供资讯>
安装tftp 的方法: rpm -ivh foo-1.0-2.i386.rpm
其中foo-1.0-2.i386.rpm在Redhat9的第3张光盘里面。
7.WEB SERVER boa的使用及配置
(1)、对于uClinux-dist而言,就是make menuconfig在应用程序选单中,在network application下面选择boa,然后到uClinux-dist目录下执行make编译即可。
对于有MMU的平台,如armlinux和ppclinux,都是到网上下载一个boa的tar包,随便找个主流的可用的版本即可,不要最新的也不要最旧的。下载到REDHAT宿主机上后,解压到任意目录,然后修改boa/src/Makefile里面的编译器,就只要加入两三行即可,例如:
CC = /LinuxPPC/CDK/bin/powerpc-linux-gcc -DHHTECH_PPC
CPP = /LinuxPPC/CDK/bin/powerpc-linux-g++
然后直接在boa/src目录下执行make即可生成boa可执行文件,将其复制到ramdisk加载mount的目录的bin里面,然后等一同加入后面的配置文件和HTML/CGI文件后,重做ramdisk即可。
(2)、编制配置文件boa.conf
LINUX下的应用程序的配置都是以配置文件的形式提供的,一般的都是放在目标板/etc/目录下或者/etc/config目录下,但boa的配置文件boa.conf一般都放置在目标板/home/httpd/目录下。
例如一个典型的boa.conf文件格式如下:
ServerName HHCF5272-R1
DocumentRoot /home/httpd/html
ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/
ScriptAlias /index.html /home/httpd/html/index.html
它指定了HTML页面(例如index.html必须放到/home/httpd/html目录下,cgi可执行文件必须放到/home/httpd/cgi-bin目录下)
(3)、编译uClinux-dist后或者重做ramdisk后,烧写后在一台WINDOWS的PC机上就可以用IE访问板子上的webserver,例如输入板子IP地址http://192.168.2.111,即可看到你用dreamweaver做的网页index.html了。但这里只能做到对静态页面的支持,若要支持FORM表单处理和动态页面,就必须用C代码编制CGI代码,uClinux-dist/user/cgi-generic目录下提供了样板代码,或者可以从华恒公司购买。注意:这个CGI的可执行文件必须放置到板子的/home/httpd/cgi-bin目录下。
建议阅读文章:
http://www.51eda.com/Article/embed_system/rtos/200405/806.html
关于auth选项
8.关于PPP拨号
(1)、首先是根据板子的串口2的信号定义制作串口线接MODEM,例如HHCF5249/5272系列平台就要将接MODEM的串口线2、3交换,7、8交换。做好线之后,可用tip软件进行与MODEM通信的测试:
tip -l /dev/ttyS1 -s 19200
显示connected后,用户就可以输入AT命令直接与MODEM对话了,这样做的目的是测试串口线。
(2)、配置内核支持PPP,并编译拨号用相关应用程序:pppd/chat。关于内核支持,就是make menuconfig在内核配置的Network device support ---> 中选择PPP/SLIP/CSLIP等,具体细节选项可任选,其实全部选中就可以了。关于应用程序的做法,和上面boa的做法完全类似。
(3)、编译拨号脚本和相关配置文件。做拨号必须先在REDHAT上手工拨号成功(不要用图像界面),然后才能到板子上做测试。而且,这只是第一步,简单的拨号上去并没有任何意思,因为产品过程中,还要涉及许多的应用细节,例如断线重拨检测,开机自动拨号,无流量自动断开,有流量自动拨号等,都是非常麻烦的细节,需要做长时间大量的稳定性可靠性测试。华恒提供经过全球各大城市测试稳定应用的拨号软件(GPRS/ADSL),可大大节省用户产品的上市时间。