Packer 和 Qemu - Qemu 在 SIGKILL 期間掛起 - 請求重新啟動

Packer 和 Qemu - Qemu 在 SIGKILL 期間掛起 - 請求重新啟動

我正在嘗試使用打包程式建立 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 桌面版本:

包裝機:1.4.1

Qemu:3.1.0(易於安裝)

macOS 10.14.5 建置環境:

打包機:1.4.0

Qemu:4.0.0(沖泡安裝)

在這兩種環境中,qemu 似乎都掛在重啟部分。我說似乎是因為雖然我確實-display gtk在 Ubuntu 桌面上查看了它掛在哪裡,但有一個錯誤(?)並且-display sdl在 Mac 上損壞了,並且 gtk 無法工作。我也在Mac上嘗試過curses,但這也不起作用。據我所知,兩者都在同一個地方斷裂。如果需要,我可以提供我的 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 上的設定文件,我就能夠獲得建置。

相關內容