Packer und Qemu - Qemu hängt während SIGKILL - Neustart angefordert

Packer und Qemu - Qemu hängt während SIGKILL - Neustart angefordert

Ich versuche, mit Packer ein Ubuntu 19.04-Server-Image zu erstellen. Es bootet und die Installation läuft scheinbar einwandfrei, und nach einer Stunde und ein paar Sekunden zeigt Qemu an, dass die Installation abgeschlossen ist und SIGINTmanchmal ein und SIGKILLgesendet wurden und ein Neustart angefordert wurde, aber irgendwann läuft Packer ab, weil Qemu das Betriebssystem nie neu startet, damit Packer per SSH reinkommt und seine Sache zu Ende bringt. Ich habe ein paar Dinge ausprobiert, um Qemu dazu zu bringen, etwas darüber auszugeben, warum der Neustart fehlschlägt:

-serial stdio

-serial mon:stdio

-serial telnet:127.0.0.1:4444,server,nowait

Alles ohne Erfolg. Ich bekomme von Qemu keinerlei Feedback zu irgendetwas. Ich habe auch versucht, gute Beispiele für die Konfiguration der Ablaufverfolgung und -append console=ttyS0mit einem Kernel zu finden. Ich bin ein Qemu- und Packer-Neuling, also verzeihen Sie mir, wenn ich etwas Offensichtliches übersehe. Ich habe viel herumgesucht, um Möglichkeiten zum Debuggen von Qemu zu finden und herauszufinden, warum es beim Neustart hängt.

Ubuntu 19.04 Desktop-Build:

Packer: 1.4.1

Qemu: 3.1.0 (apt-Installation)

Build-Umgebung für macOS 10.14.5:

Packer: 1.4.0

Qemu: 4.0.0 (Brew-Installation)

In beiden Umgebungen scheint QEMU beim Neustart hängen zu bleiben. Ich sage „scheint“, weil ich es zwar -display gtkauf dem Ubuntu-Desktop habe und sehe, wo es hängt, aber -display sdlauf dem Mac gibt es einen Fehler(?) und es ist kaputt, und GTK funktioniert nicht. Ich habe auch Curses auf dem Mac ausprobiert, aber das funktioniert auch nicht. Soweit ich das beurteilen kann, brechen also beide an derselben Stelle ab. Ich kann bei Bedarf meine preseed.cfg bereitstellen.

Hier ist meins 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"
        }
    ]
}

Antwort1

Es sieht so aus, als wäre ichvon einem Race Condition betroffen. Das Erstellen auf Qemu 4 hat das Problem behoben, und nachdem ich meine Konfigurationsdatei auf macOS repariert hatte, konnte ich einen Build erhalten.

verwandte Informationen