Загрузка Raspberry Pi 3b+ с внешнего SSD

Долго доходили руки до rpi, дошли. Пару лет назад хотелось запустить её под простенький проект умного дома на Home Assistant. Карты microSD и USB FD для таких сценариев не предназначены, нужен полноценный накопитель, с адекватным ресурсом работы. Выбор пал на SATA SSD Kingston 250Gb. Чтобы подключить SSD к rpi нужен переходник USB to SATA. Оказалось, что далеко не каждый переходник подходит.

Пришлось купить 3 переходника, и нормально из них заработал только 1.

1 переходник usb 2.0 без дополнительного питания работать отказался полностью.

2 переходник usb 2.0 с дополнительным питанием по отдельному кабелю usb работал, но из-за того, что вся переферия лежит на общей линии 5v, при попытке выключить, перезагрузить rpi питание со входа microUSB перехватывалось линией 5v на USB, которое поступало из внешнего питания адаптера. Видимо, такое качество контроллера адаптера usb to sata, что позволяет такую коммутацию питания. *Костыль для решения этой проблемы: первым подключаем питание  переходника, вторым подключаем питание rpi по microUSB, после запуска и полной загрузки системы отключаем питание от переходника. Костыль абсолютно бесполезный,  потому что максимум, что можно будет сделать удалённого — это дать rpi выключился. Если попробовать перезагрузить, без внешнего питания переходника система не заведётся, а постоянное физическое присутствие абсурдно. В конце расскажу, почему такая чехарда с питанием.

3 переходник usb 3.0. Завёлся. Работает. Все как надо.

На самом деле, все переходники корректно работают, но у них у всех разное время загрузки контроллера sata. В 1-м переходнике самая длительная загрузка, пока он включается, rpi успевает проверить все порты на наличие внешних накопителей с операционной системой, и не видя ничего просто перестаёт загружаться. Выставлять delay на загрузчик бесполезно, так как файл конфигурации загрузчика находится на носителе, который не успевает загружаться. Во 2-ом переходнике действует также логика, что и у 1-ого, но тут на помощь приходит внешнее питание, которое позволяет сначала запустить контроллер sata, а уже потом запустить rpi. У 3-го переходника самый быстрый загрузчик контроллера sata, он успевает загрузиться до того, как rpi начинает проверять порты.

Информации в сети по данной проблеме катастрофически мало, новая уже не появится, так как rpi 3b+ уже раритет, основная часть комьюнити давно перешла на модели от 4 и выше, где нет таких проблем.  В моём случае выбор на 3b+ остановлен только потому, что она уже есть на руках.

Начинается погружение в Home Assistant, впереди ещё очень много боли. 🙂