-
Notifications
You must be signed in to change notification settings - Fork 54
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
Support PVH boot protocol #3
Comments
@bonzini For direct kernel boot (no fw), what does PVH bring compared to our current vmlinux loader? |
I am working on a PoC implementing PVH boot support on Firecracker. Currently debugging an early boot issue, will send a request for code comments once I have a working prototype. |
PVH has a much smaller set of boot parameters than the Linux boot protocol (just the e820 memory map, basically), so it's simpler to launch than a generic vmlinux. Other OSes may indeed support PVH more easily than the Linux boot protocol, but typically they only enable PVH for Xen support and do Xen-specific stuff in the PVH boot code. However, in principle it would be possible to add support for PVH-on-KVM to them, as well. |
Ok, I see, thanks. |
@aljimenezb Cool. Are you planning to contribute this code to the rust-vmm crate as well? |
@sameo Yes, that is the goal. |
@aljimenezb Any update on your PVH work? |
Hi @rbradford. I have prototype code that extracts the PVH entry point from the ELF note in the kernel binary. I have also made changes to configure the initial register state and memory map, but the guest dies right after jumping to the entry point, so I am currently working on debugging that. I was planning to ask for advice on the firecracker and/or rust-vmm Slack, maybe I can ping you there? |
Use the updated version of linux-loader from the personal GitHub repo: https://github.com/aljimenezb/linux-loader/tree/pvh-boot that provides support for parsing PVH ELFnote from the kernel binary. This is necessary for testing until the following issue rust-vmm/linux-loader#3 is closed in the linux-loader crate, at which point this commit should be removed. Signed-off-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Use the updated version of linux-loader from the personal GitHub repo: https://github.com/aljimenezb/linux-loader/tree/pvh-boot that provides support for parsing PVH ELFnote from the kernel binary. This is necessary for testing until the following issue rust-vmm/linux-loader#3 is closed in the linux-loader crate, at which point this commit should be removed. Signed-off-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Use the updated version of linux-loader from the personal GitHub repo: https://github.com/aljimenezb/linux-loader/tree/pvh-boot that provides support for parsing PVH ELFnote from the kernel binary. This is necessary for testing until the following issue rust-vmm/linux-loader#3 is closed in the linux-loader crate, at which point this commit should be removed. Signed-off-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
The PVH boot protocol allows loading an uncompressed kernel instead of a bzImage. This is faster as it removes decompression from the total startup time.
The text was updated successfully, but these errors were encountered: