首先在内核中要支持一样东西:
在Character devices中选中 Unix98 PTY support
busybox中已经可以支持telnetd的命令,我用的是busybox-1.24.1版本的,文件系统最好能配置上的东西,都要配置上,防止后面如果因为需求又多了什么新的需求,而那个时候再去重新编译busybox就
比较麻烦了。在配置busybox中将telnet telnetd选中,
Busybox 配置
Busybox 中已集成了 telnet client 和 telnetd, 以下是 busybox 中关于 telnet 的配置选项:
Networking Utilities --->
[*] telnet
[*] telnetd
[*] Support standalone telnetd (not inetd only)
编译安装busybox后,在busybox生成的,usr/sbin/目录下会有telnetd inetd这两个bin文件,我的是在里,可能你的在别的bin目录下。
有telnetd后,后面的工作就很简单了。这里我只将我做的文件系统中重要的内容列出来,里面可能有些是你们不要的东西,但是如果你按照我的内容添加,那么就一定是对的。
首先确保文件系统的 /etc/fstab文件中内容为:
# /etc/fstab: static file system information.
#
# Use 'vol_id --uuid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /var tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
# none /mnt ramfs defaults 0 0
这个fstab文件,是建立内存设备和文件系统的映射的,驱动设备的信息,和内核中的信息。有了这个文件,我们就让那些信息挂载到mount point这个列下。
然后/etc/passwd文件中内容为:
root::0:0:root:/:/bin/sh
root表示 root账户,有了这个同时也会让你的文件系统中,命令行下的前缀名为root。0:0表示没有密码,这样当telent的客户端登录上你的telentd服务端后,也就是登录到你的arm板子上时,只需要输入登录名root就可以登录上你的arm板了。
在/etc/目录下创建一个services文件,里面内容填充一行:
telnet 23/tcp
23表示是端口号,用的tcp协议。
确保你的arm板上,有一个ip地址,可以ifconfig查看。如果没有请自己设置一个ip地址,作为telent服务端的ip地址,方便telent客户端登录到你的开发板上。
之后重启arm板就可以了,重启后,输入telentd & 就可以后台运行telentd服务端程序了。