Harry Schmalzbauer
2016-Oct-27 18:05 UTC
Unexpected ahci-hd bytes when running in bhyve(8)
Hello,
I wanted to use a "roaming" ssd with byhve/vmm, which is the home of a
GPT based FreeBSD setup.
I've been using this for years with ESXi and bare-metal-hosts, and
wanted to try out bhyve.
Unfortunately this doesn't work the way I'm used to.
Booting of ufs:/dev/gpt/myROOT fails with error 19, loader does only see
a diskid/BHYVEDISK, not the GPT partitions.
I guess ahci-hd isn't 1:1 mapping blocks, neither does virtio-blk, since
it shows exactly the same result, which is a bit strange to me:
When I boot a Live-CD in vmm with the physical SSD ahci-hd attached, the
first 8kByte of /dev/ada0 is 0x0.
The same test on the host ('dd if=/dev/ada4 count=16 | hd') shows me
PMBR and GPT content, which I also expected to see in bhyve?
What am I missing?
Here's my switches:
bhyve -u -A -H -P \
-S \
-s 0,hostbridge \
-s 6,passthru,6/0/0 \
-s 31,lpc \
-s 1,ahci-cd,releases/ISO-IMAGES/11.0/FreeBSD-11.0-RELEASE-amd64-disc1.iso \
-s 7,ahci-hd,/dev/ada4 \
-l com1,/dev/nmdm0A \
-m 3G -c 4 preed
/dev/ada4 is the "roaming" (hotpuggable) SSD on the host.
Thanks for any hint,
-harry
Harry Schmalzbauer
2016-Oct-29 15:32 UTC
Unexpected ahci-hd bytes when running in bhyve(8)
Bez?glich Harry Schmalzbauer's Nachricht vom 27.10.2016 20:05 (localtime):> Hello, > > I wanted to use a "roaming" ssd with byhve/vmm, which is the home of a > GPT based FreeBSD setup. > I've been using this for years with ESXi and bare-metal-hosts, and > wanted to try out bhyve. > Unfortunately this doesn't work the way I'm used to. > Booting of ufs:/dev/gpt/myROOT fails with error 19, loader does only see > a diskid/BHYVEDISK, not the GPT partitions. > > I guess ahci-hd isn't 1:1 mapping blocks, neither does virtio-blk, since > it shows exactly the same result, which is a bit strange to me: > When I boot a Live-CD in vmm with the physical SSD ahci-hd attached, the > first 8kByte of /dev/ada0 is 0x0. > > The same test on the host ('dd if=/dev/ada4 count=16 | hd') shows me > PMBR and GPT content, which I also expected to see in bhyve? > > What am I missing?To verify whether my assumptions might be correct at all, I installed a bhyve guest on a file backed ahci-hd drive (/usr/local/guest.img). The first 448 byte of that file are exactly the same when inspected on the host as the first 448 bytes of /dev/ada4. Inspecting /dev/ada0 inside the guest vmm, I see again the same 448 bytes when /usr/local/guest.img was attached to ahci-hd (-s 7,ahci-hd,/usr/local/guest.img). That was what I expected. What I don't understand is why my expectations are true for /usr/local/guest.img but not for /dev/ada4. Like mentioned, while reading the first 448 bytes on the host, I get identical results from /usr/local/guest.img and /dev/ada4, but when attaching /dev/ada4 to ahci-hd (-s 7,ahci-hd,/dev/ada4) and inspecting inside vmm, all I see is 0x0, while ahci-hd attached /usr/local/guest.img shows the same pmbr as on the host!? Do I have to exclude /dev/ada4 on the host from geom? As soon as bhyve opens /dev/ada4, all partitions vanish from the host ? probably ada4 itself gets blocked somehow? Thanks for any hint in advance, -harry