SOL的补充
之前写过一些关于远程安装系统的文档,但是对于SOL还是糊涂不清。
Serial Console 可以将输入输出转发到串行接口(com1, com2), 假如你有串行读取设备,就可以看到显示,控制输入。不过串行读取设备不太好找,怎么办?
SOL(Serial over LAN)一种机制,将串行接口的通讯转到ip地址,这样我们无须串行设备,通过网络就可以了。
串行接口设备名
COM1: /dev/ttyS0 /dev/tts/0 0
COM2: /dev/ttyS1 /dev/tts/1 1
COM3: /dev/ttyS2 /dev/tts/2 2
COM4: /dev/ttyS3 /dev/tts/3 3
以 Supermicro X10SL7-F 主板为例
首先将服务器安装系统,然后查看哪个串行接口生效,如下
dmesg | grep ttyS
console [ttyS1] enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
serial8250: ttyS2 at I/O 0x3e8 (irq = 5) is a 16550A
00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0b: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:0e: ttyS2 at I/O 0x3e8 (irq = 5) is a 16550A
可以看到目前生效的是ttyS1
BIOS配置
串口输出重定向LAN
Serial Port Console Redirection -> SOL Console Redirection -> enabled
Serial Port Console Redirection -> Legacy Console Redirection -> COM2
GRUB配置
GRUB输出重定向到串口
1) centos6
/etc/grub.conf
serial --unit=1 --speed=115200
terminal --timeout=5 serial console
kernel /boot/vmlinuz-2.6.32-642.el6.x86_64 ro root=UUID=2cf9c0e4-2334-4bf7-9a06-caeae461ba77 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto console=ttyS1,115200 console=tty0 rd_NO_LVM rd_NO_DM
2)centos7
/etc/default/grub
GRUB_TERMINAL="serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=1 --word=8 --parity=no --stop=1"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet console=ttyS1,115200 console=tty0"
然后执行grub2-mkconfig -o /boot/grub2/grub.cfg
KERNEL配置
一般用于安装系统时使用,pxe配置文件
APPEND initrd=centos-7/initrd.img ip=dhcp BOOTIF=78:2b:cb:69:10:f3 inst.ks=http://install.localhost/kickstart/78:2b:cb:69:10:f3 ramdisk_size=102400 console=ttyS1,115200 console=tty0
则kernel会将输出信息同时输出到串口(ttyS0即COM2)和终端tty0
SOL的补充的更多相关文章
- MVC Core 网站开发(Ninesky) 2.1、栏目的前台显示(补充)
在2.1.栏目的前台显示中因右键没有添加视图把微软给鄙视了一下,后来有仔细研究了一下发现应该鄙视自己,其实这个功能是有的,是自己没搞清楚乱吐糟. 其实只要在NuGet中安装两个包(Microsoft. ...
- RabbitMq应用一的补充(RabbitMQ的应用场景)
直接进入正题. 一.异步处理 场景:发送手机验证码,邮件 传统古老处理方式如下图 这个流程,全部在主线程完成,注册->入库->发送邮件->发送短信,由于都在主线程,所以要等待每一步完 ...
- Android Retrofit 2.0 使用-补充篇
推荐阅读,猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava 4.RxBus 5.Android MVP+Retrofit+RxJava实践小 ...
- Android中使用ViewFlipper实现屏幕页面切换(关于坐标轴的问题已补充更改)
屏幕切换指的是在同一个Activity内屏幕间的切换,ViewFlipper继承了Framelayout类,ViewAnimator类的作用是为FrameLayout里面的View切换提供动画效果.如 ...
- 关于《Linux.NET学习手记(8)》的补充说明
早前的一两天<Linux.NET学习手记(8)>发布了,这一篇主要是讲述OWIN框架与OwinHost之间如何根据OWIN协议进行通信构成一套完整的系统.文中我们还直接学习如何直接操作OW ...
- Hexo的coney主题的一些补充说明
title: Hexo的coney主题的一些补充说明 date: 2014-12-14 14:10:44 categories: Hexo tags: [hexo,技巧] --- Coney是一个非常 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(47)-工作流设计-补充
系列目录 补充一下,有人要表单的代码,这个用代码生成器生成表Flow_Form表的Index代码就可以 加上几个按钮就可以了 <div class="mvctool"> ...
- 21-Python-Django进阶补充篇
1. 路由部分补充 1.1 默认值 url: url(r'^index/', views.index, {'name': 'root'}), views: def index(request,name ...
- 像画笔一样慢慢画出Path的三种方法(补充第四种)
今天大家在群里大家非常热闹的讨论像画笔一样慢慢画出Path的这种效果该如何实现. 北京-LGL 博客号@ligl007发起了这个话题.然后各路高手踊跃发表意见.最后雷叔 上海-雷蒙 博客号@雷蒙之星 ...
随机推荐
- python学习,day2:python字符串和二进制之间的互换
在python3中,byte二进制和striing字符串之间不能直接操作,需要进行编码和解码才行.下面是个例子 msg = '我爱北京天安门' print(msg) print(msg.encode( ...
- rest-assured的根路径(root path)和URL编码(URL Encoding)
一.根路径(Root path) 为了避免在body方法中使用重复的路径来断言,我们可以指定一个根路径(root path),比如: 我们以前的写法是: when(). get("/some ...
- B. Cover Points Codeforces Round #511 (Div. 2)【数学】
题目: There are nn points on the plane, (x1,y1),(x2,y2),…,(xn,yn)(x1,y1),(x2,y2),…,(xn,yn). You need t ...
- Tyvj - 1305 单调队列优化dp
今天有点头痛就不写具体细节了,贴完走人 #include<iostream> #include<algorithm> #include<cstdio> #inclu ...
- HDU - 1588 矩阵前缀和
题意:给定\(k,b,n,m\),求\(\sum_{i=0}^{n-1}f(g(i))\) 其中\(f(i)=f(i-1)+f(i-2),f(1)=1,f(0)=0\),\(g(i)=k*i+b\) ...
- 1149 Dangerous Goods Packaging (25 分)
When shipping goods with containers, we have to be careful not to pack some incompatible goods into ...
- Oracle分组函数之CUBE魅力
Oracle的CUBE与ROLLUP功能很相似,也是在数据统计分析领域的一把好手. 关于ROLLUP的查询统计功能请参考文章<Oracle分组函数之ROLLUP魅力>(http://www ...
- linux 文件截取
相关函数:open, ftruncate 表头文件:#include <unistd.h> 定义函数:int truncate(const char *path, off_t length ...
- 二维vector容器读取txt坐标
template <class vector> struct HeadLocation{ vector x; vector y; }; vector<HeadLocation< ...
- Python学习 day03
一.基本数据类型 python中的基本数据类型有以下几种: int -- 整数 python3中默认整数都是int型,python2中int的范围为-231~232-1(32位系统中)/ ...