In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/02 Report--
This article will explain in detail about the choice of Linux in IoT, the content of the article is of high quality, so the editor will share it with you for reference. I hope you will have a certain understanding of the relevant knowledge after reading this article.
In the device design of the Internet of things, from the perspective of low cost and low power consumption, Android is definitely no better than embedded Linux. However, it has been difficult to choose the distribution to be used to deploy Linux.
What is a Linux distribution?
Linux is an operating system, which is the core program that controls the computer. It determines how to allocate available resources (CPU, memory, disk, network) among all competing programs. Although the operating system is very important, it is not useful in itself. Its purpose is to manage computing resources for other programs. Without these programs, the operating system would be of little use.
That's why there are problems with distributions. A distribution provides a large number of other programs that can be assembled with Linux into working sets for a wide range of purposes. These programs can range from basic programming tools such as communication libraries for compilers and connectors to almost everything between spreadsheets and editors. One tends to have a super collection that contains what each individual computer or solution actually uses. It also provides a number of options for each type of software component that users or companies can assemble into what they think is a runtime set. A rough analogy is a supermarket where there are many goods to choose from on the shelves, and each user chooses what they think is meaningful.
A binary-based or source-based distribution?
Distributions can be broadly divided into two categories: binary and source code-based releases.
Binary-based distributions provide all software components that have been precompiled and ready to be installed. These components are compiled with "good enough" build options, which are valid for most users. They also provide sources for a small number of users who need or want to build their own components. According to our supermarket analogy, this supermarket contains all the prepackaged and precooked food, but there are clear instructions on how to obtain ingredients and repeat the process for those who want to adjust one or two recipes. This distribution is an example of Debian, Fedora Core, OpenSUSE, Ubuntu, and many other distributions. Although they provide the same type of system, they all use different methods, which unfortunately are not even compatible. They are the main configurations for general-purpose computers, such as servers, desktops, and laptops.
Source code-based distributions, on the other hand, focus on providing a framework in which end users can build all components themselves from source code. These distributions also provide tools to easily select a reasonable collection of starting components and adjust the build of each component as needed. These adjustments can be as simple as adding a compilation flag to use different versions of the source code, or modifying the source code in some way. Users will collect a menu of the content they want to build and then start building. In a few minutes or hours, depending on the situation, there will be a result image that can be used on the computer. Gentoo, Android, and Yocto are examples of this type. The analogy is a little weaker.
These source code-based distributions are usually the first choice for linux-based embedded devices and Internet of things devices. Although it is difficult to build and maintain, source code-based distributions have the unique advantage of being able to tailor installed images to the exact target hardware to maximize or minimize resource waste. For embedded devices, this is often a strong constraint. In addition, source code-based distributions are more suitable for cross-platform construction (where the machine on which the platform is built is different from the machine on which the platform is running), while binary-based distributions are more suitable for building independently (building and running on the same machine).
Given the current popularity of Intel architecture, and the ARM architecture used in Internet of things products-cross-build support is very important for Internet of things devices.
Container-centric distribution
The traditional Linux approach, which runs a single unified user space that includes all platforms outside the kernel, is changing. This new model is about having a collection of "containers" that make user space a component. The containerization model converts a portion of user space into a highly independent collection of components between each component.
Containerized loading brings many benefits, allowing teams to achieve the feasibility of granular platform upgrades more independently. The downside is that they take up more resources than non-containerized solutions. However, if the development of technology shows anything, it is that when the only drawback of a new technology is its size, the resources it has tend to expand.
Some early options are described below to compare with existing distributions.
Linux distribution of the Internet of things
Take a look at the controversial areas. Many people have their favorite Linux distributions, and even though their requirements have changed dramatically (from server settings to embedded IoT devices, for example), they still stick to this approach, like putting a square nail in a round hole.
Here are some established Linux distributions and some emerging Linux distributions. There are many other use cases that may be more suitable for some use cases.
Yocto
Yocto is a source code-based distribution for many embedded and Internet of things devices. It attempts to combine the benefits of binary-based distributions, such as clearly separating packages from their dependencies, while taking advantage of source-based distributions when minor changes are made. the target binaries can be changed to a great extent.
Yocto consists of a series of recipes, each of which describes how to build a module of the system (such as libraries, daemons, applications, and so on). It is then hierarchically collected and configured for all aspects of how they should be used together, from compilation tags to functional features to details of how they are displayed. Each target build will consist of several such layers, each adding or removing packages from the lower layers, or modifying their default behavior. This allows multiple parties to adjust their layering to affect the final mirror. Therefore, if the base layer uses a set of compiler flags (which is usually the case), chip vendors can add compiler flags that benefit specific chip models, while circuit board vendors can remove chip features that their circuit boards may not support.
For Internet of things products, this actually means that the effort to build a solution using boards that already support Yocto will be an added value to add or modify basic functions. While this is not too difficult to do in today's container world, you still need to establish a build and configuration management / value infrastructure setting that allows you to create mirrors for your targets.
It is also worth looking at the degree of support of Yocto in development projects, and then consider the solution of the Internet of things.
Debian
Debian is a respected binary-based open source distribution. It is the baseline for both distributions and other well-known derivative distributions, the most famous of which is Ubuntu.
Debian has a large number of pre-built software packages for ARM (the alternative architecture of the Internet of things), but the level of support and maintenance of ARM binaries in these packages is often much lower than that of similar Intel products. Therefore, metrics such as "10000 + packages" are not so intentional, and you need to know about the software packages that are important to the user and their support.
One drawback in many distributions used in autonomous installations, such as Debian, is that developers do not understand or remember that packages that end up running on the machine may not be able to complete the installation, so they cannot rely on any functionality of the target machine. Considering that this hassle is also a headache for the docker environment, the distribution has put a lot of effort into cleaning up these dependencies, so the problem is smaller than before.
The effort to build a build environment for a small set of software is negligible, but building the infrastructure of all software packages for the system can become very important.
Because of this, Debian is a good choice for IoT, in which case you only need to add or create some software packages to complete your platform.
EdgeX Foundry
In a strict sense, EdgeX Foundry is not a distribution because it does not pay any attention to the BSP component of the distribution. BSP is the part that contains the Linux kernel itself, and device drivers and libraries make hardware platforms possible. It starts from a level and needs a working Linux system and docker support as the underlying foundation. It provides a variety of containers, providing rich middleware and vertical devices for Internet of things devices, especially in edge devices (in docker parlance, the container is a separate module that usually provides a vertical function, such as database or web services, with little or no dependence on host operating systems, libraries, etc.).
The concept behind Edgex points the way forward for larger Internet of things devices, especially edge devices, but what still needs to be done is to define a more constrained version that provides a good set of baseline services. Progress has been made in this regard, and some services have been transferred from JVM to golang-based implementation, but the low-and middle-end Internet of things based on Linux is still out of reach in the near future.
Foundries.io Microplatform
This solution uses a Yocto-based approach to create a Linux platform, creates a board-level support layer, and then overlays a set of container-like micro-services on top. Their container is a smaller, more modest collection with a smaller footprint than the EdgeX Foundry method.
Although Foundries.io products can be fully accessed through subscriptions using automatic updates and management, the underlying platform is open source.
Conclusion
The linux-based Internet of things is changing from a traditional embedded model to a more flexible model, from a single team / tool chain / model to a more flexible separation of firmware, middleware and application components. However, this migration is not without cost and places higher requirements on CPU, memory, and disk requirements. To choose a Linux benchmark for an Internet of things project, you need to consider the size you can bear and the planned life of the product. Smaller, faster replacement products are better able to keep up with today's reliable solutions, such as Yocto. In order to be able to provide more resources and need to extend the new features as a requirement to products with deployed products, more mainstream Linux distributions and new container-centric solutions should be taken as the path forward.
About how the Linux choice in IoT is shared here, I hope the above content can be of some help to you, can learn more knowledge. If you think the article is good, you can share it for more people to see.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.