-
Notifications
You must be signed in to change notification settings - Fork 522
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VirtualBox: Waiting for root device booting the image standalone #842
Comments
I’ll try to reproduce this today but that all looks right to me. Just to confirm, does partition 4 (HASH-A) have non-zero data? If you’re able to get full kernel logs it might point to a dm-verity setup issue. If you attach a serial console you should be able to get them as text output. |
Actually, I think it might have to do with the virtualized disk device used. Can you let us know what the hardware configuration for the VM you’re using is? Bottlerocket doesn’t have an initramfs, so any drivers needed to mount the root filesystem must be configured as |
Attached the full boot log. This try is using IDE type PIIX4 (but I tried with all the options virtualbox supports IDE/SATA/virtio-scsi)
|
It looks like we may want to add this to
If you like you can add that, do a build, and let us know how it goes. |
I added the ATA settings and now the disk is identified as ATA (before it was the IDE legacy) but unfortunately the dm still doesn't find it.
|
Fwiw, I was getting a similar error to the above with qemu. Newer qemu versions support nvme disks directly, and this boots ok! (Optional, since I didn't have a sufficiently new qemu installable easily)
Then:
Edit: Oh duh, bottlerocket supports virtio out of the box, so that's even easier. No need for the newer version of qemu (works with 2.11.1), just use:
|
I had to assign a net with |
There's 2 issues identified, so far, with getting VirtualBox to boot a Bottlerocket image. The first issue can be immediately resolved (via kernel config), while the other requires further investigation (regarding Kernel IO errors + VirtualBox The first issue is that the "modern" (1 2) virtio controller and driver - To address the first issue,
This configuration does move the boot process further along (there's a harmless message logged regarding a failed attempt to configure LRO on a Trimmed console log
Around this time, an error is reported in the vm's Trimmed
When using the errors in search keywords, one will find forum posts asking how much disk space you have available, among other troubleshooting & debugging questions. I have enough disk space, so this isn't the issue. Another suggested line of troubleshooting from the VBox forums is to use another disk container type - preferably a fixed disk that's native to VirtualBox. For the above repro, I'm using |
@foersleo would you be able to take a look and see if this is something we could address (or maybe already did)? |
I grabbed the metal-k8s-1.24-x86_64-v1.11.1 image from the repo and was able to get it to boot with VirtualBox on an Ubuntu machine as the host. It moves past the waiting on version = 2
[enp0s3]
dhcp4 = true This got the networking going for the default NIC from VirtualBox. |
@yeazelm thanks for reporting back. Curious as to the full setup you used as I'm trying to get this working on macOS. My setup is as follows: Any ideas of what I may need to adjust? Thanks! 🙇 |
Got it working on macOS and then spent some time trying to automate for the benefit of others 🎉 ! https://gist.github.com/btiernay/5e4d62b126f28962cd008094e867e9a2 If this is useful, happy to create some project documentation around it. |
I compiled the code and generated the img successfully as per the BUILDING instructions.
Image I'm using:
build/bottlerocket-aws-k8s-1.15-x86_64-0.3.1-00000000.img
commit 24ed37c
What I expected to happen:
Image to boot correctly and mount the root filesystem.
What actually happened:
The image seems to boot up correctly but then keeps waiting for: "Waiting for root device /dev/dm-0"
The root filesystem seems to be in the image as well:
(Using virtualBox for now)
Is there something else to do to be able to boot the image outside of AWS?
The text was updated successfully, but these errors were encountered: