From 5426ae55af588d299770dd56e683e6957fd412b9 Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Sat, 6 Jul 2019 11:13:03 +0100 Subject: [PATCH] cmd/qemu: Disable rng on macOS With rng-random, booting hangs before switching to the initrd. fixes https://github.com/linuxkit/linuxkit/issues/3320 Signed-off-by: Rolf Neugebauer --- src/cmd/linuxkit/run_qemu.go | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/cmd/linuxkit/run_qemu.go b/src/cmd/linuxkit/run_qemu.go index 1a6b93524..aecbeca43 100644 --- a/src/cmd/linuxkit/run_qemu.go +++ b/src/cmd/linuxkit/run_qemu.go @@ -574,15 +574,20 @@ func buildQemuCmdline(config QemuConfig) (QemuConfig, []string) { } } - rng := "rng-random,id=rng0" - if runtime.GOOS == "linux" { - rng = rng + ",filename=/dev/urandom" - } - if config.Arch == "s390x" { - qemuArgs = append(qemuArgs, "-object", rng, "-device", "virtio-rng-ccw,rng=rng0") - } else { - qemuArgs = append(qemuArgs, "-object", rng, "-device", "virtio-rng-pci,rng=rng0") + // rng-random does not work on macOS + // Temporarily disable it until fixed upstream. + if runtime.GOOS != "darwin" { + rng := "rng-random,id=rng0" + if runtime.GOOS == "linux" { + rng = rng + ",filename=/dev/urandom" + } + if config.Arch == "s390x" { + qemuArgs = append(qemuArgs, "-object", rng, "-device", "virtio-rng-ccw,rng=rng0") + } else { + qemuArgs = append(qemuArgs, "-object", rng, "-device", "virtio-rng-pci,rng=rng0") + } } + var lastDisk int for i, d := range config.Disks { index := i