启动 telnetd 服务一般有两种方式:
- 通过inetd服务托管启动
- 独立启动
1、 检查kernel配置,需选中"Device Drivers -> Character devices -> Unix98 PTY support"
2、 重新编译uClinux-dist里的busybox,需选中以下几项:
- BusyBox -> Busybox Settings -> General Configuration -> Use the devpts filesystem for Unix98 PTYs
- BusyBox -> Login/Password Management Utilities -> login
- BusyBox -> Networking Utilities -> telnetd
- BusyBox -> Networking Utilities -> Support standalone telnetd (not inetd only)
- 如果使用的是nommu板子(arm7),需要将"BusyBox -> Busybox Settings -> General Configuration -> Path to BusyBox executable"选项的值设定为“/bin/busybox”
3、 添加group 和 passwd文件到romfs下的etc目录
- $ cat romfs/etc/group
- root::0:root
- $ cat romfs/etc/passwd
- root::0:0:root:/:/bin/sh
复制代码
4、 创建设备节点和目录
- $ cd romfs/dev/
- $ touch @ptmx,c,5,2
- $ mkdir pts
复制代码
5、 修改romfs/etc/rc,添加如下内容:
- mount -t devpts devpts /dev/pts
复制代码
6、 重新制作romfs.img,进入系统后通过命令:
- # telnetd
复制代码
启动telnetd服务。
启动时无需添加“&”, 因为它本身就是一个守护进程。
NOTE:
- 测试使用的uClinux-dist版本是20080808
- Busybox版本是uClinux自带的v1.10.2-uc0
- Telnet登录用户名是root,密码为空
- 网上文档说,在配置kernel时,还需要在File systems中选中/dev/pts file system for Unix98 PTYs;但我的kernel没找到该选项(2.6.25)
- 参考1:http://hi.baidu.com/qwetiop/blog ... 4abc2cd4074238.html
- 参考2:http://www.linuxforum.net/forum/showflat.php?Cat=&Board=embedded&Number=524059&page=&view=&sb=&o=&vc=1