diff --git a/docs/create-disk-image.md b/docs/create-disk-image.md index b58b951d..f4da7e5a 100644 --- a/docs/create-disk-image.md +++ b/docs/create-disk-image.md @@ -29,7 +29,7 @@ test-kernel = { path = "kernel", artifact = "bin", target = "x86_64-unknown-none [dependencies] # used for UEFI booting in QEMU -ovmf_prebuilt = "0.1.0-alpha.1" +ovmf-prebuilt = "0.1.0-alpha.1" [workspace] members = ["kernel"] @@ -38,20 +38,22 @@ members = ["kernel"] ```rust // build.rs +use std::path::PathBuf; + fn main() { // set by cargo, build scripts should use this directory for output files - let out_dir = std::env::var_os("OUT_DIR").unwrap(); + let out_dir = PathBuf::from(std::env::var_os("OUT_DIR").unwrap()); // set by cargo's artifact dependency feature, see // https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#artifact-dependencies - let kernel = std::env::var_os("CARGO_BIN_FILE_KERNEL_kernel"); + let kernel = PathBuf::from(std::env::var_os("CARGO_BIN_FILE_KERNEL_kernel").unwrap()); // create an UEFI disk image (optional) let uefi_path = out_dir.join("uefi.img"); - bootloader::UefiBoot::new(&kernel).create_disk_image(uefi_path).unwrap(); + bootloader::UefiBoot::new(&kernel).create_disk_image(&uefi_path).unwrap(); - // create a BIOS disk image (optional) - let out_bios_path = out_dir.join("bios.img"); - bootloader::BiosBoot::new(&kernel).create_disk_image(uefi_path).unwrap(); + // create a BIOS disk image + let bios_path = out_dir.join("bios.img"); + bootloader::BiosBoot::new(&kernel).create_disk_image(&bios_path).unwrap(); // pass the disk image paths as env variables to the `main.rs` println!("cargo:rustc-env=UEFI_PATH={}", uefi_path.display()); @@ -77,8 +79,8 @@ fn main() { } else { cmd.arg("-drive").arg(format!("format=raw,file={bios_path}")); } - let mut child = cmd.spawn()?; - child.wait()?; + let mut child = cmd.spawn().unwrap(); + child.wait().unwrap(); } ```