-
Notifications
You must be signed in to change notification settings - Fork 354
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
Cannot read disk when using ZFS volume #111
Comments
I think that is a Open ZFS issue, not a xhyve one. See openzfsonosx/zfs#116 |
Hmm... don't think so. From what I could understand the issue you linked is related to the devices not being created correctly for the ZVOLs. In my case the devices are created correctly, in fact, if I format a ZVOL with a filesystem that macOS can read I can mount it just fine in the system. However I could verify that I'm facing the same problem if I try to read/write to a USB device as well, so the problem might be with block devices in general, and not only the block device referencing the ZVOL. Does that make sense? |
There is work to be done, apparently, before ZFS volumes will work as backing store |
This is a missing feature in xhyve, not an openzfs issue. It's happening because xhyve does not support block (or char) devices. I'm working on a fix, will open a pull request and link here. |
Actually it looks like this has been addressed but the PR is still open #121 |
https://dan.langille.org/2018/10/02/running-freebsd-on-osx-using-xhyve-a-port-of-bhyve/ I've installed FreeBSD following these instructions but can't ever get it to boot. Should I assume I'm hitting this ZFS issue? The error I hit is always:
Update: Seems to work with UFS, so I think the issue is indeed with ZFS or xhyve's support of ZFs. |
This is probably a FreeBSD/BIOS issue. https://groups.google.com/forum/#!topic/ml-freebsd-questions/3Smj5-m7o24 |
Well, don't think xhyve really has much of a BIOS. I installed the same release (12) on Linode the same afternoon with full ZFS and zero issues booting. Just as another point of data. |
I didn't glean a lot from that until I followed the link at the very bottom and found on the next page someone who fixed it with:
Which really makes no sense unless it's something strange to do with where the file is placed on the media... hence making a copy moves it to a "more reliable" boot location." |
The bootblock or EFI boot code will try to enumerate disks, using UEFI or BIOS routines. Then it will iterate through the disk, reading raw blocks from these, trying to find a bootable zfs pool and filesystem. The installer works from the disks enumerated by kernel probes, so it's possible to install boot files on to a filesystem that the bootblock or UEFI boot code can't see. This might also skip a pool which hasn't been exported because it appears to be in use by another system. The error in this issue suggests the bootblock or UEFI code finished scanning all the disks it could see, but didn't find a bootable pool/filesystem. |
The "boot code" in this case being "userboot", paired with the fbsd "firmware". It "half finds" the zfs pool. I can list files with |
any progress? Same problem on my side |
I got the same issue. Any updates on this? |
There are three levels of zfs in FreeBSD as I understand it.
Are you stuck at 1 (UEFI shell) or 2 (FreeBSD loader?) |
I can replicate this reliably, it's stuck at stage 2.
This used to work very reliably ~ 3+ years ago, using https://hackmd.io/2K1RyRiQQ46aG-rDH3ps2Q The issue is repeatable with gpt,mbr format disks, and uefi or bios startup, all with zfs. I will fiddle with a variety of loader versions to see if we can sneak by this problem. |
I'm using OpenZFS with a pool created inside a USB drive.
When trying to install Ubuntu 16.04 over a ZFS volume it seems that xhyve cannot read the block device. The Ubuntu installer just tells me that no disk was detected. Using an actual (non-sparse) file hosted in the HFS+ partition in the same USB drive (but no ZFS) everything works fine.
When creating a volume and dd'ing a running image onto this volume, then pointing xhyve to the volume the boot hangs at the initramfs prompt and the disk is never detected. When pointing xhyve to the image in the hard drive, the disk is detected as vda and everything works perfectly.
I enabled
pci_vtblk_debug
undersrc/pci_virtio_block.c
and I do get some interesting messages when running on both situations:In situation 2 I get several times the message where 4096 are being read from the disk (sometimes with more bytes read).
Any ideas?
The text was updated successfully, but these errors were encountered: