123456789101112131415161718192021222324252627282930 |
- use crate::verify::{print_elf_info, print_memory_map, print_module_info};
- use multiboot2::BootInformation;
- pub fn run(mbi: &BootInformation) -> anyhow::Result<()> {
- basic_sanity_checks(mbi)?;
- print_memory_map(mbi)?;
- print_module_info(mbi)?;
- print_elf_info(mbi)?;
- Ok(())
- }
- fn basic_sanity_checks(mbi: &BootInformation) -> anyhow::Result<()> {
- // Some basic sanity checks
- let bootloader_name = mbi
- .boot_loader_name_tag()
- .ok_or("No bootloader tag")
- .map_err(anyhow::Error::msg)?
- .name()
- .map_err(anyhow::Error::msg)?;
- let cmdline = mbi
- .command_line_tag()
- .ok_or("No cmdline tag")
- .map_err(anyhow::Error::msg)?
- .cmdline()
- .map_err(anyhow::Error::msg)?;
- assert_eq!(bootloader_name, "GRUB 2.06");
- assert_eq!(cmdline, "some commandline arguments");
- Ok(())
- }
|