-
Notifications
You must be signed in to change notification settings - Fork 214
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
Rewrite build system #51
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 tasks
phil-opp
force-pushed
the
rewrite-build-system
branch
2 times, most recently
from
April 1, 2019 10:46
0bb91fa
to
1dcfac9
Compare
phil-opp
force-pushed
the
rewrite-build-system
branch
from
April 1, 2019 10:55
1dcfac9
to
01a0828
Compare
bors r+ |
bors bot
added a commit
that referenced
this pull request
Apr 1, 2019
51: Rewrite build system r=phil-opp a=phil-opp - [x] Blocked on rust-lang/rust#59351 - [x] Blocked on rust-lang/cargo#6778 Fixes #33 Fixes #48 Co-authored-by: Philipp Oppermann <[email protected]>
Build succeeded
|
bors bot
added a commit
that referenced
this pull request
Apr 1, 2019
53: Updates for new build system r=phil-opp a=phil-opp Update the documentation for the new build system and add an `example-kernel` that provides an easy way to try the `bootloader`. Builds upon #51. Co-authored-by: Philipp Oppermann <[email protected]>
bors bot
added a commit
to rust-osdev/bootimage
that referenced
this pull request
Apr 2, 2019
34: Rewrite for new bootloader build system r=phil-opp a=phil-opp This PR rewrites the `bootimage` crate to work with the new bootloader build system proposed in rust-osdev/bootloader#51. It also removes support for some old configuration options and for the `bootloader_precompiled` crate. See the changelog updates for more information. Note that this new version will only work with bootloader `0.5.0` or later. Todo: - [x] Add a `cargo-bootimage` executable - [x] Create a `bootimage runner` subcommand - [x] Create a `bootimage tester` subcommand - [x] Blocked on rust-osdev/bootloader#51 - [x] Rustdoc - [x] Mention new runner ~/tester~ in the Readme - [x] Command line help for new commands - [x] Error message for older bootloader versions (with old build system) - [x] Update changelog Co-authored-by: Philipp Oppermann <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This implements a new build system for the bootloader. Instead of using a
builder
executable, we now use a build script that expects aKERNEL
environment variable that points to the kernel ELF file. This way, we can directly access the kernel binary in the linker script and don't need hacks to append the kernel manually (see #33 for the original proposal).Instead of converting the kernel ELF file to a binary manually, we use the
llvm-objcopy
tool to perform the conversion. This tool ships with thellvm-tools-preview
rustup component, which is now required for building this crate.This is a breaking change, so this requires a bump of the minor version number.
.json
rust-lang/cargo#6778Fixes #33
Fixes #48