• Pages

Ubuntu Core

Ubuntu Core is Ubuntu for IoT and embedded devices. As a flavour of the standard Ubuntu operating system, it is optimised and engineered for security and reliable OTA updates.

Ubuntu builds upon years of evolution and contributions from the wider Linux community, acting as the de-facto opensource enabler for thousands of development teams. Ubuntu is the premier choice by Linux developers, the world’s most popular cloud operating system across public clouds and the majority OS for preferred data science packages like Tensorflow.

The same software packages, robust performance and user-friendliness are available on all versions of Ubuntu.

Ubuntu Desktop is the open-source OS powering millions of PCs and laptops around the world.

Similarly, the Ubuntu Server version is the OS for server machines, delivering the best scale-out performance to public and private data centres. As the number one choice for innovators from cloud to edge, Ubuntu developers can run the same underlying operating system on their desktops as they do on their servers.

Whereas Ubuntu Desktop and Server run the same kernel, they differ in the supported software packages. From the presence of a GUI environment, email client or multimedia support, those images are optimised for server or general-purpose PC applications.

Ubuntu Core is the flavour of Ubuntu targeted at embedded devices. Whereas it is standard Ubuntu - open source, binary-compatible and backed by a strong developer community - it is specifically designed for the world of IoT.

Why a new version of Ubuntu

The entire ecosystem around Ubuntu Core was especially designed to solve the major bottlenecks behind shipping embedded Linux products. We will outline here some of the considerations that informed the architectural decisions of Ubuntu Core. Throughout the rest of this guide, we will delve deeper into the most pressing challenges facing enterprises playing a role in the IoT market and how Ubuntu Core handles them.

As discussed earlier, embedded Linux systems are varied in nature and differ greatly from desktop workstations. Although Linus Torvalds never shipped an embedded version of the Linux kernel, developers often customise its configuration to adapt it to their specific needs and custom boards. It is paramount to treat Linux on devices differently than Linux on servers. Sending engineers out into the field to fix a wedged device is expensive. As is often the case, those embedded boards are usually cheap, making the operational costs prohibitively expensive. Reducing the maintenance cost and the risk of failure of a distributed device in the field must be a priority for the underlying embedded OS.

Linux on devices must be treated differently than on servers, to reduce the cost of maintenance and the risk of a failure in the field.

1. Publishing software for embedded Linux

Another consideration worthy of mention is the need to reduce the work required to package and publish software for embedded devices. Embedded Linux developers are increasingly reliant on the latest version of varied upstream projects.

Read more

2. Trust for embedded Linux

In the traditional Linux environment, vendors treated every piece of software the same. When apt-get installing something, any package could write to any file.

Read more

3. Updates for embedded Linux

Embedded Linux devices will likely connect to the internet, with their attack surface increasing due to the network exposure. Intruders may thus attempt to exploit eventual bugs remotely, and the frequency of the updates will increase due to security issues.

Read more

Why Ubuntu Core for embedded

Ubuntu Core is a platform for technology suitable across the embedded compute spectrum, from drones and automobiles to industrial gateways and robots. With a significantly reduced attack surface, a minimal footprint and a stacked architecture, Ubuntu Core is tamper-resistant and hardened against corruption. Ubuntu Core is Ubuntu, the world’s number one Linux OS, providing a consistent experience across platforms while addressing the particular challenges of the embedded world. Let’s explore why Ubuntu Core is a perfect fit for IoT devices and embedded systems in the remainder of this guide.

1. Containers

Ubuntu Core has a read-only root filesystem built from the same packages used in the Ubuntu family of Linux distributions. However, Ubuntu Core addresses the peculiar challenges of the embedded world via a modular architecture based on containers, bullet-proof transactional updates, a smooth developer experience, and built-in security.

Read more

2. Security

Security in Ubuntu Core goes beyond bug fixes and CVE patches. Canonical redesigned the entire system from the first boot to create the most secure embedded Linux, enabling manufacturers to ship their devices cost-effectively without needing to implement complex security features themselves.

Read more

3. Updates

Enterprises in the embedded ecosystem often decide against updating their devices for fear of breaking the already deployed software, unforeseen bugs or network outages. Such resistance is readily justifiable, as sending an engineer to fix a device in the field or on the shop floor of a factory is prohibitively expensive.

Read more

4. Consistent OS experience

While some of the challenges and considerations cited above are peculiar to the embedded ecosystem, manufacturers shipping devices in production prize a consistent, secure and well-understood foundation for their systems. Ubuntu Core is standard Ubuntu to provide a consistent OS experience across platforms.

Read more

5. App ecosystem

Ubuntu Core is an application-centric operating system. Whereas standard Linux distributions are archive-centric, developers can deploy any app on embedded devices running Ubuntu Core, making them software-defined.

Read more

6. Long-term support

An often overlooked consideration when choosing the OS for an embedded Linux project is the availability of professional support. Ongoing vulnerabilities and recent exploits force developers to think more diligently about community-maintained projects and the open-source landscape. Whereas developers should constantly be scanning for vulnerabilities, enterprises can’t be dependent on individuals.

Read more

Get the full whitepaper in a PDF format

Download

Conclusion

Next page