Linux – Install via Serial Port Console

Loading

RedHat Serial Port Console Install(序列埠)
Terminology
RedHat Linux 在安裝的時候可以使用 comport ,進而透過遠端的機器進行安裝作業系統.下面是我的環境.

  • Machine #1(Platform:Apoen OS:RHEL AS3 QU3), 這一台將會是透過 Windows(Hyper Terminal) or Linux(#minicom -s) serial port 來幫遠端的機器 Machine #2 進行裝
  • Machine #2(Platform:Brandon V OS:RHEL AS3 QU3),這一台機器就是將被安裝的機台,所有的安裝流程都將透過 serial port 由 Machine #1 來安裝作業系統.

Step 1. Attach the Null Modem Cable
首先要使用 null modem(serial port 對 serial port) 將 Machine #1 和 Machine #2 連接在一起 (我將使用 /dev/ttyS0 當範例)

Step 2. Set up the Terminal Program on Machine #1:
首先在 Machine #1 使用 terminal 程式,等待 Machine #2 的訊息由 serial port 傳入.

# For RedHat Linux:

[root@benjr ~]# minicom -s

# For SuSE Linux:

[root@unsvr ~]# screen -S console /dev/ttyS0 115200

# Note:Linux 下還有其他的程式可以使用,如 miterm, kermit.

For Windows:
HyperTerminal 115200, 8, N, 1
Baud Rate,Data bits,Parity,stop bits 可以依據你的需求來設定,這邊我的環境設定為 Baud Rate:115200 ,Data bits:8 , Parity:None ,Stop bits:1

其他如: Putty , Tera-Term 都可以用.

Step 3. Begin the Linux Install on Machine #2:
1.如果你的 BIOS 有支援“Serial Console Features”, 那也就將這一些功能打開,在樣連安裝前都能有畫面可以看,設定的值就配合剛剛 Terminal 環境.
BIOS Redirection Port “Serial A”
Baud Rate “115.2K”
Flow Control “No Flow Control”
並選擇由網路開機(如果你的系統沒有 Floppy,或 CDROM).
seria0l
2.在 PXE 環境中在 boot 鍵入下面這一行.

boot: 21 text console=ttyS0,115200

note:21 是我自己的 PXE 的環境 ,關於 PXE 環境設定請參考 PXE linux – https://benjr.tw/83.
or

boot:  linux text console=ttyS0,115200

note: linux 使用光碟開機時的選項
如果系統有磁碟機或光碟機,你就可以使用磁片或光碟片來開機.一樣在 boot 的選項中加入,console=ttyS0,115200
也可以直接修改開機光碟,磁片檔 syslinux.cfg
Label linux
Kernel vmlinuz
Append initrd:initrd.img text console=ttyS0,115200
這樣開機就不用加上參數
seria02

Step 4. Installing Red Hat Linux on Machine #2:
開始安裝作業系統了,方法同文字模式安裝這邊就不多加說明.
seria03

Step 5:安裝完成後的設定
基本上 RHEL 安裝完成之後這些設定都會幫我們修改,如果你是安裝後要改成透過 serial port console 來啟動系統時才需要修該設定.
1. /boot/grub/grub.conf

[root@benjr ~]# vi /boot/grub/grub.conf
default=0
timeout=10
# splashimage=(hd0,1)/boot/grub/splash.xpm.gz
serial --unit=0 --speed=115200
terminal timeout=10 serial console
title RedHat Enterprise Linux AS (2.4.21-9.ELsmp)
root (hd0, 0)
kernel /vmlinuz-2.4.21-9.ELsmp ro root=LABEL=/ console=ttyS0,115200,vt100
initrd /initrd-2.4.21-9.EL.img

說明:

[root@benjr ~]# vi /boot/grub/grub.conf
default=0
timeout=10

因為文字模式下無法顯示任何圖片,所以要將這一行刪除或者註記(#)

# splashimage=(hd0,1)/boot/grub/splash.xpm.gz

這三個參數和 GRUB 要從哪個 I/O 輸出有關.

 
serial --unit=0 --speed=115200
  • serial 顯示從 Serial (Console) Port 輸出.
  • –unit 決定你的資料要從哪一個 Serial Port (Comport) 出去,unit=0 (/dev/ttyS0), unit=1(/dev/ttyS1)
  • –speed 決定了傳輸速度

下面還有其他的參數可使用

  • –word=8 傳輸字元可以為7或8 bits
  • –parity =no 需要同位元檢查的就選 yes
  • –stop=1 需要停止位元就選 1

GRUB 的開機選單.Kernel 參數有加入 console=ttyS0,115200,vt100 ,會將 kernel 的訊息輸出至 Serial Port (Comport) .

terminal timeout=10 serial console
title RedHat Enterprise Linux AS (2.4.21-9.ELsmp)
root (hd0, 0)
kernel /vmlinuz-2.4.21-9.ELsmp ro root=LABEL=/ console=ttyS0,115200,vt100
initrd /initrd-2.4.21-9.EL.img

2./etc/inittab 系統預設不能使用 comport 來登入系統 ,所以要修改一下 /etc/inittab,

[root@benjr ~]# vi /etc/inittab
# Run gettys in standard runlevels
co:2345:respawn:/sbin/agetty ttyS0 115200 vt100
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

3./etc/securetty 由於 PAM 的限制所以 root 無法使用 comport 登入系統 ,所以還是要修改一下 /etc/securetty:

[root@benjr ~]# vi /etc/securetty
ttyS0

4./etc/sysconfig/kudzu

[root@benjr ~]# vi /etc/sysconfig/kudzu
SAFE=yes

其他參考文件/網址:
/usr/src/linux/Documentation/serial-console.txt
/usr/src/linux/Documentation/kernel-parameters.txt
Remote Serial Console HOWTO – http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Remote-Serial-Console-HOWTO.html

有時候文字模式的安裝很不方便,所以如果你有連接上網路時就可以選擇 vnc 來安裝.

boot: 21 text console=ttyS0,115200 vnc

請自行參考 什麼是 VNC – https://benjr.tw/715, Installation via VNC – https://benjr.tw/1

沒有解決問題,試試搜尋本站其他內容

7 thoughts on “Linux – Install via Serial Port Console

  1. 你好,
    我想請問一下「在 PXE 環境中在 boot」是什麼意思?
    現在的Linux環境中還有這個下command的地方嗎?
    對了,我的系統是UEFI的。

    1. PXE (Preboot eXecution Environment) 是透過網路卡開機的方式來安裝作業系統. ,關於 PXE 環境設定請參考 http://benjr.tw/83.

      如果是從光碟開機的,可以按上下鍵,會出現 GRUB 選單畫面 (Ubuntu 18.04 虛擬機)

  2. 自動引用通知: 安裝 Linux | Benjr.tw
  3. 有時候文字模式的安裝很不方便,所以如果你有連接上網路時就可以選擇 vnc 來安裝.

    boot: 21 text console=ttyS0,115200 vnc
    

    請自行參考 什麼是 VNC – http://benjr.tw/1

  4. 自動引用通知: Installation via VNC | Benjr.tw

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料