S5pv210支持telnet连接

简介

最近心血来潮,顺便拿起放置很久的开发板来玩玩。(主要原因还是看公司产品研发使用的远程连接功能telnet比较好玩,一根网线就可以操作设备,免去了使用串口的“痛苦”,而且真实产品中也不会把串口引出来),由此花了两天时间研究了一下通过telnet远程登陆设备,并且将其实现。
注:第一次写博客,欢迎指出错误!

期间思考了两种方案,最终以第二个方案完成目的:
(1)、当时没注意到制作根文件系统的时候,busybox中已经集成了telnet功能,分为客户端和服务器,在设备上其实只需要服务器即可,不需要客户端。第一个想法就是交叉编译telnet源码,移植一个telnet的服务端程序到arm平台上。

(2)、重新配置编译busybox,制作带有telnet功能的根文件系统,这样做的好处就是集成到当前的rootfs中,不需要额外添加库的支持。坏处就是需要做的事情比较多,比较复杂。但这个方法确实让我学到了非常非常多的东西。

话不多说,开始上菜:

	方案一:
	(1)、源码包下载:http://ftp.gnu.org/gnu/inetutils/inetutils-2.4.tar.gz
	(2)、拷贝到自己的虚拟机中,找个文件夹存放该文件
	(3)、解压到当前目录:tar -zxvf inetutils-2.4.tar.gz -C ./
	(4)、进入到解压出的目录:cd inetutils-2.4
	(5)、进行项目配置:./configure --host=arm --disable-clients --disable-ipv6 --disable-ncurses  --prefix=/usr/local/arm_telnet/ CC=arm-linux-gcc
		注:配置参数含义
				--host=arm:目标平台
				--disable-clients:不编译客户端
				--disable-ipv6:不支持IPV6
				--disable-ncurses:关闭字符终端处理库编译
				--prefix=/usr/local/arm_telnet/:make install时的安装目录,编译好的bin程序就在这个目录下,**注意字节安装的目录**
				CC=arm-linux-gcc:指定交叉编译工具链
	(6)、完成配置后开始编译:make -j4
	(7)、接下来就是安装了:make install
	(8)、等待安装完成,进到第(5)步中指定的--prefix目录下,会出现如下三个目录
	![安装完成后的目录](https://img-blog.csdnimg.cn/5ac9f2966f49461fb3506fff7cb80f7c.png)
	(9)、进入libexec目录中,其中存放的就是经过交叉编译后可移植到arm平台的可执行程序
	![可执行程序](https://img-blog.csdnimg.cn/0dbc801d13204b738e4f7d79b7facd33.png)
	(10)、拷贝需要的程序到开发板根文件系统/user/sbin/目录下,只需要**telnetd和inetd**两个程序即可,注意添加权限
	(11)、目前为止开发板已经具备了telnet必须的程序,这两个程序默认应该是静态编译连接的,故此不需要拷贝动态库。(这里我也不太确定),看实际情况,如果缺啥就补啥

方案二:
	(1)、进入busybox源码目录(我用的busybox版本是1.23.0)
	(2)、配置busybox:make menuconfig
	(3)、进入Networking Utilities下,往下找,找到telnet和telnetd,把这两项对应的配置项都勾上(使用y键即可),如下图:
	![telnet编译配置项](https://img-blog.csdnimg.cn/d12c75e5c59d487eb9395b30e9d27fd9.png)
	(4)、使用telnet功能,必不可少的就是mdev服务,所以,完成telnet配置后,还需要完成mdev的配置
	(5)、返回上一层,找到Linux System Utilities下的mdev,将其对应的所有配置项都勾选上,如下图:
	![mdev配置项](https://img-blog.csdnimg.cn/746b8db6594b46339eedd62b3883e33b.png)
	(6)、保存退出
	(7)、开始make,等待编译完成
	**(8)、注:make完成后,一定要更改make install的位置,千万千万不要直接make install**
	(9)、更改根文件系统的安装目录,流程如下:
			A.make menuconfig
			B.进入BusyBox Settings下,找到Installation Options项
				![Installation Options](https://img-blog.csdnimg.cn/4898788c6bed4c13ba8d79db8b1bd2ce.png)
			C.进入该选项,选中BusyBox Installation prefix,输入自己需要安装busybox的目录
			![路径选项](https://img-blog.csdnimg.cn/2be7dc4e497447cc963f5b4e6d5c8b9c.png)
			D.保存退出,重新make
		(10)、安装:make install
		(11)、进入安装busybox的目录下,具备了linux操作系统的几个必要文件,比如etc、usr、linuxrc、bin......我们需要的inetd和telnetd两个可执行程序已存在于usr/sbin目录下
		(12)、到这一步我们还缺少许多基础配置文件,目前已有的只是类似ls、mv、ifconfig等可执行程序的一个根文件系统
		注:具体需要什么配置文件,上网搜索BusyBox移植到arm平台相关的博客参考,这里就不多做介绍

完成两个方案描述之后,其后的内容都是两个方案都需要做的事情,如下:
(1)、进入到busybox安装目录下
(2)、进入etc目录下并touch inetd.conftouch文件
(3)、vi打开该文件,输入:telnet stream tcp nowait root /usr/sbin/telnetd后保存退出,详细意义不做介绍
(4)、etc目录下打开fstab(linux下挂载文件系统列表),在其后添加,如图所示:
在这里插入图片描述
(5)、确保根目录下存在/dev目录
(6)、进入init.d目录,vi打开rcS文件,添加如下图所示内容(已有的可跳过):
在这里插入图片描述
(7)、打开etc目录下的securetty文件(管理端口文件),若该文件不存在,则新建一个,添加pts/0、pts/1。。。几个用户登陆就添加几个,如果只有一个,则只需要添加一个即可,如下图
在这里插入图片描述
(8)、到此,配置文件相关的大功告成,接下来就是享受的“美食”的时刻。
(9)、打开SecureCRT软件
(10)、新建连接、输入配置如下图所示:
在这里插入图片描述
(11)、connect即可,输入用户名,以及密码登陆即可
在这里插入图片描述
(12)、如果现象和我的不一致,也有可能是mdev文件系统没挂载上,又或是kernel配置有问题,可参考
https://blog.csdn.net/weixin_43782998/article/details/121285466
中的kernel配置部分,我移植的时候也配置了kernel,至于影不影响后续操作,也不确定。

总结:
到此大功告成,总得来说这篇博客写的比较简单,方案二中间有许多小细节没补充补充上,大致流程有了,巩固了软件移植的同时,也巩固了根文件系统移植的过程,对根文件系统中的配置文件,流程有了更为深刻的了解。

比较恶心:继续阅读有时候会跳转到开会员页面
参考文档:https://wenku.baidu.com/view/5116f650ad02de80d4d84059.html?fr=sogou&wkts=1676805214411

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值