SylixOS下影子终端工具
项目起源:
2020.01.20 v1.0.0
影子终端(shadowTerminal)工具的开发来自于实际需求,x86平台下调试网卡驱动,需要查看内核调试信息,但x86平台下内核终端是在显示器上的,屏幕不能滚动显示,当调试信息较多时就看不到前面的打印了,所以需要有方法将系统终端转移到开发主机上。
解决方法:
- 修改系统启动参数,将内核终端映射到串口上。现今的电脑很少再有原生串口了,即便有些台式机有,也是在主板
上并未引出。 - 使用USB转串口或PCI串口,此类串口一般需要系统启动后,加载完驱动,使用特殊操作才能将内核终端映射过来。
- 使用syslog将信息传到外部服务器,需要修改内核或驱动中的打印函数,且一般只能以文件方式读取。
- 给系统增加一个强大的图形显示的终端软件,可以拖动滚动条查看以往信息。
- 将内核终端映射到一个文本文件,再通过ftp下载该文件进行查看。
- 能不能在Telnet下,执行个命令,就把内核终端映射过来呢?通过网络的话,速度快,不限定距离,连接方便。
功能:
- 可以使得内核终端映射到多个设备,且各设备间保持同步状态。
- 映射到内核终端设备可以是,串口,文本文件,和Telnet。
- 不需要改动内核或驱动,部署启动一个内核模块,再执行一条命令即可。
- 完美实现了上面解决方法中的2、5、6。
- 启动后不影响原有终端设备功能,新增加的终端设备如同原有终端设备的影子一样,具有完全相同的状态。
- 原理上除了可以映射内核终端外,其他进程终端(每个进程有各自独立的标准输入输出)也是可以映射的。
应用情景:
- 避免内核终端在显示器上时,查看不全的问题。
- 调试过程中需要暂停终端当前显示内容,以便查看分析。
- 需要同时开启多个内核终端,便于多人协作。
- 在开启多个内核终端时,其中一路可以开启会话日志,将内容保存为文件,其他路可以暂停、关闭等,而互不影响。
- 设备不在身边(比如在隔壁房间),或机箱不便打开,或连接串口终端缺少线缆,接头,USB转串口模块等情况下。
- 黑进同事的设备,给他来个恶作剧。
- 呼叫你隔壁屋沉迷调试bug中的同事,该去吃饭了。
操作方法:
- 到gitlab仓库拉去最新版本shadowTerminal工程源码,shadowTerminal是一个内核模块工程。
- 根据目标板处理器体系结构,导入对应的工作空间,关联base,编译,编译后得到shadowTerminal.ko文件。
- 部署shadowTerminal.ko文件到目标板,并安装:insmod /lib/modules/shadowterminal.ko
安装后只会注册sterminal命令。 - sterminal -help 命令,查看命令帮助信息。
- 在系统默认内核终端中执行 sterminal 命令,无变化;在Telnet终端中执行sterminal命令。会将当前Telnet终端
映射到内核终端。 - sterminal -f /dev/ttyUSB0 -b 115200 -o none 命令, 将串口/dev/ttyUSB0绑定到内核终端,同时设置串口波
特率和帧格式。 - sterminal -f /apps/log命令, 新建普通文件/apps/log绑定到内核终端。
更新记录:
2020.01.20 v1.0.0
- 初始版本,基本实现telnet映射系统终端的功能。
2022.04.24 v1.1.0
- 修正telnet映射连接时出现卡动的问题。
- 解决telnet映射断开时原有命令行无法使用的问题。
下载地址:
目前对外只提供了x86/x64平台的可执行程序下载,内核版本是V1.12.9,shadowTerminal版本是V1.1.0。
shadowTerminal_x86.ko
shadowTerminal_x64.ko
翼辉内部人员可在公司内部Git仓库查看及下载源码。
测试截图
当前版本只在x86虚拟机上进行了测试。
模拟显示器下的控制台启动界面。
putty下串口0的命令行启动界面。
SecureCRT下telnet连接的命令行启动界面。
telnet下安装shadowTerminal操作。
telnet下安装映射系统中断操作,注意x86平台下的系统终端在显示器上,不是串口0。映射成功后系统输出都会显示在telnet界面,telnet界面下的输入也是同步到系统终端中,两处命令行是完全同步的。而此时串口0并未映射系统终端,所以是独立不受印象的。
串口0的命令行也可以映射到系统终端,这样3个终端串口就都绑定且同步了。
SylixOS下影子终端工具相关推荐
- Mac下安装终端工具,可使用终端下载软件
Mac book pro上面,我想实现像Linux下面那样用命令行下载软件,查看资料后,Mac使用一个工具叫brew,用网上给出的命令无法安装.在终端中后来试了下下面的命令完成了安装: ruby -e ...
- windows下的终端工具和产品力
终端工具产品力: 1.和linux.unix基本命令兼容 2.字体大小可以设置,最好按键+滚轮可以控制字体大小 1.0时期cmd时代 cmd唤起命令行 2.0时期 powershell时代 Power ...
- java~mac下的终端工具oh-my-zsh
mac操作系统类似于linux,很多命令都是兼容的,确实挺好用,对于java,docker,git等开发来说,终端命令行是非常必要的工具,这里我介绍一下item2+oh-my-zsh的安装与使用. 安 ...
- linux 下qt 终端隐藏在后台_20 个 Linux 终端下的生产力工具 | Linux 中国
来试下这些开源工具.你的效率一定会提升. 来源:https://linux.cn/article-12274-1.html 作者:Alan Smithee 译者:Xiaobin.Liu 诚然,很多人使 ...
- linux的screen工具下载,Linux终端下的强大工具 - screen
使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session.screen命令可以解决这个问题. Screen工具是一个终 ...
- linux 终端工具 win10,win10下使用Windows terminal安装wsl子系统教程
不少做计算机方向的朋友肯定遇到过有些软件或者环境需要Linux系统进行操作,这时候就必须在虚拟机里安装这些系统,打开时不方便不说,系统的流畅度也有很大的问题.一旦资源分配不均或者出现磁盘配置问题,也很 ...
- 终端主题_再见 XShell 和 ITerm 2,是时候拥抱全平台高颜值终端工具 Hyper 了!
点击上方"涛哥聊Python",选择"星标"公众号 重磅干货,第一时间送达 转自:运维之美 不论是 macOS 还是 Windows 下,我们都不推荐使用系统自 ...
- 推荐7款好用的cmd命令行终端工具
1.Cmder 下载地址:https://cmder.net/ Cmder是一个代替cmd的终端工具.只能操作Windows. 它的好处是: 支持大部分Linux命令,比如ls: 鼠标选中默认复制,鼠 ...
- [转]12款最佳Linux命令行终端工具
摘要 "工欲善其事必先利其器",作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是 ...
最新文章
- “Hey Siri” 背后的黑科技大揭秘!
- 【Rollo的Python之路】Scrapy Selector选择器的学习
- oracle数据库SQL入门
- 只出现一次的数字Python解法
- 学习笔记02:直播串讲02
- Ubuntu 查看默认软件安装位置
- 【单机实现系列】SharePoint2010与Exchange Server2010 结合
- mysql 1236错误_MySQL主主同步环境出现1236错误
- sql server利用开窗函数over() 进行分组统计
- Jvm虚拟机下载和安装教程
- 服务器专用影子系统,试试最牛X的影子系统!瞬间创建N个账号
- 普通IC、M1、UID、CUID、FUID、UFUID卡的区别
- 芯片开发语言的简单区别介绍。Verilog、VHDL、System Verilog、SystemC、Matlab、C/C++等
- android wps页面设置背景图片,wps word怎么设置背景图片
- 自己动手搭建聊天APP
- 百度富文本编辑器php设置图片上传,手把手教你百度富文本编辑器的相关配置包括图片上传(for jsp)...
- matlab求合同矩阵,matlab-线性代数 判断 合同矩阵
- 大数据产品开发流程规范_大数据系统开发步骤流程是怎样的
- larval框架数据表的填充
- NaN是什么? NaN == NaN 的结果是什么?为什么?
热门文章
- ‘struct lws_context_creation_info’ has no member named ‘ws_ping_pong_interval’
- 小苏的Shell编程笔记之一
- 【设计模式】五种创建者模式
- 【JS】对象方法(工作常用)
- 计算机主机上授权许可标签,计算机安装软件抽查登记表填表及操作说明.DOC
- 生信笔记 | 文本挖掘的一般流程
- tfs 修改服务器路径,TFS更改服务器密码
- 云朵左右移动上下漂浮
- pve安装黑苹果实录
- hive的set优化_Hive优化(整理版)