![Packer и Qemu - Qemu зависает во время SIGKILL - требуется перезагрузка](https://rvso.com/image/1592529/Packer%20%D0%B8%20Qemu%20-%20Qemu%20%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B0%D0%B5%D1%82%20%D0%B2%D0%BE%20%D0%B2%D1%80%D0%B5%D0%BC%D1%8F%20SIGKILL%20-%20%D1%82%D1%80%D0%B5%D0%B1%D1%83%D0%B5%D1%82%D1%81%D1%8F%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0.png)
Я пытаюсь собрать образ сервера Ubuntu 19.04 с помощью упаковщика. Он загружается и установка вроде бы проходит нормально, а через час с небольшим Qemu показывает, что установка завершена, и SIGINT
иногда SIGKILL
отправляются и запрашивается перезагрузка, но в конечном итоге упаковщик отключается, потому что Qemu никогда не перезагружает ОС, чтобы упаковщик мог войти по SSH и завершить свою работу. Я попробовал несколько вещей, чтобы заставить Qemu вывести что-то о том, почему он не может перезагрузиться:
-serial stdio
-serial mon:stdio
-serial telnet:127.0.0.1:4444,server,nowait
Все бесполезно. Я не получаю никаких отзывов от Qemu ни о чем. Я также пытался найти хорошие примеры для настройки трассировки и -append console=ttyS0
с ядром. Я нуб в Qemu и Packer, так что простите меня, если я упускаю что-то очевидное. Я много искал, пытаясь найти способы отладки qemu, чтобы выяснить, почему он зависает при перезагрузке.
Сборка Ubuntu 19.04 Desktop:
Упаковщик: 1.4.1
Qemu: 3.1.0 (установка apt)
Среда сборки macOS 10.14.5:
Упаковщик: 1.4.0
Qemu: 4.0.0 (установка brew)
В обеих средах qemu, похоже, зависает на этапе перезагрузки. Я говорю «кажется», потому что, хотя у меня есть -display gtk
рабочий стол Ubuntu и я вижу, где он зависает, на Mac есть ошибка (?), и -display sdl
он сломан, а gtk не работает. Я также пробовал curses на 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, мне удалось получить сборку.