一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

將LINUX的控制臺(tái)定向到串口終端

 cupid 2015-08-18

目的: 臺(tái)機(jī)已經(jīng)裝好Linux,顯示器有問題,平時(shí)一般都SSH控制,當(dāng)Linux網(wǎng)絡(luò)掛的時(shí)候,想通過串口來管理。


硬件:臺(tái)機(jī)自帶兩個(gè)串口(上面的是COM1)[under Windows] or ttyS0[under Linux)),筆記本T61p沒有串口,買了個(gè)USB轉(zhuǎn)串口(具體見下圖)。同時(shí)需要串口交叉線一根(NULL modem Cable),母對(duì)母(公的是針),都是凹口那種。


目標(biāo)機(jī)器:安裝的CentOS 5.2 Linux 內(nèi)核2.6.18-92.1.22.el52.6.18-92.1.22.el5xen

客戶端: Windows XP SP3 IBM OEM. 安裝USB轉(zhuǎn)串口驅(qū)動(dòng)。


需要把輸出定向到串口,一般有下面幾處:

  1. BIOS中的設(shè)置

  2. GRUB設(shè)置

  3. /etc/inittab 設(shè)置

  4. /etc/securetty 設(shè)置


BIOS中的設(shè)置


BIOS設(shè)置的作用我沒嘗試過,如果是可以連BIOS設(shè)置都可以定向到串口,那個(gè)強(qiáng)大了。也不知道如何去掉機(jī)器需要連鍵盤的限制。沒拿出顯示器所以沒看我臺(tái)機(jī)的BIOS,不過這個(gè)功能一般只有服務(wù)器級(jí)別的機(jī)器有?!咀?/font>1】臺(tái)機(jī)一般沒有串口重定向功能。


GRUB設(shè)置

這里的配置是為了把grub菜單定向到串口,這樣你就可以在串口操作grub,選擇啟動(dòng)項(xiàng),使用single mode等等。

同時(shí)也要給kernel參數(shù)加上console選項(xiàng)。


[root@CentOS5 ~]# cat /boot/grub/menu.lst

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You have a /boot partition. This means that

# all kernel and initrd paths are relative to /boot/, eg.

# root (hd0,0)

# kernel /vmlinuz-version ro root=/dev/vg00/lv_root

# initrd /initrd-version.img

#boot=/dev/hdb1

serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1

terminal --timeout=10 serial console

default=2

timeout=20

#splashimage=(hd0,0)/grub/splash.xpm.gz =>這些在console下會(huì)工作不正常,注釋掉。

#hiddenmenu

title CentOS (2.6.18-92.1.22.el5)

root (hd0,0)

kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root rhgb quiet

initrd /initrd-2.6.18-92.1.22.el5.img

title CentOS Serial[ttyS0] - Console (2.6.18-92.1.22.el5)

root (hd0,0)

kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root console=ttyS0,9600 console=tty0

initrd /initrd-2.6.18-92.1.22.el5.img

title CentOS Console - serial[ttyS0] (2.6.18-92.1.22.el5) [get more output in serial console]

root (hd0,0)

kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root console=tty0 console=ttyS0,9600

initrd /initrd-2.6.18-92.1.22.el5.img

title CentOS Xen (2.6.18-92.1.22.el5xen)

root (hd0,0)

kernel /xen.gz-2.6.18-92.1.22.el5

module /vmlinuz-2.6.18-92.1.22.el5xen ro root=/dev/vg00/lv_root rhgb quiet xencons=off

module /initrd-2.6.18-92.1.22.el5xen.img

title CentOS Xen Serial[ttyS0] - Console (2.6.18-92.1.22.el5xen)

root (hd0,0)

kernel /xen.gz-2.6.18-92.1.22.el5

module /vmlinuz-2.6.18-92.1.22.el5xen ro root=/dev/vg00/lv_root xencons=off console=ttyS0,9600 console=tty0

module /initrd-2.6.18-92.1.22.el5xen.img

title CentOS Xen Console - serial[ttyS0] (2.6.18-92.1.22.el5xen)

root (hd0,0)

kernel /xen.gz-2.6.18-92.1.22.el5

module /vmlinuz-2.6.18-92.1.22.el5xen ro root=/dev/vg00/lv_root xencons=off console=tty0 console=ttyS0,9600

module /initrd-2.6.18-92.1.22.el5xen.img

title Other

rootnoverify (hd0,0)

chainloader +1


后面的console有順序關(guān)系,詳見下文【注2】,我常用串口所以console=tty0 console=ttyS0,9600這個(gè)順序的輸出信息比較多。


因?yàn)槲业臋C(jī)器有xen的內(nèi)核,xen默認(rèn)情況下會(huì)把串口做為xencons,所以這里設(shè)置xencons=off.

When multiple consoles are listed output is sent to all consoles and input is taken from the last listed console. The last console is the one Linux uses as the /dev/console device.

/etc/inittab 設(shè)置

系統(tǒng)系統(tǒng)后,需要在串口上監(jiān)聽請(qǐng)求,所以要有個(gè)類似服務(wù)器的程序(agetty, mgetty etc)。

/etc/inittab中添加

s0:2345:respawn:/sbin/agetty -L -f /etc/issue.serial 9600 ttyS0 vt100

#s1:2345:respawn:/sbin/agetty -L -f /etc/issue.serial 9600 ttyS1 vt100

#S0:2345:respawn:/sbin/mgetty -r -x 9 ttyS0 ==> mgetty 用來調(diào)試比較好,log也豐富。

What is a getty?

A getty is is a program that opens a tty port, prompts for a login name, and runs the /bin/login command. It is normally invoked by init.

所以其他程序就不能再來占用ttyS0了,串口是獨(dú)占模式的吧。


vt100:

vt100 is the terminal emulation. You can use others, but VT100 is the most common or "standard". Another widely used termial type is VT102.

OK都可以了,可以重啟server了。這里如果想測(cè)試下串口線,推薦先在Linux啟動(dòng)下mgetty,因?yàn)樗?/font>debug信息和log比較豐富,適合排錯(cuò)和測(cè)試。

#mgetty –r –x 9 ttyS0

Log/var/log/mgetty*中。


/etc/securetty設(shè)置

因?yàn)橐话阄覀兌际鞘褂?/font>root登陸串口來維護(hù),所以需要設(shè)置root可以在COM1COM2登陸。

/etc/securetty中添加:

ttyS0

ttyS1


Windows客戶端連接可以用超級(jí)終端或者Putty。


注意啟動(dòng)server的時(shí)候,putty就應(yīng)該去連接串口了,這樣才可以看到所有信息。

Press any key to continue.

Grub menu

Booting.


本來正常情況下,接下去kernelboot信息應(yīng)該也會(huì)打到串口的。但是沒有,確定是Xen內(nèi)核的關(guān)系?!咀?/font>3】好像有人已經(jīng)碰到這個(gè)問題了。

系統(tǒng)啟動(dòng)起來后,過了initagetty就起來了,這個(gè)時(shí)候就可以通過串口登陸了。(/etc/securetty中需要添加ttyS0)



后記:

在做這次實(shí)驗(yàn)的時(shí)候開始心里很沒底,因?yàn)榇趶膩頉]搞過。雖然編程時(shí)涉及過串口編程,但到我這邊已經(jīng)只是網(wǎng)絡(luò)編程了。買了一個(gè)USB轉(zhuǎn)串口接口,兩個(gè)串口交叉線。我想要NULL modem線,店主不知道(額…), 開始不工作時(shí)一度懷疑線有問題。


還有就是開始不理解串口工作原理,我知道串口是字符設(shè)備,有啥數(shù)據(jù)得當(dāng)時(shí)就去讀。曾經(jīng)我連了串口并開了Putty去連,界面上沒輸出。1)因?yàn)楫?dāng)時(shí)就是沒數(shù)據(jù)。 2)是有時(shí)候終端需要按鍵來激活(比如按幾下回車)


還有就是可能終端設(shè)置問題。這塊我現(xiàn)在還不太清楚。因?yàn)榻K端設(shè)置涉及到有些鍵盤操作,比如刪除。我好幾次發(fā)現(xiàn)?Backspace鍵沒反應(yīng)而重啟過好幾次機(jī)器。后來發(fā)現(xiàn)我的終端設(shè)置需要先<= = 左箭頭左移然后 delete



我的主板說明書上接口圖:

【注1:

http://www./docs/ldp/howto/Remote-Serial-Console-HOWTO/rhl-biosserial.html

C.2. Configure the BIOS to use the serial port

Many servers allow the BIOS to be configured from the serial port, especially on systems designed for rack mounting. At the moment few machines designed to be used as desktop systems allow the BIOS to be accessed from the serial port.

【注2:

http:///HOWTO/Remote-Serial-Console-HOWTO/configure-kernel.html

Chapter 5. Configure Linux kernel

The Linux kernel is configured to select the console by passing it the console parameter. The console parameter can be given repeatedly, but the parameter can only be given once for each console technology. So console=tty0 console=lp0 console=ttyS0 is acceptable but console=ttyS0 console=ttyS1 will not work.

When multiple consoles are listed output is sent to all consoles and input is taken from the last listed console. The last console is the one Linux uses as the /dev/console device.

【注3:

https://vb./showthread.php?t=129174

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    日本视频在线观看不卡| 成人国产激情福利久久| 麻豆一区二区三区在线免费| 国产欧美日产久久婷婷| 国产亚洲精品久久久优势| 国产精品免费不卡视频| 欧美一区二区三区十区| 少妇视频一区二区三区| 中文字幕中文字幕在线十八区| 91超精品碰国产在线观看| 欧美日韩最近中国黄片| 日韩欧美黄色一级视频| 人人爽夜夜爽夜夜爽精品视频| 草草草草在线观看视频| 沐浴偷拍一区二区视频| 国产一区二区三区草莓av| 欧美一区二区三区五月婷婷| 欧美日韩在线观看自拍| 亚洲a码一区二区三区| 欧美日韩精品一区二区三区不卡 | 日韩欧美一区二区不卡看片| 国产精品亚洲综合天堂夜夜| 欧美精品久久一二三区| 日韩日韩日韩日韩在线| 好吊日在线视频免费观看| 国产中文字幕一二三区| 亚洲欧洲日韩综合二区| 女人高潮被爽到呻吟在线观看| 日本黄色高清视频久久| 中文字幕亚洲精品乱码加勒比 | 人妻乱近亲奸中文字幕| 久久国产精品熟女一区二区三区| 丰满熟女少妇一区二区三区| 高潮少妇高潮久久精品99| 欧美日韩综合免费视频| 日本东京热视频一区二区三区| 国产一级内片内射免费看| 久草国产精品一区二区| 日韩丝袜诱惑一区二区| 国产一区欧美一区日本道| 熟女高潮一区二区三区|