今天遇到了一個很奇怪的問題,首先我的平台有兩個終端介面可以使用,一個是透過VGA輸出到螢幕的終端介面,可供我們對機器下指令。另一個則是透過Serial port(UART),利用Tera Term或是putty等軟體,來對機器下指令
今天遇到的問題是,進入Linux系統之後,VGA那邊的終端介面可以順利的輸入訊息,機器也能順利的給予回饋,而Serial port的部分則是無法輸入任何訊息,看起來就像是無法進到sh一樣(如下圖)。
我也嘗試了一下,從能夠下指令的VGA那方,輸入下面的指令
#echo "ls" | sh > /dev/ttyS1
結果在ttyS1那方還真有一些回饋訊息,看來問題是跟sh有所關係
後來找了一些資料,發現可能的問題出在/etc/inittab
最後的解決方法,是去修改/etc/inittab 這之檔案,在裡面的內容多加一行 ttyS1::respawn:-/bin/sh
重新啟動之後便能夠順利的進入shell 模式底下囉!!!
*註
若是進入到 Linux Kernel 底下,無Serial 訊息,請先確認您的硬體是使用UART1 或 UART2
UART1 就必須指定你的Console參數 ===> Console=ttyS0
UART2 就必須指定你的Console參數 ===> Console=ttyS1
版主您好,最近小弟也碰到這個問題,我使用的是ttyS0,環境是Ubuntu Server 18.04!
回覆刪除試著找了一下,並沒有找到inittab檔,我在網路上做了一些功課得到結論都是inittab檔已經被拿掉了!
如果是這樣的話,要怎麼解決這個問題呢?直接在/etc/下面建立一個inittab可行嗎?
Hi, 我這邊是使用單純的 Linux kernel,可能會與你使用Ubuntu(Linux distribution)不太一樣~
刪除你要不要用下面這篇文章的作法試試~
Reference: https://ubuntuforums.org/showthread.php?t=2343595
1.建立 /lib/systemd/system/ttyS0.service
2.chmod 644 /lib/systemd/system/ttyS0.service
3.sudo systemctl daemon-reload
sudo systemctl enable ttyS0
sudo systemctl start ttyS0
感謝回覆,我再試試!XD
刪除