Linux 下流行的 telnet 实现有两个:
1. GNU 的 inetutils 中的实现
http://ftp.gnu.org/gnu/inetutils/
2. 哈佛的 netkit-telnet
http://ftp.de.debian.org/debian/pool/main/n/netkit-telnet/netkit-telnet_0.17.orig.tar.gz
Telnet有client和server之分,下面我们使用GNU的inetutils来实现telnet server的移植:
1. 下载inetutils-1.9.4压缩包
http://ftp.gnu.org/gnu/inetutils/
2. 解压到/home/work/telnet/
mkdir /home/work/telnet/ -p
tar -xvf inetutils-1.9.4 /home/work/telnet
3. 配置inetutils
/*prefix要求时根目录*/
CC=arm-none-linux-gnueabi-gcc LDFLAGS=-static ./configure --disable-clients --disable-ipv6 --disable-ncurses --host=arm --prefix=/
/*编译*/
make
4. 拷贝编译生成的两个文件inetd和telnetd到目标开发板的/usr/bin目录下。
cd inetutils-1.9.4
cp ./src/inetd ./telnetd/telnetd /usr/sbin
5. 在目标板上配置
vi /etc/inetd.conf /*此文件为inetd 的配置文件,加入要开启的服务*/
/*如果没有此文件,则新建,并添加以下内容*/
telnet stream tcp nowait root /usr/sbin/telnetd telnetd
6. 运行inetd
chmod 777 /usr/sbin/inetd
/usr/sbin/inetd
7. 可以用netstat -a查看到telnet已经在LISTENING。
8. 如果无法连接
8.1 需要加载devpts文件系统:mount devpts -t devpts /dev/pts
8.2 修改/etc/securetty,增加如下行:
# psudo terminals used by telnet
pts/0
pts/1
pts/2
pts/3
pts/4
pts/5
pts/6
pts/7
9. 为了能开机启动telnet server服务,可以把inetd的启动命令加入 /etc/init.d/rcS 文件中,就不用手动来输这命令
本人水平有限,请批评指正。如需转载,请注明出处,谢谢!
参考文献:
http://blog.csdn.net/u010014090/article/details/79127053
http://bbs.csdn.net/topics/310022291
http://blog.csdn.net/zxh821112/article/details/8593650