Теперь, когда Joel0 из сообщества TrueNAS создал форк TrueNAS, работающий на ARM, я подумал: почему бы не попробовать — на Raspberry Pi.

TL;DR
Это рабочий эксперимент: ARM-форк TrueNAS ставится на Raspberry Pi 5/CM5 через неофициальный UEFI (rpi5-uefi).
Процедура: обновить EEPROM (2025-06-09+), прошить UEFI, загрузиться с USB-ISO ARM-сборки, установить на отдельный носитель; при первом старте возможен ручной запуск
ix-etc
и перезагрузка.Жёсткие ограничения UEFI на Pi 5: нет встроенного Ethernet (нужен USB-адаптер), нет PWM/CSI/DSI/GPIO; из PCIe обычно виден только один девайс, поэтому HAT’ы с PCIe-коммутатором (много SATA/NVMe) часто не определяются.
Что в итоге: TrueNAS и веб-морда работают, но конфигурации хранения и сеть сильно урезаны. Это пригодно «пощупать» TrueNAS/ZFS на ARM, а не для продакшена.
Производительность: на том же железе под Raspberry Pi OS + ZFS получалось 200–250 МБ/с по 2.5GbE; под TrueNAS из-за ограничений UEFI/сетевых костылей ожидать ниже и нестабильнее.
Альтернативы: для практичного домашнего NAS — Raspberry Pi OS + ZFS или OpenMediaVault; для надёжности и апгрейдов — x86 или более мощные ARM-сервера (Ampere).
Сейчас у меня в стойке крутится сервер Ampere на ARM с Linux и ZFS в роли основного сервера хранения, а в студии — Raspberry Pi с четырьмя SATA-SSD и ZFS как резервная реплика. Конфигурация этих ARM-NAS опубликована у меня на GitHub.
Я много лет ждал поддержки TrueNAS на ARM, хотя, судя по настроениям в том сообществе, «ARM-серверы недостаточно мощные для серьёзных серверов хранения» — несмотря на то, что я и многие другие годами успешно их используем… но это к делу не относится.
На Raspberry Pi?
Да, именно так.
Я неоднократно убеждался: запуск современных приложений на более слабом железе — отличный способ вскрыть мелкие недочёты в конфигурации, а заодно понять, как заставить те же приложения работать заметно лучше на более мощных машинах.

От моего Pi Dramble до Petabyte Pi Project — запуск софта, рассчитанного на куда более серьёзное железо, многому меня научил. Так что, возможно, запуск TrueNAS, которому требуется 8 ГБ ОЗУ и не менее 16 ГБ на системный диск, станет неплохим учебным упражнением.
Я делал это на x86-серверах, но это скучно. Слишком просто. Когда проект проходит без сучка и задоринки, я мало чему учусь и не вынужден разбираться в конфигурационных тонкостях.
Полную демонстрацию можно посмотреть на видео, а ниже — текстовая версия:
На Raspberry Pi нет UEFI
Одна заметная проблема Raspberry Pi — отсутствие официальной поддержки UEFI, стандартного способа загрузки компьютеров и интерфейса взаимодействия операционных систем с прошивкой устройства. Официально Raspberry Pi поддерживает только загрузку Linux на основе дерева устройств (Device Tree), что гораздо менее стандартизовано. Это означает, что на Pi нельзя просто поставить «любой» дистрибутив Linux — нужны сборки, адаптированные под Pi. Для Pi действительно есть хорошие ОС, например Raspberry Pi OS на базе Debian. Но это не то же самое, что взять Windows для ARM и поставить её на мою рабочую станцию Ampere.
Чтобы обойти это ограничение, приходится опираться на форк проекта Windows on Raspberry Pi. Конкретно я использую форк rpi5-uefi от NumberOneGit.
Чтобы включить поддержку UEFI на вашем Pi 5 (для CM5 процесс может немного отличаться):
-
Обновите EEPROM до релиза 2025-06-09 (или новее — проверьте установленную версию в Raspberry Pi OS командой
rpi-eeprom-update
):а. Обычно обновиться можно через Raspberry Pi Imager,
sudo apt full-upgrade -y
илиsudo rpi-eeprom-update -a
. Однако на момент написания эти методы ставят последнюю стабильную версию (2025-05-08), поэтому до тех пор используйте один из вариантов:b. Ручное обновление загрузчика с исходников с помощью
usbboot
.c. Переключение на бета-канал загрузчика:
sudo nano /etc/default/rpi-eeprom-update
, затем поменяйтеlatest
наbeta
и выполнитеsudo rpi-eeprom-update -a
.d. После перезагрузки проверьте версию загрузчика командой
rpi-eeprom-update
. Скачайте актуальный релиз .zip из rpi5-uefi Releases.
Возьмите microSD карту, уже отформатированную для Pi (я просто вынул карту с Pi OS из своего Pi 5, на котором только что обновлял EEPROM), и очистите содержимое тома FAT32 «bootfs». Скопируйте в эту папку все файлы из скачанного .zip (включая
RPI_EFI.fd
).Извлеките microSD карту, вставьте её в Pi и подайте питание при подключённом HDMI-дисплее.
Вы должны увидеть логотип Raspberry Pi и экран загрузчика EDK2. Если у вас не установлены NVMe- или USB-носители для загрузки, появится надпись «Press any key to enter the Boot Manager Menu.»
Поскольку я не нашёл клавишу „any“, я нажал „Enter“ — и попал в стандартное меню диспетчера загрузки. Там можно настроить скорость SD-карты, частоту шины PCIe и т. п.
После того как выставите параметры по вкусу (см. некоторые рекомендации для Linux), сохраните изменения и перезагрузитесь.

TrueNAS на Pi 5
Теперь, когда Pi загружается в режиме UEFI, можно установить TrueNAS. Для этого:
Скачайте ISO-образ TrueNAS для ARM с https://truenas-releases.jmay.us (я выбрал 25.04.2).
Запишите ISO на USB-накопитель с помощью утилиты вроде Etcher.
После завершения работы Etcher извлеките USB-накопитель и вставьте его в Pi (я использовал USB 3 флеш-накопитель, поэтому подключил его к одному из синих портов USB 3 на Pi для максимальной скорости).
Если загрузка установщика TrueNAS не начнётся автоматически, выберите внешний USB-накопитель в диспетчере загрузки UEFI и загрузитесь в установщик TrueNAS.
Следуйте подсказкам установщика TrueNAS и установите систему на любой носитель, кроме установочного диска и microSD карты (я использовал вторую USB-флешку, подключённую ко второму порту USB 3). Дождитесь завершения установки.
По запросу перезагрузитесь и извлеките USB-накопитель.
Должна загрузиться TrueNAS SCALE; первый запуск может занять время, так как многим сервисам нужно впервые сгенерировать файлы, настроиться и запуститься.

В моём случае при первом запуске служба ix-etc
не запустилась (истёк тайм-аут). Её задача — сформировать содержимое /etc для TrueNAS. После загрузки я вошёл в консоль Linux, выполнил systemctl start ix-etc
и перезагрузил систему.
После перезагрузки, похоже, все службы TrueNAS стартовали без проблем, включая веб-интерфейс. Я открыл IP-адрес, показанный в консоли, вошёл пользователем admin, созданным при установке, и увидел панель управления TrueNAS.

Текущие ограничения
Сейчас большинство ограничений связано с отсутствующими возможностями в режиме UEFI: поскольку Raspberry Pi ещё не добавила поддержку RP1 в ядро Linux, и никто пока не выполнил реверс-инжиниринг интерфейсов RP1, вы не сможете использовать:
Поддержку PWM на разъёме вентилятора (нет управления вентилятором)
Подключения CSI/DSI для дисплеев/камер
GPIO
Встроенный Ethernet
Ограничение по Ethernet особенно раздражает, поскольку приходится использовать внешний USB-Ethernet адаптер — как и на большинстве систем под Windows on ARM без чипов Qualcomm.
Andrea della Porta из SUSE работает над включением поддержки RP1 в апстрим ядра Linux при содействии Raspberry Pi, но прогресс пока довольно медленный.
Всё чаще задаюсь вопросом: почему Raspberry Pi вообще не рассматривает официальную поддержку UEFI? С благословения Microsoft или без него — возможность грузить «ванильную» Windows 11 для ARM на Pi была бы отличной. Да и любой обычный Linux-дистрибутив для ARM (включая TrueNAS SCALE) тогда бы тоже загружался…
Дальнейшие шаги
Недавно ко мне приехал новый железный проект — Homelabs Pi Storage server: он использует кастомный SATA-бэкплейн для CM5 и 3D-печатный корпус под 6-дисковый NAS.

Я поставил TrueNAS на CM5 Lite (по той же процедуре, что выше), но когда подключил четыре SATA-жёстких диска, они раскрутились, однако не определились. Сейчас поддержка UEFI на Pi 5 не позволяет использовать более одного устройства PCIe, а в Homelabs Pi Storage server стоит PCIe-коммутатор, который разветвляется на 2,5 Гбит/с Ethernet и 6-портовый SATA-контроллер.
Все эти устройства прекрасно работают «из коробки» в Raspberry Pi OS (мне удалось собрать массив ZFS и получить 250 MB/s по 2,5GbE на бэкплейне Homelabs — см. ниже), но под UEFI они пока не распознаются :(

Я уже использую «чистый» ZFS под Raspberry Pi OS на другом сервере хранения на базе Raspberry Pi: там четыре SSD и ни одного жёсткого диска. Он устойчиво держит 200 МБ/с на запись, и я предполагаю, что TrueNAS сможет примерно то же.
Есть и платы только под NVMe, вроде GeeekPi N16 Quad-NVMe HAT за $50, — это компактный вариант полностью флешевого сервера. Но опять-таки: поскольку на таких платах стоят PCIe-коммутаторы (у Pi только одна линия PCIe x1), TrueNAS на текущий момент (из-за ограничений UEFI/PCIe-коммутатора) не видит ни один из этих накопителей. Если вы хотите использовать именно TrueNAS, а не просто сами управлять ZFS на Pi, лучший путь — специализированный HAT или SATA-контроллер, либо HBA в режиме IT, чтобы подключать диски напрямую к Pi.
Из-за текущих ограничений UEFI я по-прежнему рекомендую запускать TrueNAS на более производительном ARM-железе (например, серверах Ampere). Если хочется остаться на одноплатниках (SBC), для платформ на RK3588 активно разрабатывается прошивка UEFI. Она может дать больше функциональности для ряда плат — смотрите список совместимости.
Или можно не мудрствовать и поставить TrueNAS на x86, где она полностью поддерживается ;)
Если вам интересно не только ставить TrueNAS на Pi, но и глубже понимать, как работает само «железо», обратите внимание на курс «Электроника и электротехника». Он учит проектировать собственные устройства — от схемы и выбора компонентов до печатной платы и запуска прототипа. На странице курса можно ознакомиться с подробной программой, а также записаться на бесплатные уроки.
А тем, кто настроен на серьезное системное обучение, крайне рекомендуем рассмотреть Подписку — выбираете курсы под свои задачи, экономите на обучении, получаете профессиональный рост. Узнать подробнее