Open kbarmen opened 6 years ago
I'm sorry, but I see no change when trying with xhyve built from HEAD (2b093fa4450c050d00027bb1601c0e7ad2f44955). Newer kernels still do not boot.
Same here.
Sorry, I saw the title and assumed it was the same issue that Peter fixed. I should've checked more closely. Indeed this is different.
Try removing "acpi=off" from your kernel parameters.
In #161 this was shown to be the issue when running kernel 4.18.0-10 on Ubuntu 18.10
Nope, that doesn't help at all. "acpi=off" is always present in the command line for ubuntu xhyve runs. The problem is far away from acpi bios emulation in kernels >4.4.0 and xhyve. Problem presented here is memory corruption and kernel crash during boot process and problem referenced in #161 is hang task after kernel boot is already long complete somewhere during OS startup. Completely different issues.
@Owersun You may want to take another look, I don’t think your analysis is correct.
The detailed crash log linked earlier in this issue is very similar to the crash log in the other issue which is not after the kernel has booted - there are some timeouts when the kernel tries to access virtio_blk for the root device.
I have not had a chance to delve into the Linux kernel changes between the two Ubuntu versions, and I don’t know the source of the recommendation to use “acpi=off” with Ubuntu on xhyve, but removing it does allow Ubuntu 18.10 to boot on xhyve. Thankfully this issue is very easy to reproduce and test.
I took several looks and also tested it. The linked issue has lines:
"Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ..."
which are part of initrd script.
Kernel of ubuntu 16.04 and 16.10 with xhyve are not able to mount initrd properly due to bug that issue #132 mostly is filed for, and this one partly. There is a line during boot "[ 0.410681] Initramfs unpacking failed: junk in compressed archive". Unability to mount initrd causes the kernel to fail loading virtio_blk driver that is in initrd in ubuntu 16.04 and 16.10. So this all becomes chicken-egg problem, the system cannot find a drive to boot and fails, and if you give it initrd where driver is, it fails to load it properly due to memory corruption and fails. I do have "acpi=off" as I've already said. I have no idea why #132 was closed and this one not. Maybe this was changed (driver included in the kernel) to everyones happyness in 18.04, but I, for example, need ubuntu 16.04 to compile Amlogic buildroots, that is based on 16.04.
I also seems to be hitting the same issue trying to boot a RHEL8 ISO
Starting with Linux kernel 4.15, it no longer boots on xhyve, last working kernel I have is 4.14.19.
and here it hangs for a very long while (120 seconds, I guess), and then I get
and this will be repeated every 120 seconds ad infinity.
Full kernel boot log, debug on, can be seen here: https://paste.pound-python.org/show/q48VFrpw38inIIA1VIca/
I am not sure how to approach this problem, whether it is linux or xhyve that is the culprit, but I would certainly enjoy some input on how to move on with this. Would be nice if someone could confirm.
Oh, and this is xhyve: 0.2.0 from homebrew.