07
23

QEMU之奇怪體驗-Serial輸出篇

經過上次jserv網友提醒後,小弟就趁今天空檔動手下去看看能不能解決之前奇怪的問題,結果發現還是不能即時把printk的訊息秀在console上,底下是我做實驗的步驟

QEMU-Console設定


在QEMU on-line文件中有提到,模擬serial只需要設定選項-serial即可,而在它的說明中有很重要的一段我截錄如下
This option can be used several times to simulate up to 4 serials ports.”
這句話的意思是說,-serial這個選項最多可模擬到4個serial port,所以如果linux kernel只支援到2個serial port,那serial選項可以依照下面方法設定
範例1
-serial stdio (這是第一個serial輸出的地方,對應本機stdio)–serial /dev/ttyS0(這是第二個serial輸出的地方, 對應本機/dev/ttyS0)
範例2
-serial “pty” (這是第一個serial輸出的地方,對應本機/dev/pts/xxx) –serial /dev/ttyS1(這是第二個serial輸出的地方, 對應本機/dev/ttyS1)

所以從上面的設定可以知道,你有幾個serial,就可以設定幾個-serial選項

kernel command line設定

而除了這樣的設定外,也必需在kernel command line中設定"console=xxxx",舉例來說,如果你的第一個serial device名稱為ttyS0(這需要在driver source或開機資訊中確定),那就設定kernel command line為"console=/dev/ttyS0",設定完成後,試著跑跑看,你會發現qemu吐出如下的訊息(我用-serial “pty”當做我第一個seiral driver 輸出的地方)

這時你可以用screen指令開啟qemu隨機指定的終端輸出介面 (screen /dev/pts/xxx),就可以看到kernel吐出的訊息

可是雖然這樣設定了,還是沒有解決到我之前講的問題,可能要再找時間試試看kgdb,底下是我設定的範例

#!/bin/bash
qemu -s -S -kernel bzImage -hda initrd.img -m 128 -no-acpi -nographic -serial "pty" -append "root=/dev/hda console=ttyS0"

標籤: linux
評論: 1 | 引用: 0 | 閱讀: 3735
  • 1 
Walker [ 2020-09-08 01:01 網址 | 回覆 | 編輯 刪除 ]
https://www.nflfootballjerseyscheap.us/cheap-authentic-nfl-jerseys_14645.html
https://www.nflfanshop.us.org/ravens-hoodie_1601.html
https://www.nflfootballjerseyscheap.us.com/cheap-kobe-bryant-jersey_2365.html
https://www.airmax720.us.org/air-max-2019-black_25545.html
https://www.nflshoponline.ca/tennessee-titans_13909.html
https://www.nikeoffwhite.us.org/off-white-vapormax-black_23398.html
https://www.nikeairforceones.us.org/air-force-shoes_13640.html
https://www.nikeoutletstoreonlines.us.org/nike-tailwind-8_29198.html
https://www.jordan1.us.org/jordan-4-release-date-2019_32229.html
https://www.canadashoesoutlet.ca/nike-air-max-2018-2019_33367.html
https://www.nikeshoescheap.us.org/nike-shoes-online_26078.html
https://www.officia
  • 1 
發表評論
暱 稱: 密 碼:
網 址: E - mail:
驗證碼: 驗證碼圖片 選 項:
頭 像:
內 容: