2. Firefly release system¶
You are welcome to read this chapter, after reading you can learn the following information:
Some sources and introductions to Linux systems
Features and application scenarios of each Linux system adapted by the Fireflyteam
Before that, you can learn about the characteristics of Android system and Linux system:
This guide mainly introduces the Linux system, so you can first understand the characteristics of the Android system and the Linux system:
|Advantages||1. Generally, the system overhead of Linux system is smaller than that of Android system.
2. The stability and security of the Linux system are high, which is unmatched by other systems.
3. The degree of customization of the Linux system is very high, and every detail of the basic system can be customized.
|Disadvantages||1. The Linux system is closer to the bottom layer, making development more difficult.
2. The packaging level of Linux system is not as high as that of Android.
3. Some Soc hardware functions must learn the API interface provided by the chip manufacturer or the third-party software for docking, and the learning cost will be relatively high.
By comparison, I believe you have a preliminary understanding of the characteristics of some Linux systems. The following will introduce the characteristics and application scenarios of each system one by one.
Buildroot is a framework for building embedded Linux systems on the Linux platform.
It can be the same as compiling the Linux kernel, modify the configuration through menuconfig, and compile a Linux system firmware.
But Buildroot compiles not only the Linux kernel, but also bootloader, rootfs and application software.
Due to the configurable nature of Buildroot, the Firefly open source team only compiles rootfs and some required application software.
Firefly Buildroot features are as follows:
|Advantages||1. The system overhead is almost minimal.
2. The system construction code is completely open source.
3. The system firmware is small.
4. The system starts up faster.
5. Support Qt + EGLFS, support Weston + Qt, support MiniGUI.
|Disadvantages||1. Many software and dependencies may not be adapted by default, and users need to manually add them according to their needs.
2. There is no package management system. If you need to change the system environment, you need to modify the source code and recompile.
3. There is no way to directly compile your own application on the Buildroot system. Compiling the application needs to be cross-compiled on the PC.
Firefly Buildroot application scenario:
1. If your product’s CPU performance is relatively weak and hardware resources are relatively tight, you can choose the Buildroot system;
2. If you have completed the debugging phase and the product is stable and there will be no major changes, you can also switch to the Buildroot system.
The following is Firefly’s official Buildroot system desktop:
For detailed features of Firefly official Buildroot system, please refer to The Buildroot user manual.
Ubuntu is a Debian Linux-based operating system founded by South African Mark Shuttleworth.
Ubuntu is suitable for laptops, desktop computers and servers, especially for desktop users to provide a perfect experience.
Ubuntu includes almost all commonly used application software: word processing, e-mail, software development tools, and Web services.
Firefly provides Ubuntu Desktop system and Minimal (no desktop) system, currently supports Ubuntu 18.04 and Ubuntu 20.04 versions.
Firefly Ubuntu features are as follows:
|Advantages||1. Provides a wealth of deb package resources, and users can easily and quickly build an environment through apt.
2. Have a deb management system.
3. Most developers' compilation and development system, ARM version of Ubuntu can directly compile device applications.
4. There are system built-in functions and services such as friendly UI, systemd, udev, dbus, Networkmanager, etc.
5. Firefly has its own deb server. You can update Firefly's deb package through the network through apt.
6. Firefly maintains the longest Linux system.
|Disadvantages||The size of the Ubuntu Desktop system is relatively large, generally above 2G.|
Firefly Ubuntu application scenario:
1. If you are not engaged in Linux system application development for a long time and do not have a deep understanding of Linux itself, you can choose Ubuntu.
2. A few commands may be able to help you complete the environment construction, save the time of familiarizing the system and debugging, and shorten the project cycle.
3. Customers who are involved in neural networks and deep learning application scenarios can choose Ubuntu because it is easy to use Python for development.
4. The package management system is also very suitable for OTA upgrades. You only need to build a deb server to update the software package at any time.
2.2.1. Ubuntu Desktop¶
The following is Firefly’s official Ubuntu 18.04 Desktop system desktop:
Ubuntu Desktop is a desktop version system. The device will enter the desktop after booting up and run the Xorg (X server) display service. All applications will be rendered and displayed through the X server.
Ubuntu Desktop features are as follows:
|Advantages||1. X11 can implement complex operations such as multi-window applications, dual-screen display, resolution setting, and rotation.
2. X11 application compatibility is better than Wayland, and some existing applications can only run on X server.
|Disadvantages||1. X11 performance is worse than Wayland, Qt + EGLFS, Libdrm and other display methods.
2. The system overhead will be relatively large.
Ubuntu Desktop application scenario:
If you have desktop functional requirements, you can only choose the Desktop version. If you need to develop multi-window applications on Ubuntu, you can also choose the Desktop version.
2.2.2. Ubuntu Minimal¶
Ubuntu Minimal features are as follows:
|Advantages||1. The firmware is small, generally about 1G smaller than the Desktop version.
2. There is no display service running, so the system overhead is relatively small.
|Disadvantages||The default firmware cannot complete multi-window applications.|
Ubuntu Minimal application scenario:
1. Minimal is suitable for projects that do not require screen display.
2. If you are just doing some single-window display applications, Minimal can also do the trick, which can be achieved through Qt + EGLFS or Libdrm.
3. If you need to develop complex applications with multiple windows, please use the Desktop version or use Weston + Qt in the Minimal version.
Please refer to Ubuntu User Manual for detailed features of the official Firefly Ubuntu system.
2.3. Debian system¶
Debian is a Linux distribution developed by the community-supported Debian project, which was established by Ian Murdock on August 16, 1993.
Firefly provides Debian system and currently supports Debian 9 and Debian 10 versions.
The features and application scenarios of Firefly Debian and Ubuntu systems are mostly similar. The following mainly explains the differences between the two:
1. The IP specification of Ubuntu indicates that commercial Ubuntu must be authorized by Canonical before it can be used.
2. Ubuntu is developed based on the Debian system, and the new version is generally released later than Debian.
3. Due to the release time issue, Ubuntu is more complete in some details.
4. Ubuntu system build code is not open source, Debian system build code Rockchip SDK is open source.
Please refer to Debian User Manual for detailed features of the official Firefly Debian system.
2.4. OpenWrt system¶
OpenWRT is a highly modular and highly automated embedded soft routing system.
Firefly provides OpenWrt system (including LEDE system) and currently supports OpenWrt 21.02 version.
Firefly OpenWrt features are as follows:
|Advantages||1. The system focuses more on network performance improvement and integrates many latest research algorithms to improve network performance.
2. Use buffer pool control algorithm to increase network throughput while reducing delay (or lag).
3. Wireless network optimization allows devices to support higher data rates and balanced communication time.
4. Provide a wealth of existing software packages and network components.
|Disadvantages||OpenWrt is highly targeted and is mainly used in network communication related projects. Other projects are not the best choice.|
Firefly OpenWrt application scenario:
1. It is mostly used in network related projects such as routing, industrial control gateway, and multi-network port equipment.
2. The rich software packages and network components officially provided by OpenWrt can easily realize the network functions of your own projects.
Please refer to OpenWrt User Manual for detailed features of the official Firefly OpenWrt system.
2.5. RTLinux system¶
RTLinux (Real-Time Linux, also known as real-time Linux) is a real-time operating system in Linux.
Firefly’s support for RTLinux is mainly at the kernel layer, and you can match it freely (for example: RTLinux-Ubuntu, RTLinux-Debian).
The differences between RTLinux and Linux systems are as follows:
1. Linux uses standard UNIX technology to make the kernel non-preemptible.
2. Using variable priority scheduling based on fixed time slices, no matter how low the priority of the process is, Linux will always allocate a time slice to the process to run at some time, even if there are running ones at the same time For high-priority processes, it must also wait for the time slice of low-priority processes to run out. This is not enough for some real-time applications that require high-priority processes to immediately preempt the CPU. In real-time applications, this is a very serious problem. problem.
3. RTLinux is a real-time system. By adding an exquisite preemptible real-time kernel between the Linux kernel and hardware interrupts, the standard Linux kernel is used as a process of the real-time kernel to be scheduled together with the user process. The Linux kernel has the lowest priority and can be preempted by real-time processes. The normal Linux process can still run on the Linux kernel, so that the standard time-sharing operating system, that is, various services of Linux can be used, and a low-latency real-time environment can be provided.
Firefly RTLinux features are as follows:
|Advantages||Strong real-time performance.|
|Disadvantages||Although the precise timing mechanism can improve the efficiency of the task scheduler, it will increase the time overhead for the CPU to process timing interrupts.|
For detailed features of Firefly RTLinux system, please refer to RTLinux User Manual.
2.6. More Linux¶
CentOS is one of the Linux distributions, which is compiled from the source code released by RHEL in accordance with the open source regulations.
Firefly provides Centos system, which currently supports Centos 8 version.
LibreELEC is a lightweight just right operating system Linux distribution, built specifically for Kodi on current and popular media center hardware.
Manjaro is a free and open source Linux distribution based on the Arch Linux operating system.