What you’ll learn
- Why real-time Linux?
- Is Ubuntu suitable for embedded applications?
Canonical’s Ubuntu 22.04 LTS incorporates a real-time kernel. Ubuntu is a common host and target platform for developers. Companies like Amazon, Microsoft, and NVIDIA use Ubuntu to support its development platforms like AWS, Azure, and Jetson, respectively. It works with Linux-based solutions such as Robot Operating System 2 (ROS 2) that’s used with many robot platforms.
The latest version is based on the 5.15 Linux kernel. Ubuntu adds the out-of-tree PREEMPT_RT patches for the x86 and Arm architectures. The patches reduce kernel latency and provide time-predictable task timing. This enables the system to support upper-bound execution time.
Real-time support is available via Ubuntu Pro subscription. It’s free for personal and small-scale business use. The enterprise support includes long-term maintenance with this version. The Ubuntu Core 22 (see video) is available for enterprise customers as well.
Ubuntu Core is a small-footprint version of Ubuntu Linux that targets embedded and edge applications. It supports Snaps, Canonical’s containerized application-delivery system. A snap is a free-standing component that runs in a container, providing confinement to improve security as well as simpler deployment because of more limited dependencies.
Snaps can be supported on other platforms, offering a single cross-platform deployment mechanism. This environment also facilitates automatic updates, again due to limited dependencies, which makes snap stores applicable to more targets.
Ubuntu 22.04, also known as Jammy Jellyfish, includes many desktop enhancements that may be useful for some embedded applications. Among them are GNOME 42 desktop support and touchpad gesture capabilities. It has native support for the remote desktop protocol (RDP) tha’s compatible with Windows RDP. In addition, an improved Microsoft Active Directory comes in handy for enterprise deployment and many embedded network environments.