Shape the target operating system
Configured a cross compiled Buildroot toolchain and built the ARM64 root filesystem and kernel layout from scratch, keeping the image small enough for iterative emulation.
CASE STUDY · 2026
Build a purpose built ARM64 environment for edge inference.
A custom Buildroot Linux image for ARM64/QEMU, paired with a multithreaded C++ frame processing path and a software emulated MobileNet SSD inference pipeline.
OVERVIEW
This project builds a small custom operating environment around an ARM64 target. A cross compiled Buildroot toolchain produces the root filesystem and kernel layout, while an asynchronous C++ application ingests downsampled frames and sends them through a MobileNet SSD path running in QEMU software emulation.
The work had to join a reliable target image with a useful inference path despite running under software emulation. Cross compilation also surfaced target multimedia dependencies and toolchain optimization settings that needed to be resolved before frames could move cleanly through the system.
HOW I APPROACHED IT
Configured a cross compiled Buildroot toolchain and built the ARM64 root filesystem and kernel layout from scratch, keeping the image small enough for iterative emulation.
Resolved cross compilation failures by configuring target multimedia dependencies and the toolchain optimization variables expected by the target image.
Wrote an asynchronous, multithreaded C++ ingestion engine that reads downsampled frame buffers over custom network sockets.
Integrated a MobileNet SSD neural network path in the emulated micro OS and exported the resulting detection boundaries for downstream use.
OUTCOME
The prototype brings a custom Linux image, asynchronous frame transport, and object detection inference into one ARM64/QEMU workflow. It makes the target system and its software path testable before moving to physical edge hardware.
BUILT WITH