私はQEMUに初めてアクセスし、現在QEMU設定ファイルを調べて、その仕組みを理解しています。簡単なQEMUコマンドラインのすべてのオプションを入れてみました。
sudo qemu-system-x86_64 -cpu host -enable-kvm -m 8192 -nic user,host=192.168.0.2,net=192.168.0.2 -nic bridge,br=virbr0 ubuntu.img
構成ファイルではqemu.cfg
次のようになります。
[nic "user"]
host=192.168.0.2
net=192.168.0.2
[nic "bridge"]
br=virbr0
cpu = host
enable-kvm
m = 8192
ubuntu.img
指定されたファイルを使用してQEMUを実行すると、readconfig
次のエラーが発生します。
$ sudo qemu-system-x86_64 -readconfig qemu.cfg
qemu-system-x86_64:qemu.cfg:1: Invalid parameter 'host=192.168.0.2'
設定ファイルを変更するには?
答え1
数時間インターネット検索を行った後も、設定ファイルの構文に関する包括的なドキュメントが見つかりませんでした。そのため、ソースコードを見てみると、生成された設定ファイルは次のようになります。
[nic]
type = "user"
host = "192.168.0.2"
net = "192.168.0.2"
[nic]
type = "bridge"
br = "virbr0"
[memory]
size = "8192"
質問で提案された構成にはいくつかのエラーがあります。
- スペースが重要です
記号の前後にスペースを挿入する必要があります"="
。
[nic]
type = "user" #correct
[nic]
type="user" #wrong
- 構成適用グループの正しい名前を見つけます。
構成グループ名が正しくない場合、qemu は次の形式のエラー・メッセージを出力します。
There is no option group
中で見つけやすいと思います。qemu ソースコード。その後、次に追加されたすべての構成グループを見つけます。
static QemuOptsList *vm_config_groups[48];
機能void qemu_add_opts(QemuOptsList *list)
これに責任を負います。グループパラメータはnic
以下にあります。宣言:
QemuOptsList qemu_nic_opts = {
.name = "nic",
.implied_opt_name = "type",
.head = QTAILQ_HEAD_INITIALIZER(qemu_nic_opts.head),
.desc = {
/*
* no elements => accept any params
* validation will happen later
*/
{ /* end of list */ }
},
};
これは私の答えに指定した構文を意味します。
答えのない質問:
-cpu host -enable-kvm ubuntu.img
このような設定ファイルで残りのオプションを指定する方法があるかどうかわかりません。有効なグループを見ても、有用な結果は出ませんでした。
UPD:
-enable-kvm
構成を通して明らかになった。accel
オプショングループは次のとおりです。
[accel]
accel = "kvm"