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:
-
If you don’t have Rust installed:
# curl https://sh.rustup.rs -sSf | sh
-
Install cross-compiler toolchain:
# apt install gcc-arm-linux-gnueabihf libc6-armhf-cross libc6-dev-armhf-cross
-
Createa a new shell, or to reuse the existing shell:
source $HOME/.cargo/env
-
Install rustc target toolchain:
% rustup target install armv7-unknown-linux-gnueabihf
-
Put this in testing/geckodriver/.cargo/config:
[target.armv7-unknown-linux-gnueabihf] linker = "arm-linux-gnueabihf-gcc"
-
Build geckodriver from testing/geckodriver:
% cd testing/geckodriver % cargo build --release --target armv7-unknown-linux-gnueabihf