Building in Arch Linux
To build BetaFlight, first the ARM toolchain has to be installed:
Setup GNU ARM Toolchain
pacman -S arm-none-eabi-gcc arm-none-eabi-newlib arm-none-eabi-binutils
For running tests, the
libblocksruntime package from the AUR also has to be installed:
trizen -S libblocksruntime
At the time of writing, the repository version of GCC is 9.2.0, unlike 9.2.1 which BetaFlight expects.
If you get the following error, you can override the GCC version in
make/locak.mk before proceeding:
make/tools.mk:301: *** **ERROR** your arm-none-eabi-gcc is '9.2.0', but '9.2.1' is expected. Override with 'GCC_REQUIRED_VERSION' in make/local.mk or run 'make arm_sdk_install' to install the right version automatically in the tools folder of this repo. Stop.
$ echo "GCC_REQUIRED_VERSION = 9.2.0" >> make/local.mk
After the ARM toolchain is installed, you should be able to build from source.
git clone email@example.com:betaflight/betaflight.git
You'll see a set of files being compiled, and finally linked, yielding both an ELF and then a HEX:
$ ls -l obj/
-rwxr-xr-x 1 s-ol s-ol 428584 Jan 11 12:04 betaflight_4.2.0_MATEKF411.bin*
-rw-r--r-- 1 s-ol s-ol 1136991 Jan 11 12:04 betaflight_4.2.0_MATEKF411.hex
drwxr-xr-x 3 s-ol s-ol 4096 Jan 11 12:04 main/
You can use the Betaflight-Configurator to flash the
Updating and rebuilding
Navigate to the local betaflight repository and use the following steps to pull the latest changes and rebuild your version of betaflight:
git reset --hard