將LINUX的控制台定向到串列埠終端

2021-04-15 16:10:53 字數 1827 閱讀 6616

利用串列埠終端作為linux控制台,可以免去額外的鍵盤,顯示卡和顯示器,同時可將linux主機作為乙個任意用途的嵌入式黑匣。 將串列埠終端連線到計算機的串列埠上並不困難,可以參考linux的howto文件和以及inittab和agetty的幫助資訊。這裡扼要地說一下。

首先,準備好一根null modem 電纜.

其次,在檔案/etc/inittab 增加下面一行。[注:如果你不採用 agetty程式,採用其他的程式如like getty_ps ,應用正確的命令語法]

id:runlevels:respawn:/sbin/agetty -l speed tty term

這裡: id =兩字母的識別符號,如s1或s2。

runlevels = 終端啟用的執行級別

speed = 串列埠埠速率

tty = 串列埠的裝置名

term = term環境變數

範例如下:

s2:12345:respawn:/sbin/agetty -l 9600 ttys1 vt100

表示串列埠 /dev/ttys1 (com2 )速率為 9600 bps,終端模式為vt100。

最後,重新啟動機器。

如正確地按照上述三步進行,則就可以在終端螢幕上出現login: 的提示符。你可以登入進系統,並能象在實際的控制台上或從遠端telnet登入一樣進行工作。

下面簡單介紹一下如何終端設定成控制台,主要涉及核心資訊、啟動指令碼資訊和lilo資訊。 中國網管聯盟

一、核心資訊

系統在啟動時顯示的資訊總是輸出到主控制台(tty1)。開啟機器後,你只有等待login: 出現在終端螢幕上,這意味著所有啟動資訊都無法獲悉。你只有登入後用dmesg命令檢視,但通常是想在login shell起來前看到這些資訊。

還有其他資訊出現在控制台上:/etc/rc.d目錄下指令碼命令執行時,啟動和終止機器時執行的指令碼命令等輸出的資訊。如果資訊沒有出現在螢幕上,怎樣真正地知道"系統已終止"呢?

你必須修改原始碼/usr/src/linux/drivers/char/console.c[必須已安裝了核心原始碼],這不是乙個複雜得核心修改,按照下面三步進行:

首先,在程式前定義config_serial_echo

#define config_serial_echo

其次,修改串列埠位址 (僅當你使用得埠不同於預設定義的才有必要修改)。

#define serial_echo_port 0x3f8 /* com1 */

或者:

#define serial_echo_port 0x2f8 /* com2 */

第三,重新編譯核心[請參考相應的手冊],啟動機器。在系統檢測硬體裝置時,你應該在終端螢幕上看到資訊。

請注意 :console.c 補丁除了alpha平台外,對所有的linux 埠都是必要的。在alpha平台上它是在執行make config ,選擇下面的選項完成的:

www_bitscn_com

echo console messages on /dev/ttys1

二、/etc/rc.d/rc.*啟動指令碼資訊

為了將這些資訊顯示在終端上,可以將這些檔案中含有echo命令的行追加" > tty "。 tty 是終端的串列埠(與/etc/inittab 中串列埠終端行的一樣)。

三、 lilo 配置

第二,執行lilo 命令,重新整理系統配置。

利用serial 選項, lilo 在啟動預設核心前,設定了2秒的延遲 。在這期間,你可以 在終端上按"shift"鍵傳送乙個終止訊號,終止boot程序,並取得lilo提示資訊。

完成上述配置後,你的終端就可以作為乙個控制台了。有一件事不能做的是用ctrl-alt-del 重啟動系統。

將LINUX的控制台定向到串列埠終端

利用串列埠終端作為linux控制台,可以免去額外的鍵盤,顯示卡和顯示器,同時可將linux主機作為乙個任意用途的嵌入式黑匣。將串列埠終端連線到計算機的串列埠上並不困難,可以參考linux的howto文件和以及inittab和agetty的幫助資訊。這裡扼要地說一下。首先,準備好一根null mode...

Linux的serial串列埠控制台

本人大多數情況都是在除錯伺服器大量的linux伺服器,很多情況下也不沒有必要專門準備kvm keyboard,video,mouse 甚至有些機器根本就沒有顯示器介面。如何除錯的?閒來無事,分享一下。有些人說 給我個linux視窗 是想要乙個 另外一些人說 給我個linux視窗 就是說他打算挖煤了 ...

控制台輸出重定向到Memo

函式runcmd void fastcall tform1 runcmd ansistring cmdline,tstrings result else createpipe hreadpipe,hwritepipe,null,1024 screen cursor crhourglass try d...