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

來源:互聯網
上載者:User

利用串口終端作為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
,選擇下面的選項完成的: 
   Echo console messages on /dev/ttyS1 

二、/etc/rc.d/rc.*啟動指令碼資訊 
  為了將這些資訊顯示在終端上,可以將這些檔案中含有echo命令的行追加" > TTY "。 TTY 是終端的串口(與/etc/inittab 中串口終端行的一樣)。 

三、 LILO 配置 
  如果想選擇兩個核心之一啟動,你必須修改LILO 設定檔,/etc/lilo.conf。 配置LILO,使提示資訊出現在終端上,可以參考/usr/doc/lilo/README 檔案 (查看SERIAL選項)。 這裡給出兩步正確設定的步驟: 
  首先,編輯/etc/lilo.conf file ,在BOOT選項行後,插入一個SERIAL選項 。 
serial=SERIAL_LINE,SPEED PARITY BITS 
  這裡: 
  SERIAL_LINE = 0 (串口1) 
          1 (串口2) 
         2 (串口3) 
         3 (串口4) 
  SPEED = 串口速度 
  PARITY = n (=無) 
       o (= 奇數同位) 
       e (= 偶校正) 
  BITS = 資料位元(8 or 7) 
  請注意:在SPEED, PARITY 和BITS參數間沒有空格。這些參數必須與在terminal 設定時的參數一樣。下面是LILO 配置的樣本: 
  serial=1,9600n8 
  這一行表示COM2 ,速率9600bps,無校正位,資料位元8。 
  第二,運行lilo 命令,重新整理系統配置。 
  利用SERIAL 選項, LILO 在啟動預設核心前,設定了2秒的延遲 。在這期間,你可以 在終端上按"SHIFT"鍵發送一個終止訊號,終止boot進程,並取得LILO提示資訊。 
  完成上述配置後,你的終端就可以作為一個控制台了。有一件事不能做的是用CTRL-ALT-DEL 重啟動系統。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.