Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting our team. We will be in touch shortly.Close

  1. Blog
  2. Article

Edoardo Barbieri
on 31 March 2022

A guide to Linux for embedded applications


An embedded device is a hardware and software system that performs a dedicated function within a larger computer system. It is typically resource-constrained and comprises a processing engine.  The software of an embedded Linux system runs on top of the Linux kernel, the fundamental core of the OS with complete control over everything occurring in the system.

It follows an embedded Linux system simply denotes an embedded system running on the Linux kernel. What makes Linux for embedded applications special? Let’s find out!

The kernel for embedded applications

The Linux kernel is a member of the family of Unix-like OS kernels, with AT&T Bell Labs devising the first version of Unix back in 1969. Being proprietary, Unix, the first portable OS, stimulated the development of free and open-source alternatives like Linux and, among the many others, FreeBSD, NetBSD, and OpenBSD.

At system startup, the Linux kernel loads into RAM and stays in memory throughout the session duration. 

Despite Linus never shipping a version of Linux for embedded applications, developers often need a configuration to support their custom hardware, as the kernel build configuration found in a device usually varies from the one in a server or workstation. 

Linux for embedded applications

Linux is the premier choice by developers of embedded applications for several reasons: from being open-source to scalability, developer support, and tooling, myriad arguments justify why Linux is a great candidate for embedded systems.

Linux runs on many hardware platforms because developers ported the kernel to several CPU architectures. Instead of being restricted to a specialist programming language in an industrial setting and compared to native microcontrollers programming, with Linux also comes extensive support for languages.

Linux implements a rich stack of networking protocols, it is highly scalable, open-source with extensive community support, and you can deploy it with no royalties. The list of reasons behind the rapid growth of embedded Linux is virtually endless.

Ubuntu Core is Linux 2.0 for embedded applications

Ubuntu Core is Ubuntu for IoT and embedded environments, delivering the resiliency and security that developers around the world expect from Ubuntu. It is an OS with a minimal footprint and a modular and simple architecture, built on snaps, the universal Linux packaging format. 

Security is a big part of the story of Ubuntu Core, in that it automatically confines applications and integrates strict AppArmor and Seccomp rules for all snaps. Canonical, the commercial entity behind Ubuntu, redesigned the entire system from the first boot to create the most secure embedded Linux so that developers can ship embedded devices cost-effectively without implementing complex security features themselves, from full-disk encryption to a read-only root filesystem.

Updates on Ubuntu Core devices can be delivered via Canonical’ software distribution machinery, extensively tested in production. 

Managing software and updates across a huge number of devices can be challenging, especially if subsets of hardware require different applications to run on them. Delivering automatic updates and handling software across machines is one of the key features of the IoT App Store for Linux. This custom, enterprise store allows you to cherry-pick the optimal combination of applications you want your devices to use, including software published in the global Snap Store and custom software developed internally for a specific use case.

Overall then, the combination of the secure OS, snap packages and Store, gives developers a  platform for secure, open-source embedded software development and deployment.

Yocto or Ubuntu Core for your embedded Linux project?

Are you evaluating Ubuntu Linux for your next embedded project?

Get in touch

Further reading

Want to go back to the basics? Find out what is embedded Linux.

Why is Linux the OS of choice for embedded systems? Check out the official guide to Linux for embedded applications in whitepaper or webinar form.

Learn how Ubuntu Core, snaps and Snapcraft create a platform for secure, open-source embedded Linux development and deployment.

Interested in a detailed comparison of Yocto and Ubuntu Core? Watch the Yocto or Ubuntu Core for your embedded Linux project? Webinar.

Do you have a question, feedback, or news worth sharing? Join the conversation on IoT Discourse to discuss everything related to the Internet of Things and tightly connected, embedded devices.

Related posts


Canonical
12 September 2023

이제 인텔 SoC에서 일반적으로 사용 가능한 최적화된 실시간 우분투

IoT Article

Canonical이 TSN 및 인텔 TCC를 지원하는 인텔 코어 프로세서에서 실시간 우분투를 제공 2023년 7월 26일, 런던: Canonical은 오늘 인텔 코어 프로세서에 최적화된 실시간 우분투를 이용할 수 있음을 발표했습니다. 이 솔루션을 통해 기업은 통신회사 워크로드에서 생명을 구하는 의료 장비 및 공장용 자동화 시스템에 이르기까지 광범위한 사용 사례에 인텔 실리콘에 최적화된 리눅스의 성능을 이용할 수 있습니다. Canonical의 ...


Canonical
26 July 2023

Optimised Real-time Ubuntu is now generally available on Intel SoCs

IoT Article

Canonical delivers Real-time Ubuntu on Intel Core processors with TSN and Intel TCC support London, 26 July 2023: Canonical today announced the availability of Real-time Ubuntu optimised on Intel Core processors.  The solution enables enterprises to harness the power of optimised Linux on Intel silicon for a wide range of use cases, from ...


Vergil Yotov
17 May 2023

Docker vs Snaps: a side by side comparison

IoT Article

The Docker project was initiated by dotCloud, a platform-as-a-service (PaaS) company that created Docker to run their internal infrastructure. Slowly, Docker became more successful than any of their other products, so dotCloud rebranded as Docker Inc. Docker provides easy-to-use tooling and grew into an entire ecosystem for container mana ...