Using Static ARM Binaries to Minimize Yocto Rebuilds in Embedded Linux
Working on embedded Linux, there are chances of using Yocto project, And if you use yocto seriously ,you would have this question many…
Using Static ARM Binaries to Minimize Yocto Rebuilds in Embedded Linux
Working on embedded Linux, there are chances of using Yocto project, And if you use yocto seriously ,you would have this question many times.
“Why do I need to rebuild the entire image, just to add one small tool”
This article explores a practical alternative for such situations.
Instead of rebuilding the whole image it show how you can use the statically compiled ARM binaries to add required tool during development and debugging — without touching your yocto build.
The Core Idea : What Is a Static Binary?
A statically compiled binary includes all required libraries inside the executable file.

This binaries saves hours of time, to get start with the minimal embedded Linux system development.
Why Yocto Feels Heavy During Development?
Yocto is great for production images, dependency management, License compliance. But during development, the workflow often looks like this, which is continuous.
- Add a recipe
- Rebuild the image
- Flash the device
Where you all you want is just a tree to look at the file system. That’s where static binaries shine.
Let’s start with building a static ARM Binary.
Building tree as a Static ARM Binary:
Tree: The tree command is a popular utility that recursively lists the contents of directories in a depth-indented , tree like format, providing a clear visual representation of the file system structure.
Installing Cross Compiler:
ARM 32-bit: sudo apt install gcc-arm-linux-gnueabihf libc6-dev-armhf-cross
ARM 64-bit: sudo apt install gcc-aarch64-linux-gnu libc6-dev-arm64-cross
Get the Source code:
git clone https://github.com/Old-Man-Programmer/tree.git
cd tree
Building Statically:
ARM 32-bit
make clean
make CC=arm-linux-gnueabihf-gcc LDFLAGS="-static"
ARM 64-bit
make clean
make CC=aarch64-linux-gnu-gcc LDFLAGS="-static"
Verify:
ldd tree
output: not a dynamic Executable
file tree
ELF ARM executable, statically linked
Deploy:
scp tree root@<targetted-ip>:/usr/bin/
Note: give the permissions for the executable file to run
chmod +x ./<executable_file>
Note: Not all the Linux tools can or should be statically linked.
Static binary are best for inspection, debugging but not, a replacement for production images, that’s where still the yocto matters.
References that helped my along way
메타데이터
- post_id
- af1971d0cd02
- slug
- using-static-arm-binaries-to-minimize-yocto-rebuilds-in-embedded-linux-af1971d0cd02
- url
- https://medium.com/@nikhiledu797/using-static-arm-binaries-to-minimize-yocto-rebuilds-in-embedded-linux-af1971d0cd02
- canonical_url
- https://medium.com/@nikhiledu797/using-static-arm-binaries-to-minimize-yocto-rebuilds-in-embedded-linux-af1971d0cd02
- author_url
- https://medium.com/@nikhiledu797
- status
- ok
- fetched_at
- 2026-07-13 12:25:32