Custom Linux-based system setups

The use of tools that allow creating full customized Linux-based systems from scratch is everyday more common. I have helped create a dozen of different custom setups using OpenWRT, buildroot and the Yocto Project, usually also involving custom WWAN management needs, custom kernel updates (e.g. backported drivers) or new non-standard applications integrated.

OpenWRT SDK improvements

This kind of work usually starts with a SDK provided by the hardware manufacturer itself. I have seen multiple different SDKs from multiple different manufacturers, and they are usually random OpenWRT checkouts slightly modified to adjust to the hardware details (e.g. minor device tree updates, custom GPIOs defined, and similar things).

The SDKs provided by the manufacturers are far from perfect, and the first task usually involves aligning the hardware support with officially released OpenWRT stable versions, applying in very clear commits the specific changes required by the specific hardware. Whenever possible, the changes are also suggested to the upstream OpenWRT tree.