如何在树莓派上安装TrueNAS?
TrueNAS社区的Joel0创建了一个可在Arm架构上运行的TrueNAS分支版本,我想在树莓派上试试它。
我在机架上运行着一台搭载Linux和ZFS的Ampere Arm服务器,作为主存储服务器;同时,在我的工作室里,还有一台配备四个SATA固态硬盘并使用ZFS的树莓派作为备份副本。这些Arm架构网络附加存储(NAS)设备的配置已发布在GitHub上。
GitHub:https://github.com/geerlingguy/arm-nas
多年来,我一直期待TrueNAS能支持Arm架构,尽管社区中似乎有人认为“Arm服务器性能不足以运行大型存储服务器”——尽管我和其他许多人多年来一直在这样做……但这并非重点。
在树莓派上运行?
没错,确实如此。
我多次发现,在性能较慢的硬件上运行现代应用程序,是发现配置小缺陷和误解的绝佳方式,这有助于学会如何在性能更强的机器上更好地运行这些应用程序。
从我的“Pi集群(Pi Dramble)”到“拍字节级树莓派项目(Petabyte Pi Project)”,在为性能更强的硬件设计上运行的应用程序,教会了我很多。因此,运行需要8GB内存和16GB主存储空间的TrueNAS,会是一次有趣的学习体验。
我曾在x86服务器上安装过TrueNAS,但那太乏味了,太简单了。当项目进展顺利,没有遇到任何问题时,我学不到太多东西,也无法深入了解一些配置上的特殊之处。
你可以观看视频获取完整演示,或继续阅读以下内容:
树莓派上没有统一可扩展固件接口(UEFI)
树莓派存在的一个明显问题是,它没有官方支持的UEFI,UEFI是一种启动计算机并使操作系统与设备固件交互的标准方式。树莓派仅官方支持基于设备树的Linux启动方式,这种方式远不如UEFI标准。这意味着你不能随意在树莓派上安装任何旧版Linux发行版,必须使用专为树莓派定制的版本。树莓派有一些不错的操作系统,如基于Debian的树莓派操作系统。但这与直接在我的Ampere工作站上安装Windows on Arm不同。
为了克服这一限制,我们不得不依赖一个社区项目,该项目源自“Windows on Raspberry Pi”。具体来说,我使用的是NumberOneGit的rpi5-uefi分支版本。
https://github.com/NumberOneGit/rpi5-uefi
要让你的树莓派5支持UEFI(CM5的流程可能略有不同):
1.将电可擦可编程只读存储器(EEPROM)更新到2025-06-09版本(或更高版本——使用命令“rpi-eeprom-update”在树莓派操作系统中检查你正在运行的版本):
a. 通常,你可以使用树莓派成像工具(Raspberry Pi Imager)、命令
sudo apt full-upgrade -y
或
sudo rpi-eeprom-update -a
进行升级。然而,在撰写本文时,这些方法只能让你升级到最新稳定版本(2025-05-08),因此在此之前,请使用以下方法之一:
c. 切换到测试版引导加载程序发布渠道:
sudo nano /etc/default/rpi-eeprom-update
然后将“latest”改为“beta”,并运行命令
sudo rpi-eeprom-update -a
d. 重启后,使用“rpi-eeprom-update”验证你正在运行的引导加载程序版本。
2.从rpi5-uefi发布页面下载最新的.zip文件
https://github.com/NumberOneGit/rpi5-uefi/releases
3.取一张已格式化为树莓派可用的微型安全数字卡(microSD卡)(我刚从用于EEPROM更新的树莓派5中取出树莓派操作系统卡),并清空FAT32格式的“bootfs”卷内容。将你下载的.zip文件中的所有内容复制到该文件夹中(包括“RPI_EFI.fd”)。
4.弹出微型安全数字卡,将其插入树莓派,并连接高清多媒体接口(HDMI)显示器后开机
5.你应该会看到树莓派标志和EDK2引导加载程序屏幕出现。除非你已安装非易失性内存高速(NVMe)或通用串行总线(USB)启动介质,否则它会显示“按任意键进入启动管理器菜单。
6.因为我找不到“任意”键,所以我按了“回车”键,然后就可以浏览标准的启动管理器菜单了。在那里,你可以配置安全数字卡速度、设置外设组件互连标准(PCIe)总线速度等。
7.根据你的喜好更改设置后(有关Linux的一些建议,请参见相关内容),保存并重置。
https://github.com/NumberOneGit/rpi5-uefi?tab=readme-ov-file#linux
树莓派5上的TrueNAS
现在,树莓派已启动进入UEFI模式,你可以安装TrueNAS了。具体步骤如下:
1.从https://truenas-releases.jmay.us下载Arm版TrueNAS ISO镜像文件(我选择了25.04.2版本)。
2.使用Etcher等工具将ISO镜像文件写入USB驱动器。
3.Etcher完成后,弹出USB驱动器并将其插入树莓派(我使用的是USB 3闪存盘,因此我将其插入树莓派上的一个蓝色USB 3端口以获得最大速度)。
4.如果它没有自动启动进入TrueNAS安装程序,请在UEFI启动管理器中选择外部USB驱动器,并启动进入TrueNAS安装程序。
5.按照TrueNAS安装程序的提示,将TrueNAS安装到除安装驱动器或微型安全数字卡以外的任何设备上(我使用了插入另一个USB 3端口的第二个USB闪存盘)。等待安装完成。
6.出现提示时,重启并拔出USB驱动器。
TrueNAS SCALE应该会启动,首次启动可能需要一些时间,因为许多服务需要生成文件、配置服务并首次启动它们。
就我而言,首次启动时,“ix-etc”服务未能启动(超时),其作用是生成TrueNAS的“/etc”文件。启动后,我选择进入Linux控制台,然后运行命令“systemctl start ix-etc”,并重启。
重启后,TrueNAS似乎能够毫无问题地启动所有服务,包括网页用户界面(UI)。我访问了控制台上打印的IP地址,以我在安装过程中设置的管理员用户身份登录,然后进入了TrueNAS仪表板:
当前限制
目前,大部分限制都与UEFI模式下缺少的功能有关;由于树莓派尚未将RP1支持推送到Linux内核中,且尚无人对RP1接口进行逆向工程,因此你无法使用:
用于显示器/摄像头的相机串行接口(CSI)/显示串行接口(DSI)连接
通用输入输出(GPIO)
内置以太网
以太网限制尤其令人烦恼,因为你不得不像在大多数运行Windows on Arm的非高通系统上一样,使用外部USB以太网适配器。
来自苏塞(SUSE)的安德烈亚·德拉波尔塔(Andrea della Porta)在树莓派的帮助下,致力于将RP1支持引入Linux上游,但进展有些缓慢。
最近我越来越好奇:为什么树莓派一开始不考虑官方支持UEFI呢?无论是否得到微软的官方认可,能够在树莓派上启动原版Windows 11 for Arm都将非常棒。更不用说,任何常规的Linux Arm发行版(包括TrueNAS SCALE)也将能够启动……
下一步计划
我最近收到了一个新的硬件项目——Homelabs Pi存储服务器,它使用定制的计算模块5(CM5) SATA背板和一个可3D打印的外壳,可构建一个6盘位网络附加存储设备:
我已在CM5 Lite上安装了TrueNAS(使用与上述相同的流程),但当我安装四个SATA硬盘时,硬盘开始旋转,但未被识别。目前,树莓派5的UEFI支持不允许连接超过一个PCIe设备,而Homelabs Pi存储服务器有一个PCIe交换机,可分支为2.5吉比特每秒(Gbps)以太网和一个6端口SATA控制器。
这些设备在树莓派操作系统上均可开箱即用(我能够设置一个ZFS阵列,通过内置的2.5G以太网获得250兆字节每秒(MB/s)的传输速度——见下文),但在UEFI模式下运行时,目前无法识别这些设备。
我在另一台树莓派存储服务器上的树莓派操作系统下运行原版ZFS,该服务器使用四个固态硬盘,不使用硬盘。它能够保持200MB/s的写入速度,我想TrueNAS应该也能达到同样的性能。
还有一些仅支持非易失性内存高速(NVMe)的板卡,如售价50美元的GeeekPi N16四NVMe扩展板(Quad-NVMe HAT),它提供了一个相当小巧的全闪存服务器选项。但同样,由于这些板卡使用交换机芯片(因为树莓派仅限于1个PCIe通道),因此以目前的情况来看,TrueNAS无法访问这些驱动器。如果你想在树莓派上使用TrueNAS,而不是仅仅自己管理ZFS,最好的选择是使用专用扩展板或串行高级技术附件(SATA)控制器或信息技术(IT)模式下的主机总线适配器(HBA),以将磁盘直接连接到树莓派。
由于当前UEFI的限制,我仍然建议在更高端的Arm硬件(如Ampere服务器)上运行TrueNAS。或者,你也可以选择乏味的方式,直接在x86架构上安装TrueNAS,那里完全支持它。
如果你想查看具体产品内容,可以通过原文进行了解:
https://www.jeffgeerling.com/blog/2025/how-install-truenas-on-raspberry-pi
官方网站:https://edatec.cn/zh/cm0
淘宝店铺:https://edatec.taobao.com/
1045