Buildroot
Buildroot 是 Linux 平台上一个构建嵌入式 Linux 系统的框架。
它可以和编译 Linux 内核一样,通过 menuconfig 修改配置,编译出一个 Linux 系统固件。
只是 Buildroot 编译出来不仅仅有 Linux 内核,还包括 bootloader、rootfs 与应用软件。
由于 Buildroot 的可配置特性,Firefly 开源团队只编译 rootfs 与一些需要的应用软件。
**Firefly Buildroot 特点如下:
**
Firefly Buildroot 应用场景:
- 如果您的产品 CPU 性能比较弱、硬件资源比较紧张可以首选 Buildroot 系统;
- 如果您已经完成调试阶段,产品稳定了且不会再有大量修改的话,也可以转至 Buildroot 系统。
以下是 Firefly Buildroot 系统桌面:
Ubuntu
Ubuntu 是由南非人马克·沙特尔沃思 (Mark Shuttleworth) 创办的基于 Debian Linux 的操作系统。
Ubuntu 适用于笔记本电脑、桌面电脑和服务器,特别是为桌面用户提供尽善尽美的使用体验。
Ubuntu 几乎包含了所有常用的应用软件:文字处理、电子邮件、软件开发工具和 Web 服务等。
Firefly 提供 Ubuntu Desktop 系统与 Minimal (无桌面)系统,目前支持 Ubuntu 18.04 与 Ubuntu 20.04 版本。
**Firefly Ubuntu 特点如下:
**
Firefly Ubuntu 应用场景:
- 如果您不是长期进行 Linux 系统应用开发,对 Linux 本身了解不深的,可以选择 Ubuntu。
- 几条命令可能就可以帮助您完成环境搭建,省去了熟悉系统、调试的时间,缩短项目周期。
- 涉及神经网络、深度学习应用场景的客户可以首选 Ubuntu,因为可以很方便使用 Python 进行开发。
- 包管理系统也可以很好的适用于 OTA 升级,您只需要搭建好 deb 服务器就可以随时对软件包进行更新。
Ubuntu Desktop
以下是 Ubuntu 18.04 Desktop 系统桌面:
Ubuntu Desktop 是桌面版本系统,设备开机启动会进入桌面,运行 Xorg(X server) 显示服务,所有应用会通过 X server 进行渲染和显示。
**Ubuntu Desktop 特点如下:
**
Ubuntu Desktop 应用场景:
如果您有桌面的功能需求只能选择 Desktop 版本,如果需要在 Ubuntu 上有开发多窗口应用需求那么也可以选择 Desktop 版本。
Ubuntu Minimal
**Ubuntu Minimal 特点如下:
**
Ubuntu Minimal 应用场景:
- Minimal 适合使用在不需要屏幕显示的项目。
- 如果只是做一些单窗口的显示应用,Minimal 也可以胜任,通过 Qt + EGLFS 或者 Libdrm 的方式实现。
- 如果需要开发多窗口复杂的应用请使用 Desktop 版本或者在 Minimal 版本使用 Weston + Qt 。
Debian
Debian 是由社区支持的 Debian 项目开发的 Linux 发行版,该项目由 Ian Murdock 于 1993 年 8 月 16 日建立。
Firefly 提供 Debian 系统,目前支持 Debian 9 与 Debian 10 版本。
Firefly Debian 与 Ubuntu 系统的特点与应用场景绝大部分类似,下面主要说明这两者的区别:
- Ubuntu 的 IP 规范中表明商用 Ubuntu 必须获得 Canonical 的同意授权才可以使用。
- Ubuntu 基于 Debian 系统开发而来,新版本发布一般比 Debian 晚一些。
- 因为发布版本时间问题,Ubuntu 在一些细节上更加完善。
- Ubuntu 系统构建代码不开源,Debian 系统构建代码 Rockchip SDK 开源。
OpenWrt
OpenWRT 是一个高度模块化、高度自动化的嵌入式软路由系统。
Firefly 提供 OpenWrt 系统(包括 LEDE 系统),目前支持 OpenWrt 21.02 版本。
**Firefly OpenWrt 特点如下:
**
Firefly OpenWrt 应用场景:
- 多用于路由、工控网关、多网口设备等网络相关项目。
- OpenWrt 官方提供的丰富的软件包和网络组件,可以很轻松的实现自己项目的网络功能。
RTLinux
RTLinux (Real-Time Linux,亦称作实时 Linux)是 Linux 中的一种实时操作系统。
Firefly 对 RTLinux 支持主要在于内核层上, 您完全可以自由搭配(例如: RTLinux-Ubuntu、RTLinux-Debian)。
RTLinux 与 Linux 系统的区别如下:
- Linux 采用标准的 UNIX 技术使得内核是不可抢占的。
- 采用基于固定时间片的可变优先级调度,不论进程的优先级多么低,Linux 总会在某个时候分给该进程一个时间片运行,即使同时有可以运行的高优先级进程,它也必须等待低优先级进程的时间片用完,这对一些要求高优先级进程立即抢占 CPU 的实时应用是不能满足要求的,在实时应用中,这是一个十分严重的问题。
- RTLinux 是实时系统,通过在 Linux 内核与硬件中断之间增加一个精巧的可抢先的实时内核,把标准的 Linux 内核作为实时内核的一个进程与用户进程一起调度,标准的 Linux 内核的优先级最低,可以被实时进程抢断。正常的 Linux 进程仍可以在 Linux 内核上运行,这样既可以使用标准分时操作系统即 Linux 的各种服务,又能提供低延时的实时环境。
**Firefly RTLinux 特点如下:
**
更多 Linux
Yocto
Yocto 是一个开源协作项目,可帮助开发人员创建基于 Linux 的定制系统,相比 Buildroot,它支持更丰富的功能。
Firefly 提供 Yocto 系统,目前已支持 Yocto 2.7.4 版本。
Centos
CentOS 是 Linux 发行版之一,它是来自于 RHEL 依照开放源代码规定发布的源代码所编译而成。
Firefly 提供 Centos 系统,目前已支持 Centos 8 版本。
LibreELEC
LibreELEC 是一个轻量级的恰到好处的操作系统 Linux 发行版,专为当前和流行的媒体中心硬件上的 Kodi 构建。
Manjaro
Manjaro 是一个基于 Arch Linux 操作系统的免费开源 Linux 发行版。
原作者:Firefly Team