树莓派生态系统拥有丰富的操作系统,适用于桌面、媒体中心,甚至渗透测试。但对于嵌入式应用(如汽车仪表盘、机器人或工厂控制器等,其他人会使用你的设备的情况),又该如何选择呢?今天,我将介绍如何安装一款专为此类用途设计的操作系统——Apertis。
Apertis是一款专为嵌入式系统设计的操作系统,稳定性、可靠性和一致性至关重要。它可以通过树莓派成像工具(Raspberry Pi Imager)安装在树莓派上,并根据自定义用例进行定制。
让我们先快速了解一下哪些用户可能会对Apertis感兴趣。接着,我将提供一个快速入门指南,介绍如何在树莓派上安装它,最后分享一下我的初步印象。
Apertis概述
简单来说,Apertis是一款专为需要24/7稳定运行的自定义应用而设计的操作系统。你希望你的机器人随时准备执行关键任务,而不是因为自动更新导致软件故障而无法工作!
Apertis并非像树莓派操作系统或Manjaro那样的日常使用操作系统。相反,它专为构建供他人使用的树莓派设备而设计,这样即使你不在场修复问题,用户也无法意外破坏系统。
Apertis的用例
以下是可能在树莓派上使用Apertis的一些嵌入式系统示例。.
汽车仪表盘——如果你仍然梦想着打造自己的《霹雳游侠》中的车载电脑,那么Apertis正是为此类应用而设计的。
物联网设备——我最喜欢的智能家居设备是那些永不宕机且无需管理的设备。Apertis非常适合作为物联网应用的操作系统。
自助服务终端——想象一下任何用户会轻触屏幕以获得服务的场景。例如,你可能有一个顾客可以用来点寿司的菜单。Apertis专为触摸屏自助服务终端而设计。
游戏系统——Apertis在现实世界中的一个知名应用是雅达利VCS游戏机内部。
工业控制器——在工厂环境或工作现场,Apertis可能最能发挥其优势。例如,博世D-Tect 200扫描仪运行Apertis,可以检测地板和墙壁后面的水管和电线。
Apertis的硬件要求
树莓派——目前仅明确支持树莓派4或Pi 3。树莓派计算模块(CM4 / CM3)的等效产品也受支持。
内存——Apertis可在所有支持型号上运行,最低只需1GB内存。你最终需要多少内存取决于你的设备要完成的任务。
存储——16GB的micro SD卡足以进行基本安装。如果你计划安装大量应用,我建议使用32GB或更大容量的存储卡以获得更多空间。
Apertis镜像说明
Apertis基于Debian Linux发行版。这意味着Apertis v2025提供了Debian Bookworm支持的所有软件版本。随着Debian Trixie的近期发布,Apertis计划在明年发布的v2026版本中纳入Trixie。
Apertis有四种不同的镜像供你选择。你需要决定哪种镜像最适合你的目标。
以下是每个Apertis镜像的不同之处概述:
无界面镜像——如果你不需要图形界面,请使用此镜像。它最适合资源使用最低的系统,如智能家居物联网设备。
OSTree无界面镜像——此镜像与前一个镜像(无GUI)基础相同,但其特殊之处在于支持版本管理和回滚。
图形界面镜像——如果你需要用户能够通过图形界面(如触摸屏显示器)与你的树莓派交互,请选择此镜像。
OSTree图形界面镜像——此镜像与前一个镜像(GUI)基础相同,但它支持版本管理和回滚。
在本指南中,我们将使用图形界面镜像作为测试Apertis及其触摸屏功能的简便方法。
OSTree镜像具有独特功能,但更多面向企业级应用,比如你的公司托管一个GitHub仓库,用于存储自定义镜像和/或自定义软件。例如,你可能需要管理数百辆需要严格版本管理的自主遥控车,以确保它们功能完全相同。
如何安装和配置Apertis
如果你想试用Apertis,让我给你一个快速入门指南,介绍如何在你的树莓派上安装它。在本节中,我们将介绍如何:
将Apertis镜像刷入SD卡。
配置系统。
通过Flatpak安装应用。
刷入Apertis安装镜像
将Apertis安装到树莓派上的方法与安装其他操作系统的方法相同。你将镜像刷入SD卡,然后用它启动树莓派。
以下是详细步骤:
使用USB SD卡读卡器将SD卡插入你的PC或树莓派。如果你没有读卡器,可以使用网络启动安装代替。
https://raspberrytips.com/network-boot-with-raspberry-pi/
启动树莓派成像工具。如果你还没有成像工具,请在此处下载。
https://www.raspberrypi.com/software/
点击选择操作系统。导航到其他通用操作系统 > Apertis,然后选择稳定镜像。
选择你喜欢的镜像类型。要按照本指南操作,请选择Apertis v2025图形界面镜像。
点击选择存储设备,然后选择你的SD卡。
点击下一步开始写入过程。当弹出窗口询问操作系统自定义设置时,选择否。Apertis不支持这些设置。
成像工具将开始将Apertis写入你的SD卡。完成后,取出SD卡,将其插入树莓派,然后开机。
首次启动配置
现在你已经安装了Apertis,我将展示一些基本的系统配置方法。
Apertis启动时,会自动登录并直接带你进入图形界面。正如你所见,它相当简洁,主菜单中甚至没有网络或系统设置。
这是因为你需要根据用例自定义Apertis。稍后将详细介绍。
如果你有一个通过HDMI或USB连接的触摸屏显示器(如SunFounder TS-10或RasPad 3),它可能会开箱即用。通过GPIO或I2C连接的触摸屏据说也可以通过一些额外工作得到支持。
请注意默认登录凭据:
用户名 = user
密码 = user
乍一看,Apertis的功能与Debian完全相同。例如,更新命令的工作方式相同:
sudo apt updatesudo apt upgrade
更新从自定义Apertis仓库拉取
如果你的树莓派已经通过以太网连接,你会发现SSH服务器已经启动并运行。因此,如果你想按照接下来的步骤操作,可以从另一台PC连接。
其他常见的系统设置任务——如设置机器主机名、更改用户密码或管理系统服务——的工作方式与其他Debian类发行版相同。
https://raspberrytips.com/set-new-hostname-raspberry-pi/
https://raspberrytips.com/systemctl-linux-command/
但除了这些标准任务外,Apertis还修改了基础系统,使其工作方式与你可能预期的大不相同。接下来我们将介绍这些情况。
可选:连接Wi-Fi
第一个不同之处在于Apertis中互联网连接(尤其是Wi-Fi)的管理方式。默认守护进程是ConnMan,而不是NetworkManager。
注意:如果可能,我建议使用以太网配置Apertis。Wi-Fi可以工作,但过程中会出现一些问题。
Wi-Fi无法开箱即用。原来,Apertis默认将树莓派的Wi-Fi接口列入黑名单。我不确定为什么——可能是出于安全考虑——但我在文档中找不到相关信息,所以我花了一些时间才弄清楚。
首先,我们必须允许Wi-Fi适配器与ConnMan一起工作:
打开ConnMan配置文件:
sudo vi /etc/connman/main.conf
默认仓库中没有nano文本编辑器,所以请熟悉使用vi/vim。
找到以NetworkInterfaceBlacklist开头的行:
通过在该行前面添加井号来注释掉该行:
# NetworkInterfaceBlacklist = ...
(或简单地从列表中删除“wlan”)。
保存并退出(ESC,:wq)。
重启ConnMan服务以加载新配置:
sudo systemctl restart connman
现在无线接口已启用,我们可以使用ConnMan连接到Wi-Fi:
进入交互模式:
connmanctl
扫描Wi-Fi网络并列出找到的网络:
scan wifiservices
复制/粘贴分配给你网络的标签。
它是一个很长的标签,如wifi_xxxxxxx_psk。
连接到所需的Wi-Fi网络(将下面的wifi_xxxxx_psk替换为你的网络标签):
agent onconnect wifi_xxxxxxxx_psk
当提示时,输入Wi-Fi密码。
你现在应该已连接。再次输入“services”命令,你会看到网络名称旁边有一个星号(*)。
可选:开启自动连接:
config wifi_xxxxx_psk --autoconnect yes
完成后,退出:
exit
检查你的无线接口是否收到了IP地址:
ip a
可选:扩展主分区
默认安装会创建一个单独的用户分区(在SD卡上为mmcblk0p4),但如果你有更大的SD卡,它不会使用完所有可用空间。
当还有45GB可用空间时,/home只使用了8GB。
我首先尝试的是扩展用户分区(mmcblk0p4)。但是,我在这里遇到了障碍,因为所有常见的分区工具——如fdisk或parted——都无法安装。
resizepart和resize2fs命令默认包含在内且可以工作,但它们的工作方式太过笨拙。也许我遗漏了什么,但截至撰写本文时,我在Apertis文档中找不到相关指导。
更省时的方法是什么?我建议将你的SD卡挂载到另一个Linux系统上,并使用GUI中的fdisk或gparted来扩展用户分区(mmcblk0p4)。
https://raspberrytips.com/fdisk-linux-command/
安装应用
现在你终于让Apertis系统运行起来了,是时候安装一些软件了。但Apertis的另一个你可能意想不到的方面是如何安装用户应用。打开终端,使用以下命令四处探索:
df -h
分区#3是根分区,但如果你注意到,它并没有太多可用空间。
根分区(mmcblk0p3)已经使用了93%的空间。
根分区应仅用于使用APT安装基本系统实用程序:
sudo apt install curl
那么,我们应该在哪里安装需要更多空间的用户应用呢?
在Apertis上,关键用户应用应安装在分区#4(如mmcblk0p4)上,该分区承载/home分区。此外,系统设计为使用Flatpak来管理软件。
Apertis专为需要24/7运行的嵌入式系统而设计。为实现这一目标,它使用Flatpak(一种开源软件管理工具)来安装桌面应用。https://flatpak.org/
Flatpak无需管理员权限即可安装应用,并且还会对应用进行沙箱隔离。除了安全优势外,Flatpak还能防止依赖冲突。换句话说,更新一个应用不会突然破坏另一个应用。
要查看可以使用Flatpak安装哪些应用,请查看Flathub仓库。
https://raspberrytips.com/glossary/repository/
Flathub,Linux的(免费)应用商店
假设我正在为骑自行车的人创建一个触摸屏导航设备。我决定要在我的设备上安装Organic Maps。我将通过Flatpak来安装它。
https://flathub.org/en/apps/app.organicmaps.desktop
在Apertis上,使用Flatpak命令时添加--user标志将应用安装到主分区。
以下是添加Flathub以获得更多软件选项的方法:
将Flathub添加为Flatpak仓库:
flatpak --user remote-add flathub https://dl.flathub.org/repo/flathub.flatpakrepo
添加仓库后,你现在可以像这样从Flathub安装应用:
访问你要安装的应用在Flathub上的页面。例如,Organic Maps。
点击“安装”按钮旁边的下拉菜单,并复制安装命令:
将命令粘贴到终端中,但通过添加--user标志进行修改:
flatpak --user install flathub app.organicmaps.desktop
我安装的新应用在重启后出现在了Apertis菜单中:
在极少数情况下,你决定需要对嵌入式系统进行更新,你也应该在更新命令前加上前缀:
flatpak --user update
如果你需要的应用不在Flathub上,或者你的公司编写了自定义软件,那么你应该将该应用重新打包为Flatpak并进行部署。这里有一个学习曲线,但好处是没有软件相互依赖。https://www.apertis.org/guides/app_devel/flatpak/
自定义图形界面
Apertis的界面开始时非常简约,但根据官方文档,你可以以任何方式进行修改。用户界面可以完全由你自定义,最终用户根本不知道底层是Apertis。
https://www.apertis.org/concepts/archive/application_customization/ui-customisation/
但这是Apertis与大多数Linux发行版不同的另一个方面。在Apertis中,桌面绘制由Weston(一个Wayland合成器)处理。因此,要修改图形界面,你必须修改Weston配置。
不幸的是,这并不容易弄清楚,而且截至撰写本文时,Apertis没有提供任何示例。
首先,我的程序在主菜单中的快捷方式存储在:/home/user/.local/share/flatpak/exports/share/applications/中的.desktop条目中
要在面板(即任务栏)上添加快捷方式,你可以在:/usr/share/applications/中创建.desktop条目
自定义主桌面区域则更具挑战性。看起来我需要定义一个自定义外壳,将背景壁纸更改为固定布局,然后定义当用户轻触屏幕上的特定坐标时会发生什么。
我在这个领域没有取得太多成功。无论如何,我发现这个过程相当不透明,而且目前文档记录不足。Download now
如果你想尝试UI自定义,以下是一些可能有帮助的资源:
将Weston打造为可用的Wayland桌面:
https://www.digitalfoundations.com.au/blog/making-weston-a-usable-wayland-desktop/
Arch Linux Wiki上的Weston快速参考:
https://wiki.archlinux.org/title/Weston
Debian的Weston.ini手册页:
https://manpages.debian.org/bookworm/weston/weston.ini.5.en.html
我对Apertis的初步印象
现在我已经有更多时间来体验Apertis了,以下是我对在树莓派上运行这个操作系统的最终看法。
稳定性
多年来,我安装并体验了许多Linux发行版,我认为Apertis并不像Ubuntu甚至像Anthias这样的数字显示系统那样适合初学者。
相反,Apertis更像是一个精简的、注重安全的系统,你需要一些技术知识才能针对你的特定用例进行优化。
作为回报,Apertis将为你提供一个坚如磐石的系统,每次启动都能按照你计划的那样运行。而且它还会被锁定,以防止用户篡改或意外破坏系统。
速度
Apertis在树莓派4上的表现完全正常,无论是重启还是启动应用,与树莓派操作系统相比都没有明显的速度差异。
安装内容很少,图形界面镜像占用存储空间不到6GB,安装的软件包不到500个,而其他Linux系统则安装了数千个软件包。此外,它还使用轻量级的库和软件包版本。
Apertis配备了一个不到50MB的精简LTS内核。
在空闲时,Apertis的桌面版本使用内存不到0.4GB,而且仅在1GB内存上就能正常运行,而许多带有图形环境的Linux系统则需要2GB或4GB内存才能良好运行。
所有这些决策对于减少延迟都很重要,特别是如果你将使用触摸屏。我认为Apertis的优势不在于纯粹的速度,而在于它即使在资源受限的系统(如树莓派3)上也能良好运行。
软件支持
我要说的Apertis的最后一个优势是它对现代软件的支持。许多专为嵌入式设备设计的操作系统通过依赖古老的软件包来实现稳定性,但Apertis支持最近的Debian版本。
例如,GUI后端是Wayland,它对触摸屏显示器更节能,并支持捏合缩放等手势。对于音频管理,Apertis支持更新的PipeWire,这意味着音频延迟比PulseAudio更低(而且配置起来也更省心)。
由于用户应用是通过Flatpak安装的,它们都是单独管理的。这减少了单点故障,这对于嵌入式系统来说应该是首要任务。
然而,在我看来,Flatpak远非完美。主要仓库经常不一致得令人恼火,而且替代方案很少。当你无法获得你想要的应用时,唯一的解决方案是自己将其重新打包为Flatpak,这存在相当高的入门门槛。
Apertis有一个特殊的OSTree镜像,提供了许多独特功能,如原子更新和版本回滚,这对于拥有专门技术资源的企业客户来说才是真正值得使用Apertis的地方。
如果我是一家制造自动售货机、3D打印机控制器或计划在市场上销售的触摸屏设备的公司,我肯定会考虑Apertis。
如果你是一名爱好者,正在寻找一个更容易在树莓派上管理的嵌入式系统操作系统,我会考虑以下替代方案:
Ubuntu Core:
https://raspberrytips.com/ubuntu-core-raspberry-pi/
DietPi:
https://raspberrytips.com/install-dietpi-raspberry-pi/
Alpine Linux:
https://raspberrytips.com/alpine-linux-raspberry-pi/
官方网站:https://edatec.cn/zh/cm0
淘宝店铺:https://edatec.taobao.com/
269