Спустя несколько месяцев тестирования различных SATA-карт на Raspberry Pi Compute Module 4, в ядро Raspberry Pi OS наконец-то была добавлена встроенная поддержка SATA.
До этого апдейта, если вы хотели использовать SATA HDD или SSD на их нативных скоростях и иметь при этом возможность собрать RAID-массив, то требовалось перекомпилировать ядро Linux, добавив поддержку SATA и AHCI.
Конечно же, всегда можно было использовать HDD и SSD через адаптеры SATA – USB, но это решение отнимало 10-20% от их быстродействия и не давало возможности собрать RAID-массив, по крайней мере не без дополнительных ухищрений.
Кому интересно, у этой статьи есть видео версия: SATA support is now built into Raspberry Pi OS!
Перекомпиляция ядра – это в общем-то не ракетостроение, и я даже собрал среду кросс-компиляции, чтобы данный процесс упростить. Но все же задача эта помимо того, что напрягает, так еще отнимает драгоценное время и требует регулярного повторения, если мы хотим поддерживать актуальность Pi.
Однако в этом месяце Raspberry Pi OS получила-таки встроенную поддержку практически всех контроллеров PCI Express – SATA. Теперь для ее активации достаточно лишь выполнить:
sudo apt upgrade
Это означает, что все обладатели Compute Module 4 могут вставить SATA-карту и подключать HDD или SSD, которые при условии достаточного питания будут прекрасно работать.
Подобная возможность меня особенно радует, потому что одна из основных мотиваций добавить поддержку возникла, когда я проводил тестирование совместимости PCI Express-карт с Pi для соответствующей базы данных. При этом сам код, добавляющий поддержку, стал моим первым пул-реквестом к ветке ядра Linux для Raspberry Pi.
А если задуматься, то буквально год назад я вообще не имел опыта компиляции ядра.
Нативная поддержка SATA означает возможность использования таких инструментов, как OpenMediaVault, для создания RAID NAS на базе Raspberry Pi без необходимости обслуживания кастомного ядра или выполнения дополнительной настройки.
В качестве же личного опыта я понял, что писать патчи для ядра Linux не так сложно, как мне казалось (хотя, если честно, мне не пришлось работать со списком рассылки, поскольку мой патч ушел прямиком в ветку дерева ядра Pi OS).
Хочу также отметить техническую скромность Raspberry Pi, благодаря которой я успешно реализовал проект. Именно дешевизна этого устройства и удобство его перепрошивки добавили смелости моим экспериментам, так как я знал, что в случае ошибки, она обойдется недорого.
Думаю, что многие, кто привык к работе с громоздкими настольными системами и серверами, не понимают то чувство облегчения, которое испытываешь от возможности использовать крохотный любительский компьютер, наподобие Pi.
Жаль только, что пока нельзя загружать Pi с SATA-диска. Можно загрузить его с USB, microSD, а на последних OS даже с NVMe, но в своей текущей версии загрузчик Raspberry Pi при старте не сканирует устройства SATA. Хотя это только пока.
Перевод новости Jeff Geerling: Raspberry Pi OS now has SATA support built-in
Комментарии (2)
JayK
23.08.2021 07:24"Переходников" это все таки наверное контроллеров, и не лишним будет упомянуть каких именно, новые асмедии 6 портовые допустим, будут работать?
staticmain
SATA это хорошо, но что там со скоростью обработки? Оно не будет в камень упираться?