嵌入式linux开发,telnet,telnetd服务移植

简介

        Telnet是传输控制协议/因特网协议(TCP/IP)网络(例如Internet)的登录和仿真程序。它最初是由ARPANET开发的,但是现在它主要用于Internet会话。它的基本功能是,允许用户登录进入远程主机系统。起初,它只是让用户的本地计算机与远程计算机连接,从而成为远程主机的一个终端。

一、下载。

运行telnetd需要 inetd 的支持。

地址:Index of /gnu/inetutils

本人使用最新版本,inetutils-2.1.tar.xz。

二、移植。

1、解压并在代码目录下创建buildout文件夹。

2、配置。

./configure --prefix=$(pwd)/buildout --host=arm-none-linux-gnueabi --disable-clients --disable-ipv6 --disable-ncurses

3、交叉编译与安装。

make -j4
make install

4、移植至arm板。

拷贝 inetd 文件至arm板 /usr/sbin 目录下,并添加可执行权限。

拷贝 telnetd 文件至arm板 /usr/bin 目录下,并添加可执行权限。

5、配置。

修改或添加 inetd 的配置文件 /etc/inetd.conf,并加入启动项。

telnet stream tcp nowait root /usr/bin/telnetd telnetd

查看 /etc/services 网络服务文件,若没有以下内容,加入telnet名称(和 /tec/inetd.conf 中匹配),端口和协议。

telnet		23/tcp

修改 /etc/securetty,增加如下内容:

# Allow 5 telnet login
pts/0
pts/1
pts/2
pts/3
pts/4

加入启动项,修改 /etc/init.d/rcs 文件,增加 inetd(/usr/sbin/inetd)。若没有加载devpts文件系统,运行inetd,netstat -a 会发现telnet端口已经listen了,这时登录会出现错误: telnetd: Out of ptys。

mkdir /dev/pts
mount devpts -t devpts /dev/pts  //加载devpts文件系统

inetd

6、ps:如果连接不上,telnetd执行时可能缺少动态库,从环境匹配的开发板上拷贝一份即可,如:

libtinfo.so.5
libreadline.so.7
从AG35拷贝这两个库到开发板的/usr/lib目录下

附:

1、utelnetd 不需inetd ,可直接运行,./utelnetd -d。

2、telnet需要一个交互的登录界面,须要有getty、login和passwd程序。如果没有,无法实现telnet。此三个程序可由busybox生成。

3、telnet可由busybox生成,不必单独移植。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寞水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值