Estoy intentando crear una imagen de servidor Ubuntu 19.04 con Packer. Lo tengo arrancando y ejecutando la instalación aparentemente bien, y después de una hora y cambio, Qemu muestra que la instalación ha finalizado y, SIGINT
a veces, SIGKILL
se envían y se solicita un reinicio, pero finalmente el tiempo de espera del empaquetador se agota porque Qemu nunca reinicia el sistema operativo para permitir packer SSH y terminar lo suyo. Intenté algunas cosas para que Qemu muestre algo sobre por qué no se puede reiniciar:
-serial stdio
-serial mon:stdio
-serial telnet:127.0.0.1:4444,server,nowait
Todo fue en vano. No recibo comentarios de Qemu sobre nada. También intenté encontrar buenos ejemplos para configurar el seguimiento y -append console=ttyS0
con un kernel. Soy un novato de Qemu y Packer, así que perdónenme si me falta algo obvio. He buscado mucho tratando de encontrar formas de depurar qemu para descubrir por qué se bloquea al reiniciar.
Compilación de escritorio Ubuntu 19.04:
Empaquetador: 1.4.1
Qemu: 3.1.0 (instalación apta)
Entorno de compilación macOS 10.14.5:
Empaquetador: 1.4.0
Qemu: 4.0.0 (instalación de cerveza)
En ambos entornos, qemu parece bloquearse en la parte del reinicio. Digo parece, porque aunque tengo -display gtk
en el escritorio de Ubuntu y veo dónde se cuelga, hay un error (?) y -display sdl
está roto en Mac, y gtk no funciona. También probé con curses en Mac, pero tampoco funciona. Lo mejor que puedo decir es que ambos se rompen en el mismo lugar. Puedo proporcionar mi preseed.cfg si es necesario.
Aquí está mi 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"
}
]
}
Respuesta1
parece que estabamordido por una condición de carrera. La construcción de Qemu 4 lo solucionó, y una vez que arreglé mi archivo de configuración en macOS, pude obtener una compilación.