红帽是全球知名的开源大厂,云计算浪潮到来时,他们果断出击,攻城略地。不管是OpenStack还是容器、存储、中间件,都有着极佳的战绩。旗下RHEL、CentOS、Fedora三个发行版,也有着数量可观的用户。
可在物联网领域,他们却有些尴尬。
绝大部分用户都在用Android、Ubuntu和Raspbian(Debian)相关的平台,很难找到红帽系统的物联网设备。
在2017年Eclipse基金会发布的一份物联网开发趋势报告中大家可以看到。
Raspbian(45.5%)和 Ubuntu(44.%)使用率位居一二,红帽系列甚至都没在其中亮相。
一些红帽开发者开始转向其他阵营。
而红帽旗下的Fedora 和 CentOS发布的几款新系统虽然加入对ARM的支持,但对“IoT”的支持还是一般。
以树莓派3x为例,跑Fedora 29之前的版本都有不同程度的卡顿。CentOS倒是可以正常运行,但除了基础软件包以外,很多x86环境下已经支持的第三方应用并没有ARM版,只能自己编译源代码。
目前Linux的各大发行版情况是怎样?
Linux官网上有篇“2018 最佳 Linux 发行版排行”的文章可见一斑。
地址:
https://www.linux.com/blog/learn/intro-to-linux/2018/1/best-linux-distributions-2018
痛定思痛,红帽先锋Fedora终于在近期祭出了大招。
与以往支持Pidora等“野生“版本,或者把ARM归入次级架构不同。
这款系统上来就力推aarch64和x86_64,没有传统的32位ARM,也没有传统的32位x86或其他。
他们专门发布了“Fedora IoT”,并启用二级域名“https://iot.fedoraproject.org/”。
2019年5月,正式推出内核为5.0.9的Fedora 30 For IoT。把一众4.x内核的竞争对手甩在了身后。
包管理工具没有使用经典的yum,也没用dnf。而是采用了 rpm-ostree 这一新式武器。支持原子升级和回滚,干净利落。
在预装程序方面,默认就是Python3.7.3,没有Python2.x等老的组件。
其他开发组件调用的也是最新源,比如刚发布的Perl和Golang等。
传统的 GPIO sysfis 接口也没有了,在系统中不会找到 /sys/class/gpio。
要与GPIO交互,可安装 libgpiod-utils 包来启用相关工具。
经过测试,市面上的几款主流开发板都可以顺畅运行该系统。没有出现烦人的驱动问题,也没有莫名的卡顿。
当然,作为一个刚出道的选手,Fedora IoT还有很多不足之处。
1、缺乏 Ubuntu Core 或 Raspbian 那种强大的生态支持。
2、其原子化操作对新用户来说也会有点门槛,用惯了 Raspbian 的人可能不太适应。
3、诡异的预配置流程(不太方便理解)。
但让人欣慰的是,这是笔者见过红帽系列对树莓派和DragonBoard 410C支持最好的一个版本,是一款可以在中低配ARM板上良好运行的IoT系统。
无论是智能家居,还是物联网网关、边缘计算……精悍的Fedora IoT给我们多了一个选择。
作者:王文文