![Packer 및 Qemu - SIGKILL 중에 Qemu가 중단됨 - 재부팅이 요청됨](https://rvso.com/image/1592529/Packer%20%EB%B0%8F%20Qemu%20-%20SIGKILL%20%EC%A4%91%EC%97%90%20Qemu%EA%B0%80%20%EC%A4%91%EB%8B%A8%EB%90%A8%20-%20%EC%9E%AC%EB%B6%80%ED%8C%85%EC%9D%B4%20%EC%9A%94%EC%B2%AD%EB%90%A8.png)
packer를 사용하여 Ubuntu 19.04 서버 이미지를 빌드하려고 합니다. 부팅하고 설치를 실행하는 것이 괜찮아 보이는데 한 시간 후에 Qemu는 설치가 완료되고 SIGINT
때때로 SIGKILL
전송되고 재부팅이 요청되었다고 표시하지만 Qemu가 OS를 재부팅하지 않기 때문에 결국 패커 시간이 초과됩니다. packer SSH를 입력하고 작업을 완료합니다. Qemu가 재부팅에 실패하는 이유에 대한 내용을 출력하도록 몇 가지 시도를 했습니다.
-serial stdio
-serial mon:stdio
-serial telnet:127.0.0.1:4444,server,nowait
모두 소용이 없습니다. 나는 Qemu로부터 어떠한 피드백도 받지 못했습니다. 또한 추적을 구성하고 -append console=ttyS0
커널을 사용하여 좋은 예를 찾으려고 노력했습니다 . 저는 Qemu와 Packer의 신봉자입니다. 만약 제가 뭔가 분명한 것을 놓치고 있다면 용서해주세요. 재부팅 시 Qemu가 중단되는 이유를 파악하기 위해 qemu를 디버깅하는 방법을 찾기 위해 많은 검색을 수행했습니다.
Ubuntu 19.04 데스크탑 빌드:
패커: 1.4.1
Qemu: 3.1.0 (적절한 설치)
macOS 10.14.5 빌드 환경:
패커: 1.4.0
Qemu: 4.0.0 (brew 설치)
두 환경 모두에서 qemu는 재부팅 부분에서 멈추는 것 같습니다. 나는 -display gtk
Ubuntu 데스크탑을 사용하고 그것이 어디에 있는지 확인하는 동안 버그(?)가 있고 -display sdl
Mac에서는 손상되어 gtk가 작동하지 않기 때문에 보인다고 말합니다 . Mac에서도 커스를 시도했지만 그것도 작동하지 않습니다. 그래서 내가 알 수 있는 한, 둘 다 같은 지점에서 깨졌습니다. 필요한 경우 preseed.cfg를 제공할 수 있습니다.
내 내용은 다음과 같습니다 ubuntu.json
.
{
"builders": [
{
"type": "qemu",
"boot_command": [
"<enter><wait2><esc><wait2><enter>",
"<wait>",
"/install/vmlinuz",
" initrd=/install/initrd.gz quiet",
" vga=788",
" auto=true",
" priority=critical",
" reboot=pci",
" url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg",
" --- <enter>"
],
"qemuargs": [
["-display", "gtk"],
["-serial", "stdio"]
],
"boot_wait": "5s",
"disk_size": 20000,
"headless": false,
"http_directory": "http",
"iso_url": "http://cdimage.ubuntu.com/releases/19.04/release/ubuntu-19.04-server-amd64.iso",
"iso_checksum_type": "sha256",
"iso_checksum_url": "http://cdimage.ubuntu.com/releases/19.04/release/SHA256SUMS",
"communicator": "ssh",
"ssh_username": "ubuntu",
"ssh_password": "ubuntu",
"ssh_port": 22,
"ssh_wait_timeout": "120m",
"shutdown_command": "echo 'ubuntu' | sudo shutdown -P now",
"vm_name": "ubuntu-19.04-amd64.qcow2"
}
]
}
답변1
그랬던 것 같은데경쟁 조건에 물린. Qemu 4를 기반으로 빌드하면 문제가 해결되었고 macOS에서 구성 파일을 수정한 후 빌드를 얻을 수 있었습니다.