trisquel-icecat/icecat/testing/geckodriver/doc/ARM.md

50 lines
1.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Self-serving an ARM build
Mozilla announced the intent to deprecate ARMv7 HF builds of
geckodriver in September 2018. This does not mean you can no longer
use geckodriver on ARM systems, and this document explains how you
can self-service a build for ARMv7 HF.
Assuming you have already checked out [central], the steps to
cross-compile ARMv7 from a Linux host system is as follows:
1. If you dont have Rust installed:
```shell
% curl https://sh.rustup.rs -sSf | sh
```
2. Install cross-compiler toolchain:
```shell
% apt install gcc-arm-linux-gnueabihf libc6-armhf-cross libc6-dev-armhf-cross
```
3. Create a new shell, or to reuse the existing shell:
```shell
% source $HOME/.cargo/env
```
4. Install rustc target toolchain:
```shell
% rustup target install armv7-unknown-linux-gnueabihf
```
5. Put this in [testing/geckodriver/.cargo/config.toml]:
```rust
[target.armv7-unknown-linux-gnueabihf]
linker = "arm-linux-gnueabihf-gcc"
```
6. Build geckodriver from testing/geckodriver:
```shell
% cd testing/geckodriver
% cargo build --release --target armv7-unknown-linux-gnueabihf
```
[central]: https://hg.mozilla.org/mozilla-central/
[testing/geckodriver/.cargo/config.toml]: https://searchfox.org/mozilla-central/source/testing/geckodriver/.cargo/config.toml