首先谢谢sunll
首先谢谢sunll.
我的板子现在都已经跑起来了,tftp客户端服务端在PC主机上也都可以了,
板子的linux系统的tftp客户端也可以了,内核和应用程序都可以通过tftp到板子上运行起来.
我的问题是在arm板子安装tftp服务端,因为我想作一个文件的传输的工作.版主建议自己作一个交换文件,而我也考虑了一下,网络编程我可以分配一个1024的buffer,也就是说每次可以传输1K字节的数据,但是我的文件大部分都在4~5M的大小,可能以后还会有更大的文件,这样我要来回发送数据几千次或者上万次.所以我还是主张移植tftp服务端.以下是我安装xinetd-2.3.14和tftpd.tar.gz的过程和出现的问题,请版主和大虾们再给些指导::
主机环境:redhat 9.0 内核版本:2.4.19
嵌入式arm-linux 内核:2.4.19 arm-linux-gcc为2.9.35
我下载了一个tftpd.tar.gz包交叉编译产生了一个tftpd的执行文件,其属性如下:
[root@localhost tftpd-1.3]# file tftpdtftpd: ELF 32-bit LSB executable,ARM, version 1 (ARM), for GNU/Linux 2.0.0, dynamically linked (usesshared libs), not stripped
我把他下载到arm板子上的/usr/sbin/目录下,创建/tftpboot目录(在其readme文件中有说明).运行可是从PC机还是不能get目录/tftpboot下的文件,超时退出,我想应该是没有连接到arm板上的tftpd服务器.请问,这里是不直接将tftpd可执行程序下载到arm板上运行就可以了,还有没有另外的设置????????
以肯定的是 我的arm板子上tftp-client是好的,PC端的客户端服务端都是可以的.
想起版主说要起动xined服务,于是下载了xinetd-2.3.14,
交叉编译:
export LDFLAGS=-L/usr/local/arm/2.9.53/lib
export CFLAGS=-l/usr/local/arm/2.9.53/include
CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/usr/src/arm-xinetd
make
没有执行make install,网上说这一步不能执行,因为你要安装程序到arm板子上,只有将配置文件下载到你的嵌入式系统里.
编译生产生一个可执行的xinetd二进制文件
可是在原文件包里发现xontrib/目录下有下xinetd的配置文件:
[root@localhost xinetd-2.3.14]# ls contrib/
empty.conf xinetd xinetd.conf xinetd.d
这时看到的和PC机配置一样的脚本,xinetd为xinetd服务脚本,xinetd.conf和xinetd.d/都是一些服务脚本,但是在xinetd.d/目下没有看到tftp脚本.
注意:这里有两个xinetd文件,一个是脚本文件,一个是可执行的二进制文件.我在PC机上也发现这两个文件1)脚本文件/etc/init.d/xinetd (2)二进制可执行文件
/usr/sbin/xinets
如下:[root@localhost xinetd-2.3.14]# ls contrib/
xinetd.d/chargen cups-lpd daytime-udp echo-udp servers sgi_fam timechargen-udp daytime echo rsync services time-udp
我把PC主机的/etc/xinetd.d/tftp拷贝到上面的目录中,因为我想这两个应该都是一样的(不知道行不行)
接下来把xinetd.conf文件和xinetd.d/目下的文件拷贝到我的嵌入式系统的/etc/目录下,将xinetd可执行二进制文件拷贝到我的嵌入式linux的/usr/sbin/目录下,脚本文件拷贝到/etc下面,通过修改我的嵌入式系统启动脚本文件 /etc/init.d/rc.sysinit文件执行/etc/xinetd脚本程序.
到这里我有一个疑问,xinetd脚本文件和xinetd二进制文件分别有什么作用,怎么启动的,在哪里启动他们好呢??请哪个高手指点一下!!!!!!!!!!!!!!!!!!!
我运行xinet脚本程序的时候发生错误:/tftpboot # /etc/xinetd start
/bin/sh: /etc/xinetd:notfound
请问这是怎么回事?我看了一下这些配置工具和PC机环境下的一模一样,我想是不是要修改这些配置文件,才能适合arm系统呢?紧急,哪位大虾指点一下!谢!!!!!!!!!!!!!
|