日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 控制终端卡,配置通过串口控制linux操作系统的终端

發布時間:2024/7/23 linux 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 控制终端卡,配置通过串口控制linux操作系统的终端 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

開始之前,請確認機器有串口(com口, RS232接口),如果沒有,那就沒有辦法達到通過串口控制機器的目的了。當然,也可以額外給機器安裝一個帶串口的 PCI 模塊,然后想辦法將模塊驅動起來(內核默認能驅動就最好了),這樣機器就有可用的串口了。

串口終端特別適合用在不方便接顯示器和鍵盤鼠標的 linux 機器上,特別是用在用作

交換機、路由器等用途的 linux 系統上。配置好串口終端后,可以拆掉系統的顯示卡,用RS232 線纜連接受控機器(配置好串口終端的 Linux 機器)和控制機器,然后在控制機器上通過超級終端、minicom 等就可以操作受控機器了。

下面的步驟講述如何配置一臺串口終端控制的 Linux 機器,即受控機器。

1、首先找到計算機的串口命名

執行命令:

dmesg | grep tty

將得到類似以下的輸出

serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS0 便是串口命名,如果有多個串口,還會有 ttyS1 等等

2、檢查是使用 agetty 還是 getty 命令

有的系統沒有 getty 命令, 那初始化虛擬終端時就要使用 agetty 命令,

最好使用絕對路徑 /sbin/getty 或者 /sbin/agetty

3、配置 grub ,讓啟動信息也輸出到串口。如果啟動信息不需要輸出到串口,

則忽略這一步

打開 /boot/grub/grub.conf (也可能是其他路徑) 找到以下面字符開始的一行

kernel /vmlinuz-*** ro root=LABEL=/

修改成以下形式

kernel /vmlinuz-*** ro root=LABEL=/ console=ttyS0,115200 console=tty0

即添加了相關參數

console=ttyS0,115200n8 console=tty0

ttyS0 是串口命名,115200 是波特率,無校驗,數據位 8 ;同時指定啟動信息也要

輸出到第一個終端 tty0

4、配置 init, 讓其初始化串口終端。這里分兩種情況: 老版本的 init 和 upstart

4.1、老版本的 init (sysvinit)

打開 /etc/inittab , 如果出現以下內容,則可以確認是老版本的 init,否則

請看 4.2

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

添加一行初始化串口的內容即可,添加后如下:

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

co:2345:respawn:/sbin/agetty ttyS0 115200 vt102

注意如果系統沒有 /sbin/agetty, 則要改成 /sbin/getty 或其它。vt102 是

常用的 Linux 虛擬終端

4.2、新的 upstart。ubuntu 使用 upstart 替代了 sysvinit,并且其他的發行版也有

采用 upstart 的(fedora 9 和之后的版本)

打開 /etc/inittab, 如果沒有出現 4.1 中的內容,則說明系統使用的是 upstart

進入 /etc/event.d/ 目錄, 創建文件 /etc/event.d/ttyS0 , 并加入以下內容:

######################################################################

# ttyS0 - getty

#

# This service maintains a getty on ttyS0 from the point the system is

# started until it is shut down again.

start on runlevel 2

start on runlevel 3

start on runlevel 4

start on runlevel 5

stop on runlevel 0

stop on runlevel 1

stop on runlevel 6

respawn

exec /sbin/agetty -L 115200 ttyS0 vt102

######################################################################

保存退出即可

5、賦予串口終端 root 登錄權限

在文件 /etc/securetty 末尾加入如下一行(注意行前面沒有空格)

ttyS0

加入上面一行后, root 將可以直接通過串口終端登錄系統,否則只有普通用戶可以

通過串口終端登錄系統

6、注意

串口命名(ttyS0 ttyS1 等)一定要和系統識別的一致,不能想當然亂編。

確認系統有 /sbin/agetty, /sbin/getty 或其他初始化終端的命令,有哪個就用哪個。

終端波特率設置都要一致,用 115200 則全部都要用 115200. 據我的經驗,9600有一

次就是不行,原因未知。可用的波特率如下

300/600/1200/2400/4800/9600/19200/38400/57600/115200/230400 等等

如果確認配置沒錯, 但就是無法工作, 可以換不同的波特率嘗試一下 :)

7、配置好后,重啟系統,用其他 windows 機器的超級終端或者 linux 機器的 minicom 連接即可。

記得設置好波特率,無校驗,數據位 8

連接時兩端都用 RS232 線纜(console 線,購買交換機、路由器都會隨機帶的那種線纜)即可。8、關于 grub

通過步驟 3 配置的 grub, 只能讓部分啟動信息輸出到串口終端,包括 grub 菜單接口在

內的另外一部分信息都無法輸出到串口終端。要讓 grub 完整的支持串口終端,需要重新編譯

grub, 相關內容請參照完整的 grub 文檔:

總結

以上是生活随笔為你收集整理的linux 控制终端卡,配置通过串口控制linux操作系统的终端的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。