-
Notifications
You must be signed in to change notification settings - Fork 71
Building from sources
To successfully compile the firmware, you need a modern Linux distribution equipped with up-to-date system libraries and tools. Specifically:
Important
Building is currently supported only on x86_64 platforms. Attempting to build on RISC-V or ARM64 hosts will result in failure.
- Required Distribution: Recent versions of Debian or Ubuntu, are recommended.
-
Essential Libraries and Tools:
- glibc 2.31 or newer: Ensure your system's C library is up-to-date to avoid compatibility issues.
- GNU awk: Required for processing scripts during the build.
If you are using an older operating system or prefer not to install additional packages on your existing system, consider using Podman, Docker or LXC containers. These provide a clean and isolated environment, ideal for ensuring compatibility and replicability of the build process.
For detailed instructions on setting up and using containers to compile firmware, visit our Container Development page.
Start by cloning the Thingino firmware repository to your local machine. Open a terminal and run the following command:
git clone --depth=1 --recurse-submodules \
--shallow-submodules https://github.com/themactep/thingino-firmware
Change into the cloned directory:
cd thingino-firmware
Run the user configuration script:
./user-menu.sh
Upon running the script, you will see the main menu:
Select "Guided Compilation" from the menu.
-
Select Device: Choose a device profile from the list. You can select either a Camera Profile or a Module Profile:
- Camera Profile: Includes all necessary configurations for the device, such as GPIOs.
- Module Profile: Basic configuration suitable for experienced developers.
Click OK to confirm your selection.
Select "Install prerequisites" from the menu to install the necessary components for compilation.
Select "Step 3: Make Firmware" to start the compilation process.
Please wait while the firmware compiles; this may take some time. This step also creates the necessary images to flash the firmware onto your device.
Upon completion, a message will indicate that the process is done. You can find the firmware images in your home directory under:
HOME FOLDER/output/<profile_name>/images
For example:
-
thingino-teacup.bin
– This full image includes the bootloader and is used for fresh installations. -
thingino-teacup-update.bin
– This image does not include the bootloader and is suitable for updating your device without erasing your bootloader or environment variables.
Congratulations! You have successfully compiled and prepared the Thingino firmware for installation. Follow the above steps to recompile or update the firmware as needed.
- Run
make
and select a device profile. - Upon completion, a message will indicate that the process is done. You can find the firmware images in your home directory under:
HOME FOLDER/output/<profile_name>/images
For example:
-
thingino-teacup.bin
– This full image includes the bootloader and is used for fresh installations. -
thingino-teacup-update.bin
– This image does not include the bootloader and is suitable for updating your device without erasing your bootloader or environment variables.