Linux

命令行上的 QEMU-KVM Linux 虛擬化

  • February 25, 2012

我最近發現qemu-kvm有一個非常有前途的-curses選項,它不會啟動 X 視窗,而是顯示來自客戶機的漂亮 ncurses 輸出,適合從命令行管理 Linux 客戶機(或者,更令人滿意的是,在螢幕會話中,甚至通過ssh)。

所以我嘗試了這個,發現我的 Arch Linux 客戶進入了“圖形模式”,使這個功能變得無用。據我所知,問題在於客戶核心初始化了一個幀緩衝區以允許高於 80x60 的字元解析度(和漂亮的圖形)。所以我一直在尋找一種方法來阻止來賓核心啟動幀緩衝區。我嘗試了各種核心參數 , nomodeset, fb=false, vga=0x0FFvga=ask然後選擇 aVGA而不是VESA模式),但無濟於事:每次都qemu-kvm -curses報告來賓上處於“圖形模式”(在初始啟動菜單之後),我我無法從主機上的命令行終端與來賓互動。

是否有任何簡單的方法可以在不更改核心建構參數的情況下使來賓核心保持與啟動時相同的模式(無幀緩衝區)?如果不是,我應該更改哪些核心建構選項來編譯不支持幀緩衝區的核心?有沒有更好的方法來以純文字模式從主機上的終端獲取 VM 登錄(例如,適合在主機上的螢幕會話中執行)而不訴諸在來賓上執行 sshd?

因此需要禁用的底層模組是fbcon,但是 Arch 的核心不會將其編譯為模組,因此將其列入黑名單。可能仍然可以辨識和禁用fbcon啟動的特定驅動程序,但沒有列出此類驅動程序lsmod,因此qemu-kvm的驅動程序被編譯到 Arch。要禁用fbcon它自己,你必須使用它自己奇怪的引導選項語法:

fbcon=map:99

其中99只是一個任意大的數字,它大於系統上幀緩衝設備的數量(通常為 1-2)。

有關詳細資訊,請參閱fbcon.txt

引用自:https://serverfault.com/questions/361089