75 lines
1.8 KiB
Markdown
75 lines
1.8 KiB
Markdown
|
# Docker files for cross-builds using cargo-deb
|
||
|
|
||
|
These files allows you to build Debian packages for the (Debian) architectures
|
||
|
i686, armhf and arm64 using an amd64 system.
|
||
|
|
||
|
Note that the `Dockerfile`s use the full Rust Debian Buster Docker image and
|
||
|
not the slim version so that some common build-dependencies (such as
|
||
|
`libssl-dev`) are already present.
|
||
|
|
||
|
## Cross-compile to i686
|
||
|
|
||
|
Build the image:
|
||
|
|
||
|
```console
|
||
|
$ docker build . -t cargo-deb-crossbuild/i686 --platform linux/386 -f Dockerfile
|
||
|
STEP 1/5: FROM docker.io/rust:bullseye
|
||
|
Trying to pull docker.io/library/rust:bullseye...
|
||
|
Getting image source signatures
|
||
|
...
|
||
|
```
|
||
|
|
||
|
In your Rust project, run:
|
||
|
|
||
|
```console
|
||
|
$ docker run --rm -ti -v `pwd`:/app cargo-deb-crossbuild/i686
|
||
|
...
|
||
|
/app/target/debian/<your crate>.deb
|
||
|
```
|
||
|
|
||
|
You can find the resulting deb file in `./target/debian`.
|
||
|
|
||
|
## Cross-compile to arm64 (ARM v8)
|
||
|
|
||
|
Build the image:
|
||
|
|
||
|
```console
|
||
|
$ docker build . -t cargo-deb-crossbuild/arm64 --platform linux/arm64/v8 -f Dockerfile
|
||
|
STEP 1/5: FROM docker.io/rust:bullseye
|
||
|
Trying to pull docker.io/library/rust:bullseye...
|
||
|
Getting image source signatures
|
||
|
...
|
||
|
```
|
||
|
|
||
|
In your Rust project, run:
|
||
|
|
||
|
```console
|
||
|
$ docker run --rm -ti -v `pwd`:/app cargo-deb-crossbuild/arm64
|
||
|
...
|
||
|
/app/target/debian/<your crate>.deb
|
||
|
```
|
||
|
|
||
|
You can find the resulting deb file in `./target/debian`.
|
||
|
|
||
|
## Cross-compile to armhf (ARM v7)
|
||
|
|
||
|
Build the image:
|
||
|
|
||
|
```console
|
||
|
$ docker build . -t cargo-deb-crossbuild/armhf --platform linux/arm/v7 -f Dockerfile
|
||
|
STEP 1/5: FROM docker.io/rust:bullseye
|
||
|
Trying to pull docker.io/library/rust:bullseye...
|
||
|
Getting image source signatures
|
||
|
...
|
||
|
```
|
||
|
|
||
|
In your Rust project, run:
|
||
|
|
||
|
```console
|
||
|
$ docker run --rm -ti -v `pwd`:/app cargo-deb-crossbuild/armhf
|
||
|
...
|
||
|
/app/target/debian/<your crate>.deb
|
||
|
```
|
||
|
|
||
|
You can find the resulting deb file in `./target/debian`.
|