-
Notifications
You must be signed in to change notification settings - Fork 291
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
Bootloader infrastructure and main logic #404
Conversation
docs/install.md
Outdated
@@ -54,6 +54,7 @@ following: | |||
* python3 and pip (can be installed with the `python3-pip` package on Debian) | |||
* the OpenSSL command line tool (can be installed and configured with the | |||
`libssl-dev` and `pkg-config` packages on Debian) | |||
* `gcc-arm-none-eabi` from Debian packages if you want an upgradable board |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not using LLVM tools which are part of installed rust toolchain?
That's what Tock does.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For me, it looks like I always need to install something, either
apt install gcc-arm-none-eabi
apt install llvm
cargo install cargo-binutils && rustup component add llvm-tools
(for callingcargo objcopy --
)
In Tock, I find usage examples of options 1 and 2. So maybe the change in the latest commit is better?
I'm waiting for the documentation PR to #408 land, and then modify this PR to add its documentation to the right places. |
018d9dc
to
ab1f615
Compare
Rebase on top of the documentation changes, and added more context. |
Maybe the documentation should live in |
This is the first PR containing the bootloader code. Compared to the full code, this PR misses the SHA256 computation using the Cryptocell.
It includes the full setup and infrastructure, including:
The bootloader directory is self-sufficient, it's basically independent from OpenSK. Therefore, I decided to give it its own
rust-toolchain
file. They currently run with the same toolchain for convenience, but an OpenSK toolchain upgrade should not necessarily burden is with also upgrading the bootloader toolchain (even though we can, of course).