rust-osdev/bootimage

bootimage 0.5 broke intermezzos

steveklabnik opened this issue · 5 comments

0.3 and i'm guessing 0.4 worked, but now

> bootimage build
Building kernel
    Finished dev [unoptimized + debuginfo] target(s) in 0.05s
Error: Failed to build bootloader

Anything more I can do to help figure out what's wrong?

Oh yes, there were some breaking changes: #16

I thought that I updated the error message to link this pull request and the migration guide, but it seems like I missed something. I try to look into it. Sorry for the breakage!

Seems like I'm hitting rust-lang-deprecated/failure#182. Instead of the real error message only the context argument is printed.

I pushed 48587e1 to replace all uses of context with with_context, so that the full error message is printed now. Published as version 0.5.1.

With the new version the output for intermezzOS is:

> bootimage build
Building kernel
    Finished dev [unoptimized + debuginfo] target(s) in 0.03s                   
Error: Failed to build bootloader: Bootloader dependency not found

You need to add a dependency on the `bootloader` or `bootloader_precompiled` crates in
your Cargo.toml.

In case you just updated bootimage from an earlier version, check out the migration guide
at https://github.com/rust-osdev/bootimage/pull/16. Alternatively, you can downgrade
to bootimage 0.4 again by executing `cargo install bootimage --version "^0.4" --force`.

I hope that this makes the breakage more acceptable.

For an example how version 0.5.0 is used, see https://os.phil-opp.com/minimal-rust-kernel/#creating-a-bootimage

Thanks a ton!