Comparison of Common Open Source Embedded Operating Systems

The open source embedded operating system literally has three points: open source code, embedded, and operating system, but its popularity essentially lies in its extensibility.

Open source refers to software that is released under an open source license, ensuring the user’s right to freely view the software source code. This also guarantees the rights for modification, copying, and redistribution, but still requires compliance with some constraints in the open source license agreement. Open source not only refers to software with open source code but also represents a software development model.

A “license” refers to the terms of authorization, which are the legal documents outlining the terms and conditions for using, modifying, copying, and redistributing. There are several common open source licenses: GNU GPL license, Apache license, etc. Licenses are often referred to as licensing agreements.

The “Apache License” is a protocol adopted by the renowned non-profit open source organization Apache. This protocol encourages code sharing and respects the copyright of the original author, while also allowing code modification and redistribution (as open source or commercial software). To obtain this license, the following four conditions must be met.

The Apache license is friendly to commercial applications. Users can also modify the code when necessary to meet their needs and release and sell it as open source or commercial products.

GPL is the license protocol used by the famous open source software Linux. The GPL license is very different from licenses like the Apache license that encourage code reuse. The GPL license is based on the open source use of code and the open source use of reference/modification/derivative code, but does not allow modified and derivative code to be released and sold as closed-source commercial software. This is why we can use various commercial software companies to release various Linux systems and their source codes.

The GPL license has the following two main characteristics.

An embedded system refers to a dedicated software system designed for specific application functions that are embedded within hardware systems. Unlike general operating systems for personal computers, embedded systems are usually tailored for specific purposes. Therefore, they can be optimized and trimmed down to a minimum. Currently, the development of general hardware systems is very rapid, leading to the emergence of embedded operating systems on general hardware systems. The operating systems widely used in the embedded field include: Linux, Windows Embedded, and VxWorks.

Many operating system distributions have also emerged based on the Linux kernel. The Linux Foundation is responsible for the development, distribution, and maintenance of the Linux kernel. For each distribution based on the Linux kernel, a long-term support version (LFS) of a particular Linux kernel can be chosen as the kernel for its operating system. If modifications are made to the main version, feedback can be given to the upstream. When the next kernel version is upgraded, the modified code will be included in the kernel.

Compared to proprietary closed-source operating systems like Windows and Mac, the biggest feature of open source Linux operating systems is their excellent extensibility. However, if one builds an operating system from scratch, many unpredictable compatibility issues may arise due to the user’s technical level, software package dependencies, software package versions, etc. This requires individual and corporate users to carefully choose the operating system based on their actual situation, which is also the main reason why using open source Linux operating systems is currently quite challenging. Fortunately, some technical community organizations have made special customizations and optimizations for certain fields. For example, for firewall operating systems, there is IPFire; for embedded operating systems commonly used in smart routers, there are Tomato and OpenWrt; for personal desktop operating systems, there are Ubuntu and Fedora; for mobile phones, there are Android and Firefox OS. All of them are operating systems based on the Linux kernel.

OpenWrt is a Linux distribution for embedded devices, released under the GPL license.

The OpenWrt project began in January 2004, with its first version using LinkSys’ source code. After LinkSys’ code became chargeable, it switched to integrating the officially released Linux kernel and completely modularized OpenWrt, continuously releasing patches and drivers. The main feature of OpenWrt lies in its high extensibility, and the file system is writable, allowing developers to compile only their software package without needing to completely recompile after each modification, thus speeding up the development process. Additionally, OpenWrt provides an SDK, allowing each running software to be compiled using the SDK and installed and uninstalled in package form. Its main features are as follows.

Android is an intelligent terminal operating system developed by Google, which is an open-source operating system based on Linux, primarily used in mobile devices such as smartphones and tablets, and also applied in smart TVs, etc. It is developed under the leadership of Google and the Open Handset Alliance. The Android operating system was initially developed by Andy Rubin, originally intended for digital cameras. In August 2005, Google fully acquired the Android operating system. In November 2007, Google formed the Open Handset Alliance with 84 hardware manufacturers, software developers, and telecom operators to jointly develop and improve the Android system. Subsequently, Google released the source code of Android under the Apache open source license, encapsulating the system layer for application developers with a unified API interface. The first Android smartphone was released in October 2008. Currently, Android has gradually expanded to tablets and other fields such as TVs, smartwatches, digital cameras, and game consoles. In 2015, Android held the top position in the mobile operating system market with an 85% market share. Table 1 shows the comparison between OpenWrt and Android.

The Android operating system has evolved into a mobile device development platform, with its software layers generally divided into four layers: operating system kernel, middleware, application framework layer, and applications. The application framework layer provides application developers with powerful APIs, including various components for graphical display, such as views, lists, text boxes, buttons, and embedded web browsers.

Comparison of Common Open Source Embedded Operating Systems

Comparison of Common Open Source Embedded Operating Systems

Tomato is a small alternative firmware for the LinkSys WRT54G Broadcom router. It has a new easy-to-use GUI, a new bandwidth monitoring tool, more advanced Quality of Service (QoS) and access restrictions, using new wireless features such as WDS and wireless client mode, limits on maximum connections for P2P, allowing you to run custom scripts or Telnet/SSH log into the router to do various things. For example, reprogramming the SES/AOSS button, adding wireless site surveys to see your Wi-Fi neighbors, etc. Tomato has the following features.

It has some obvious drawbacks, such as only having release notes without detailed modification records; it has not been updated recently, etc.

DD-WRT is an open-source firmware based on Linux, suitable for a variety of wireless routers and embedded operating systems. Its focus is on providing the simplest handling while supporting a wide range of features within various hardware platforms. It is another router code distribution that started development in February 2006, with no stable branch versions. The codebase contains all the code, including SVN information, totaling about 18GB. The code is continuously updated, with submissions as recent as October 2015. One downside is that the SVN contains all the code without branches or tags, making it impossible to distinguish stable versions. For private use, DD-WRT is free, but a software license is required for commercial use.

Table 2 shows the comparison of various distributions of open source routers.

Comparison of Common Open Source Embedded Operating Systems

Comparison of Common Open Source Embedded Operating Systems

Compared to other wireless router operating systems, OpenWrt has the most standardized version management and the most active community, making it the most suitable foundation for further development. Of course, OpenWrt is also suitable for beginners to learn.

If you like it, please click to follow above!

Some images and texts are sourced from the internet; if there is copyright, please contact for deletion!

Leave a Comment

×