-
Notifications
You must be signed in to change notification settings - Fork 297
Development: Toolchain
This section explains the toolchain, which is a set of tools used to compile (build) the firmware. Buildroot handles compiling this toolchain automatically as part of the firmware-building process. It's set up using these specific settings in the Buildroot configuration file:
BR2_TOOLCHAIN_BUILDROOT_VENDOR="thingino"
BR2_TOOLCHAIN_BUILDROOT_MUSL=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
BR2_BINUTILS_VERSION_2_44_X=y
BR2_GCC_VERSION_14_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
To make building faster, you can compile the toolchain once and reuse it for future builds. This saves a lot of time because you don't have to recompile it every time.
Here's how:
-
Run this command to create a toolchain bundle (called an SDK):
make sdkThe resulting bundle will reside in the
imagessubdirectory, e.g.~/output/images/mipsel-thingino-linux-musl_sdk-buildroot.tar.gz -
Extract the bundle to a local directory and update the toolchain for the new path.
mkdir -p ~/opt/toolchains/thingino-musl-gcc14 cd ~/opt/toolchains/thingino-musl-gcc14 tar xvf ~/output/images/mipsel-thingino-linux-musl_sdk-buildroot.tar.gz ./relocate-sdk.sh -
Update your Buildroot configuration to use this pre-compiled toolchain. Add or change these lines:
BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_PATH="/opt/toolchains/thingino-musl-gcc14" BR2_TOOLCHAIN_EXTERNAL_PREFIX="mipsel-linux" BR2_TOOLCHAIN_EXTERNAL_GCC_14=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set # BR2_TOOLCHAIN_EXTERNAL_CXX=n
- The
BR2_TOOLCHAIN_EXTERNAL_PATHpoints to where the SDK is installed on your machine (you might need to adjust the path).
If you want to use the same toolchain on multiple computers, you can upload the SDK bundle to a shared location (like a server or file host) and tell Buildroot to download it from there.
Update your Buildroot configuration like this:
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://192.168.1.61/thingino-toolchain-musl-gcc14.tar.gz"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_GCC_14=y
#BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INSTALL_LIBSTDCPP=n
- Replace the
BR2_TOOLCHAIN_EXTERNAL_URLwith the actual web address where you've uploaded the toolchain file. - This way, Buildroot will download and use the toolchain automatically during the build.
- Wiki Home
- About the Project
- Getting Started
-
Supported Cameras
- Cameras
- 360 AP1PA3
- AliExpress LTIA‐37FJZ (Vanhua Z55 module)
- AOQEE C1
- Aosu C5L
- Cinnado
- Dekco DC5L
- Eufy
- Galayou/Wansview
- Hualai (Wyze/Atom/Neos/Personal)
- iFlytek XFP301‐M
- Jienuo JN-107-AR-E-WIFI
- Jooan A6M
- LaView L2
- LongPlus X07
- LSC 3215672
- Sannce I21AG
- Sonoff Cam‐S2 and B1P
- TP-Link Tapo C100/C110/C111
- Wuuk Y0510
- Xiaomi
- Configuration
- Integration
- Development