feat(integrations): implement initial bootloader interface touchpoints

This commit is contained in:
alex committed 2025-10-28 21:05:22 -04:00
1 parent fe714cc411
commit f82d24a206
6 files changed
+178 -63

No files matched your search

+5
View File
@@ -1,4 +1,5 @@
use crate::context::SproutContext;
use crate::integrations::bootloader_interface::BootloaderInterface;
use crate::utils;
use crate::utils::media_loader::MediaLoaderHandle;
use crate::utils::media_loader::constants::linux::LINUX_EFI_INITRD_MEDIA_GUID;
@@ -102,6 +103,10 @@ pub fn chainload(context: Rc<SproutContext>, configuration: &ChainloadConfigurat
initrd_handle = Some(handle);
}
// Mark execution of an entry in the bootloader interface.
BootloaderInterface::mark_exec()
.context("unable to mark execution of boot entry in bootloader interface")?;
// Start the loaded image.
// This call might return, or it may pass full control to another image that will never return.
// Capture the result to ensure we can return an error if the image fails to start, but only