diff --git a/Dockerfile b/Dockerfile index 32450d0..1ba2150 100644 --- a/Dockerfile +++ b/Dockerfile @@ -52,7 +52,7 @@ ENV PATH=/home/rust/.cargo/bin:/usr/local/musl/bin:/usr/local/sbin:/usr/local/bi RUN curl https://sh.rustup.rs -sSf | \ sh -s -- -y --default-toolchain $TOOLCHAIN && \ rustup target add x86_64-unknown-linux-musl && \ - rustup target add armv7-unknown-linux-gnueabihf + rustup target add armv7-unknown-linux-musleabihf ADD cargo-config.toml /home/rust/.cargo/config # Set up a `git credentials` helper for using GH_USER and GH_TOKEN to access diff --git a/README.md b/README.md index c10a111..0057cad 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,14 @@ alias rust-musl-builder='docker run --rm -it -v "$(pwd)":/home/rust/src ekidd/ru rust-musl-builder cargo build --release ``` +This command assumes that `$(pwd)` is readable and writable by uid 1000, gid 1000. At the moment, it doesn't attempt to cache libraries between builds, so this is best reserved for making final release builds. + To target ARM hard float (Raspberry Pi): ```sh -rust-musl-builder cargo build --target=armv7-unknown-linux-gnueabihf --release +rust-musl-builder cargo build --target=armv7-unknown-linux-musleabihf --release ``` -This command assumes that `$(pwd)` is readable and writable by uid 1000, gid 1000. It will output binaries in `target/x86_64-unknown-linux-musl/release`. At the moment, it doesn't attempt to cache libraries between builds, so this is best reserved for making final release builds. +Binaries will be written to `target/$TARGET_ARCHITECTURE/release`. By default it targets `x86_64-unknown-linux-musl` unless specified with `--target`. ## Deploying your Rust application diff --git a/cargo-config.toml b/cargo-config.toml index 6b7d5ca..6208b7b 100644 --- a/cargo-config.toml +++ b/cargo-config.toml @@ -2,5 +2,5 @@ # Target musl-libc by default when running Cargo. target = "x86_64-unknown-linux-musl" -[target.armv7-unknown-linux-gnueabihf] +[target.armv7-unknown-linux-musleabihf] linker = "arm-linux-gnueabihf-gcc-4.7"