Canonical has released Ubuntu Core 24, a compact version of the Ubuntu distribution, tailored for use on Internet of Things (IoT) devices, containers, consumer, and industrial equipment. Ubuntu Core comes as an indivisible monolithic base system image, without the breakdown into separate deb packages. Ubuntu Core 24 images, which are synchronized with the package base of Ubuntu 24.04, are prepared for x86_64 and ARM64 systems (support for RISC-V is also announced, but builds are not yet available). The release will be supported for 12 years.
Ubuntu Core serves as the foundation for running additional components and applications, which are packaged as self-contained extensions in the snap format. Components of Ubuntu Core, including the base system, Linux kernel, and system extensions, are also provided in the snap format and are managed by the snapd toolkit. The Snappy technology enables the creation of a system image as a whole, without splitting into individual packages. Instead of incremental updates at the level of individual deb packages, Ubuntu Core employs an atomic update mechanism for snap packages and the base system, similar to Fedora Atomic, ChromeOS, Endless, and openSUSE Leap Micro. When updating the base environment and snap packages, there is an option to roll back to a previous state in case of issues identified after the update.
To ensure security, each component of the system is verified by digital signature, which protects the distribution from hidden modifications or the installation of unverified snap packages. Components delivered in snap format are isolated using AppArmor and Seccomp, creating an additional barrier for system protection in the event of compromise of individual applications. The base system includes only the minimum necessary applications, which not only reduced the size of the system environment but also positively impacted security by decreasing potential attack vectors.
The base filesystem is mounted in read-only mode. There is an option to use data encryption on a device using TPM. Updates are released regularly, delivered over-the-air (OTA), and synchronized with the composition of Ubuntu 24.04. To minimize traffic, updates are delivered in compressed form and include only the changes relative to the previous update (delta updates). Automating the installation of updates addresses security maintenance issues for use on embedded devices.
By logically separating the base system from applications, the maintenance of the Ubuntu Core codebase is handled by Ubuntu developers, while the relevance of additional applications is supported by application developers. This approach allows for reduced maintenance costs for products built on the Ubuntu Core foundation, as their manufacturers need not engage in releasing and delivering system updates, focusing instead solely on their specific components.
Key innovations:
- Support for validation sets has been added, defining which applications and which versions of them can be installed together, forming a validated combination of software versions. The lists are signed with a digital signature and distributed with the delivery of updates.
- For devices of particular importance, such as medical equipment, there is an option to disable any automatic network requests during device initialization.
- The ability to install updates in offline mode on devices isolated from the global network has been added.
- Capabilities for graphical mode support and GPU usage have been implemented, which can be used both for accelerating graphics processing and for computations in machine learning tasks. The latest releases of graphical drivers are included.
- Support for the Ubuntu Frame graphical interface has been added, designed for creating internet kiosks, self-service terminals, info stands, digital signage, smart mirrors, industrial screens, and other similar applications. Ubuntu Frame can be used to run applications based on GTK, Qt, Flutter, and SDL2, as well as programs built on Java, HTML5, and Electron. It is possible to run both Wayland-supported applications and programs based on the X11 protocol (using Xwayland).
- Integration with the Landscape service has been implemented, providing a web interface for managing large groups of workstations, servers and cloud environments. With Landscape, it is possible to automate routine administrative system operations for a group of machines, such as monitoring, auditing, centralized management of OTA updates, ensuring a single sign-on (SSO), and access management.
- Snap packages have been added for integrating devices based on Ubuntu Core with Microsoft Azure IoT Edge services.
- Snap packages containing various utilities and libraries from the ROS (Robot Operating System) project, which develops tools for robotics, have been added.
- Support for dynamic changes to kernel command-line parameters has been added.
- The option to replace the boot splash screen has been provided.
- An optional console interface, console-conf, has been added for configuring network connection settings and accounts.
Source: opennet.ru
