grub2-bhyve
grub2-bhyve copied to clipboard
grub2-bhyve fails to boot XFS file system with Centos7 / RHEL7
Hi,
Downloaded CentOS-7-x86_64-Everything-1611.iso, and also rhel-server-7.3-x86_64-dvd.iso, and tried to install on
- FreeBSD 11.0-p6 host
- grub2-bhyve-0.40_1 from ports
After successful installation of the linux host from ISO image, restart the bhyve with GRUB and it fails to read the XFS file system – [see also this forum post (https://forums.freebsd.org/threads/58981/):
grub> ls
(lvm/cl-root) (lvm/cl-swap) (hd0) (hd0,msdos2) (hd0,msdos1) (host)
grub> ls (lvm/cl-root)/
error: not a correct XFS inode.
...
grub> ls (hd0,msdos2)/
error: unknown filesystem.
grub> ls (hd0,msdos1)/
error: not a correct XFS inode.
...
I tried all options for standard partition, btreefs, LVM, etc with the latest Centos and RHEL7 ISO:s. There is no alternative that works, they all give the same problem.
$ cat device-cd.map
(hd0) /dev/zvol/tank/bhyves/rhel/disk
(cd0) /home/girgen/rhel-server-7.3-x86_64-dvd.iso
$ cat grub-cd.in
linux (cd0)/isolinux/vmlinuz
initrd (cd0)/isolinux/initrd.img
boot
$ cat rhel-cd.sh
#! /bin/sh
grub-bhyve -m device-cd.map -r cd0 -M 16384 rhel < grub-cd.in
bhyve -A -H -P -s 0:0,hostbridge -s 1:0,lpc -s 2:0,virtio-net,tap0 \
-s 3:0,virtio-blk,/dev/zvol/tank/bhyves/rhel/disk \
-s 4:0,ahci-cd,/home/girgen/rhel-server-7.3-x86_64-dvd.iso \
-l com1,stdio -c 4 -m 16384 rhel
bhyvectl --vm=rhel --destroy
running the script, all is dandy. after installation has finished, restarting grub with grub-bhyve -m device-cd.map -M 16384 rhel gives the problems above.
This looks related: https://bugzilla.redhat.com/show_bug.cgi?id=1001279
Indeed, seems to be exactly the problem.
I worked around my problem by installing using UEFI. Seems to med they describe exactly the problem I experienced.
Palle
26 feb. 2017 kl. 22:28 skrev Matthias Andreas Benkard [email protected]:
This looks related: https://bugzilla.redhat.com/show_bug.cgi?id=1001279
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
I also stumbled upon this issue. My first attempt to work around this issue was to re-create the XFS filesystem and disabling CRCs (mkfs.xfs -m crc=0). However, in grub-bhyve this resulted in grub either throwing the same inode errors, or magic number errors. Then I decided to ditch XFS and went with ext4, which works solid, at least in the grub-bhyve part.
This should be fixed in grub 2.02, so maybe this version can be imported?
It could, but I suspect it's a fair amount of work. I had an preliminary attempt at pulling in just the XFS changes, but the surrounding 2.02 changes were big enough that it is probably easier to move forward to 2.02. Still a big job though.
Since XFS isn't going away, is anyone working on making this work yet? Any chance that we can continue using Centos post XFS?
I'm not working on it. As above, it's a big job.
For Centos, using UEFI as the bootloader works, and perhaps selecting EXT4 for the filesystem (if that's possible; I've not tried it).
I've had to build my own VM using Hashicorp packer with a kickstart script, and then ensuring that the boot partition is ext4.