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

將LINUX的控制檯定向到串口終端(轉載) 
利用串口終端做爲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信息。 

1、內核信息 
  系統在啓動時顯示的信息老是輸出到主控制檯(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 

2、/etc/rc.d/rc.*啓動腳本信息 
  爲了將這些信息顯示在終端上,能夠將這些文件中含有echo命令的行追加" > TTY "。 TTY 是終端的串口(與/etc/inittab 中串口終端行的同樣)。 

3、 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 重啓動系統。 linux

相關文章
相關標籤/搜索