Compare commits

...

2 commits

Author SHA1 Message Date
Andreas Mieke 7d1aba878c
Merge branch 'release/1.0.0' into develop
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-07-26 11:38:19 -04:00
Andreas Mieke 89495dabd1
chore: Add content to README
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-07-26 11:37:34 -04:00

View file

@ -1,3 +1,35 @@
# onion2s-build
Docker image for cross to build rust packages for the Onion Omega 2S(+)
## Prerequisites
You will need to have the rustup version of cargo installed, for more information look at the official Rust documentation. You need Docker (or Podman) up and running, and you need to install cross with:
```sh
cargo install cross --git https://github.com/cross-rs/cross
```
## Configuration
To compile for the Onion Omega 2S(+) you need to add the following configuration:
Cargo.toml:
```toml
[workspace.metadata.cross.target.mipsel-unknown-linux-musl]
image = "git.merp.digital/zenermerps/onion2s-build:latest"
build-std = ["std"]
```
.cargo/config:
```toml
[target.mipsel-unknown-linux-musl]
linker = "/source/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/bin/mipsel-openwrt-linux-musl-gcc"
```
_Note_: cargo will complain that this location is deprecated, however (at least on macOS) moving the file to the suggested location results in an error about `Cargo.toml` not being found (while a `cargo.toml` exists). I assume this is due to some discrepancy between macOS's case-insensitive vs Linux's case-sensistive file system.
## Build
You then can use `cross` as replacement for `cargo`, you need to specify the target with: `--target mipsel-unknown-linux-musl`, this is all you need to compile for the Onion Omega 2S(+).
For example:
```sh
cross build --release --target mipsel-unknown-linux-musl
```