mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-05-08 09:58:46 +00:00
docs(core): document building with Rust
This commit is contained in:
parent
e015bc0856
commit
bd06b72923
@ -11,7 +11,7 @@ You will also need Python dependencies for signing.
|
|||||||
### Debian/Ubuntu
|
### Debian/Ubuntu
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo apt-get install scons gcc-arm-none-eabi libnewlib-arm-none-eabi
|
sudo apt-get install scons gcc-arm-none-eabi libnewlib-arm-none-eabi llvm-dev libclang-dev clang
|
||||||
```
|
```
|
||||||
|
|
||||||
### NixOS
|
### NixOS
|
||||||
@ -34,6 +34,15 @@ For other users:
|
|||||||
3. To install OpenOCD, run `brew install open-ocd`
|
3. To install OpenOCD, run `brew install open-ocd`
|
||||||
4. Run `make vendor build_boardloader build_bootloader build_firmware`
|
4. Run `make vendor build_boardloader build_bootloader build_firmware`
|
||||||
|
|
||||||
|
## Rust
|
||||||
|
|
||||||
|
Install the appropriate target with [`rustup`](https://rustup.rs/):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
rustup target add thumbv7em-none-eabihf # for TT
|
||||||
|
rustup target add thumbv7m-none-eabi # for T1
|
||||||
|
```
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -11,13 +11,13 @@ Install the required packages, depending on your operating system.
|
|||||||
* __Debian/Ubuntu__:
|
* __Debian/Ubuntu__:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo apt-get install scons libsdl2-dev libsdl2-image-dev
|
sudo apt-get install scons libsdl2-dev libsdl2-image-dev llvm-dev libclang-dev clang
|
||||||
```
|
```
|
||||||
|
|
||||||
* __Fedora__:
|
* __Fedora__:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo yum install scons SDL2-devel SDL2_image-devel
|
sudo yum install scons SDL2-devel SDL2_image-devel clang-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
* __OpenSUSE__:
|
* __OpenSUSE__:
|
||||||
@ -29,7 +29,7 @@ sudo zypper install scons libSDL2-devel libSDL2_image-devel
|
|||||||
* __Arch__:
|
* __Arch__:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo pacman -S scons sdl2 sdl2_image
|
sudo pacman -S scons sdl2 sdl2_image clang-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
* __NixOS__:
|
* __NixOS__:
|
||||||
@ -47,11 +47,25 @@ _Consider using [Nix](https://nixos.org/download.html). With Nix all you need to
|
|||||||
For other users:
|
For other users:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
brew install scons sdl2 sdl2_image pkg-config
|
brew install scons sdl2 sdl2_image pkg-config llvm
|
||||||
```
|
```
|
||||||
|
|
||||||
* __Windows__: not supported yet, sorry.
|
* __Windows__: not supported yet, sorry.
|
||||||
|
|
||||||
|
## Rust
|
||||||
|
|
||||||
|
You will require Rust and Cargo. The currently supported version is 1.52 stable.
|
||||||
|
The recommended way to install both is with [`rustup`](https://rustup.rs/). If you
|
||||||
|
are installing `rustup` for the first time, the stable toolchain will be installed
|
||||||
|
for you automatically. Otherwise, make sure you are up to date:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
rustup update
|
||||||
|
```
|
||||||
|
|
||||||
|
The [bindgen crate](https://rust-lang.github.io/rust-bindgen/requirements.html)
|
||||||
|
requires libclang for generating MicroPython FFI.
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
Run the build with:
|
Run the build with:
|
||||||
|
Loading…
Reference in New Issue
Block a user