Qemu 구성 파일 오류 "매개변수 호스트가 잘못되었습니다"

Qemu 구성 파일 오류 "매개변수 호스트가 잘못되었습니다"

저는 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"

질문에 제안된 구성에 몇 가지 오류가 있습니다.

  1. 공간이 중요하다

기호 앞과 뒤에 공백을 삽입해야 합니다 "=".

   [nic]
   type = "user" #correct

   [nic]
   type="user" #wrong
  1. 구성 적용 그룹의 올바른 이름을 찾으세요.

구성 그룹 이름이 잘못된 경우 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"

관련 정보