-
Notifications
You must be signed in to change notification settings - Fork 95
Replies: 2 comments · 1 reply
-
|
I'm not too familiar with Xen, but I'm going to imagine that it's not happy with a kernel being kexec'd. There might be options to I can say that booting a VM with KVM works as expected; it's how our test environment works. |
Beta Was this translation helpful? Give feedback.
All reactions
-
|
We provide ZBM images with three separate kernel versions because some hardware or target kernels are known to have problems with one or another ZBM kernel. (Our kernels come from Void Linux, because the ZBM releases are built in a stock Void container.) I suggest you try all three versions to see if one behaves better than another. |
Beta Was this translation helpful? Give feedback.
All reactions
-
|
So here are the results. Test platform - xcp-ng hypervisor (8.3.0) Which is latest release. Physical layout Zpool I'm using the following ZBM sources: ZFS root partition parameter: Kernel command line: noresume init_on_alloc=0 rw loglevel=7 console=ttyS0 earlyprintk=serial,ttyS0 spl.spl_hostid=0x007f0101 EFIbootmgr command line: (X is either 1, 6 or 12) In all test cases I can boot to ZBM menu and actually mount a chroot into the zfs root partition, however when ZBM does a kexec I'm getting the following: 6.1 Kernel: 6.6 Kernel 6.12 Kernel So it seems all the 3 binary recovery kernels pretty much end up at same endpoint -- kernel panic. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Definitely a noob when it comes to using zbm or really messing around with bootloaders so I'll just start.
I have a running arch linux zfs on root system that I can get to boot with systemd-boot. My esp is normally mounted to /boot/efi and the initramfs is created by mkinitcpio.
Just to torture myself I wanted to see if I could use ZBM rather than systemd-boot, however after a few days of trial and error which I'll summarize below, I've been unsuccessful. I've tried by the "prebuild binary" zbm and also installed the aur zbm compiling my own zbm with following configuration file (not sure this is even relevant):
I have actually no problem booting into the zbm EFI. It identifies my zpool "tank" and I drop to a chroot. The problem occurs when trying to actually boot the kernel. When trying to boot the linux-lts kernel (knows as vmlinuz-lts-lts and it's associated ramdisk - initramfs-linux-lts.img) I'm getting a kernel panic. This is the same kernel/initramfs that systemd-boot uses. Because I was using the xcp-ng it took me a long time to learn how to capture the output of this attempted boot capturing the output to a serial port. I've tried using kexec directly as well as zbm, however here is what is produced:
I can definitely provide more information if necessary, however whether I use zbm or kexec directly I'm getting almost and identical kernel panic which forces the entire VM to be stuck in a boot loop when drops me back to the zfsbootmenu.
I've documented a lot of this learning process on zfs subreddit (https://www.reddit.com/r/zfs/comments/1p1veqf/damn_struggling_to_get_zfsbootmenu_to_work/) and on the xcp-ng hypervisor forums (https://xcp-ng.org/forum/topic/11592/vm-trying-to-add-serial-console-to-examine-boot-process).
I'm not exactly sure what to try at this point to make the process work.
Please note my zbm/efibootmgr options are the following:
tank/sys/arch/ROOT/default org.zfsbootmenu:commandline noresume init_on_alloc=0 rw spl.spl_hostid=007f0101 loglevel=7 console=ttyS0 earlyprintk=serial,ttyS0
efibootmgr --disk /dev/xvdb --part 1 --create --label "ZFSBootMenu" --loader '\EFI\zbm\vmlinuz-linux-lts-3.0.1_1.EFI' --unicode "spl_hostid=$(hostid) zbm.prefer=tank rw zbm.timeout=5 zbm.import_policy=hostid console=ttyS0 earlyprintk=serial,ttyS0" --verbose
Beta Was this translation helpful? Give feedback.
All reactions