

A guide to Linux for embedded applications
source link: https://ubuntu.com//blog/linux-for-embedded-applications
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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 applications.
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.
Are you evaluating Ubuntu Linux for your next embedded project?
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? Find out with the ultimate guide to Linux for embedded applications.
Interested in a detailed comparison of Yocto and Ubuntu Core? Watch the Yocto or Ubuntu Core for your embedded Linux project? Webinar.
Want to learn more about the difference between real-time and embedded Linux? Dive into the mini-series on the low latency Linux kernel.
Recommend
-
86
I grew up as part of the fad that all web applications must be built on proper architecture, usually involving a well tested and stable sql database like postgres, or in some stretch cases a nosql…
-
21
We change the code of our Qt application in QtCreator and press the Run button to try the changes on an embedded device. QtCreator cross-compiles the application, deploys it to the device and runs it on the device. QtCreator performs...
-
16
Webinar: Building Embedded Applications from QtCreator with Docker 2020/07/172020/07/17Burkhard Stubert In a
-
15
Our quest for a successful architecture of a harvester terminal continues. In this episode, we discuss when a system with a single application is good enough and when a system with multiple applications and a window manager is the better choi...
-
8
Top 5 Embedded Databases for JavaScript ApplicationsWhat do you use when you only need to store small amounts of dataImage by
-
8
Azure RTOS ThreadX This advanced real-time operating system (RTOS) is designed specifically for deeply embedded applications. Among the multiple benefits it provides are advanced scheduling facilities, message passing, interrupt mana...
-
4
Embedded Analytics Platform For SaaS ApplicationsEmbedded analytics for SaaS applications Add interactive analytics to your product offering in days, instead of months. Serve thousands of users with insights at scale,...
-
4
My Talk “Hexagonal Architecture: The Standard for Qt Embedded Applications” at Meeting Embedded 2021 I gave a talk at Meeting Embedded 2021 on 4 November 20...
-
5
Developing embedded applications in Rust - DevConf.CZ 2022229 viewsFeb 2, 20229DislikeShareSave
-
1
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK