如何移植一个telnetd工具到单板

1:telnetd服务器框架

服务器框架

  • 由上图可以看到telnetd相当于在单板上起了一个服务器的进程,PC通过网线再通过pts设备与服务器进行交互从而达到远程访问系统的操作

2:利用busybox工具编译生成telnetd

  • 下载busybox工具配置工具链如下:
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
  • 执行make menuconfig配置静态链接库以及网络中选中支持telnetd
make menuconfig

Setting选项中选择Build static


support telnetd

  • make -j8
  • make install
  • 在busybox可以看到_install中的工具了
    在这里插入图片描述
  • telnetd位于usr/sbin/
  • telnetd以及其链接到的busybox移植到板中

3:启动telnetd服务器

  • 修改链接属性后执行./telnetd即可看到telnetd服务进程
    在这里插入图片描述
  • 修改启脚本挂载devpts文件系统
    由于telnetd依赖于远程虚拟终端文件设备,所以内核必须在dev目录下存在dev/pts目录用于存放远程虚拟终端文件设备
    PS:补充一下文件系统相关知识:
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0

#proc:/proc,伪文件系统,只存在于内存当中不占用磁盘空间,它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息、进程是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。简单来说,proc用户是查看内核和进程等系统信息的一个接口。
#sysfs:/sys,也是一种虚拟的基于内存的文件系统,与proc类似,但除了和proc一样具有查看和设定内核参数的功能外,还有为linux统一设备模型作为管理之用,sysfs导出内核数据的方式更统一,并且组织的更好,设计优于proc。
#debugfs:/sys/kernel/debug,没有任何规则要求,用户可以放入任何信息,主要用于调试目的。
#devpts:和proc一样,是linux提供给管理员通过文件系统和内核进行沟通(读写)的一种渠道,pts是远程虚拟终端,devpts即远程虚拟终端文件设备。通过/dev/pts可以了解目前远程虚拟终端的基本情况。

启动脚本中可以执行挂载操作如下:

#!/bin/bash
	mount -a #自动挂载/etc/fstab中指定的分区
	mkdir /dev/pts #创建/dev/pts设备目录
	mount -t devpts devpts /dev/pts #将devpts文件系统挂载于上一步创建的目录
	echo /sbin/mdev > /proc/sys/kernel/hotplug #配置热插拔事件产生时候要执行的动作
	mdev -s #生成设备文件
  • 修改telnet登录密码
    在Linux中用户密码存在于/etc/passwd中,此文件中的释意如下:
root:x:0:0:/root:bin/bash
#用户名:密码:用户ID:组ID:用户的描述信息:使用的shell类型
#补充我们在此处并看不到密码,真正的密码存在于/etc/shadow中

此处密码不能随便设置,否则分分钟进不去系统,一般把x空着,不设置密码,要设置应该是用pssswd命令设置(别问为什么!问就是血与泪。。。)

4:客户端登录
  • 客户端利用telnet IP地址登录远程服务器即可访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值