Description
In the Linux ecosystems there are many ways to build all the software used to put together a running system. Whether it’s building all the binary packages for a binary Linux distribution, using a source-based distribution, or building an embedded system from scratch, there are a lot of shared challenges which each system solves in their own way.
Maintaining userspace API (UAPI) compatibility has been a cornerstone of Linux’s success over the years as it has allowed users to confidently upgrade their kernels without worrying about their userspace programs breaking.
Traditionally, kernel developers have used code review and testing to find UAPI-breaking changes. With libabigail, an additional tool could be added to the kernel tree...
Its undeniable that heterogeneous systems are more commonly used on embedded products nowadays, for performance reasons it is better to use different operating systems running on different architectures on a single device.
However, each OS has its own build-time and runtime dependencies e.g. different C library (if one at all) as well as developer workflow, pre-configured IDE and such, this...