Как стать автором
Обновить

Комментарии 17

Спасибо за статью. Особенно полезно для разворачивания файловой системы. Только недавно подобная задача появилась. Но там сборка uboot, linux своим комплектом собранным buildroot.

В следующей статье как раз буду писать, как разом собирать всё из buildroot. У него есть все настройки и для ATF и для U-Boot и для всего остального кроме FSBL и PMUFW.

Просто когда задача заключается в том, чтобы работала в неизменяемой фс, то проблем нет. Cramfs в помощь. А вот когда у нас используется изменяем фс, то появляются проблемы с развертыванием

buildroot тоже не предполагает изменения собранного набора пакетов. Тем не менее, вы можете доставить туда opkg, настроить его, и устанавливать что душе угодно. Ну или там арч какой-нибудь поднять

А не подскажите - пробовали ли вариант без sd карты? т.е. всё чисто на QSPI? Вроде как доки это позволяют просто интересно насколько это работоспособно.

Вполне работоспособно, разве что у вас FS будет readonly. Вернее, все изменения в рантайме вы в QSPI не запишете. А ещё на QSPI долго грузится прошивка. Прям сильно долго, я бы сказал. Думаю, полный образ (а это мегабайт 150) будет грузиться около часа

QSPI не для слабаков)

В общем, пока путь linux from stratch пройти не удалось ибо не вкурил в настройки uboot, но ради интереса запустил всё из QSPI собрав всё через Petalinux - проблем по скорости загрузки не заметил (где то 5 секунд для флешки подключенной через Dual Parallel)

Я имел в виду прошивка долго заливается в QSPI с ПК. А запускается она не медленнее, а может даже и быстрее (интерфейс QSPI, вроде быстрее чем SD2.0, но это не точно).

На таких толстых флешках вполне себе можно развернуть полноценную rw файловую систему. Я периодически использую UBIFS - она еще дает неплохую экономию места засчет встроенного сжатия содержимого. При некоторых танцах с бубном можно эту фс сделать видимой и из u-boot.

Спасибо за статью. Жаль, что Zynq UltraScale фактически теперь недоступен. В отличии от того же Zynq-7000, который можно купить на Китайских стоках.

SoM и отладочные платы вполне присутствуют даже на алиэкспресс

Есть вопрос в скрипте запуска указывалось устройство где лежит фс root="/dev/mmcblk1p2" . К этому устройству потом примонтируется линукс на этапе запуске. Но не на всех платах имя именно такое. Есть ли какая-то закономерность в названии этого устройства? Или есть возможность предопределить имя?

К MMC на цинке, похоже, относятся интерфейсы SD0 и SD1. Если в SDT отключить интерфейс SD0, то имя будет "/dev/mmcblk0___". p2 означает второй раздел.

Если вы хотите грузить систему с, например, USB или SATA диска, то надо указать в devicetree соответствующий файл устройства. Конкретное имя не подскажу, но можете его найти в интернете или выяснить эмпирически - включая и выключая различные устройства в дереве.

P.S. под отключить SD0, я имел в виду, оставить только тот интерфейс, к которому подключена SD-карта. У меня на плате к SD0 подключена EMMC FLASH, а микросд - к SD1

Благодарю за столь подробный ответ

Можно зафиксировать за интерфейсами конкретные номера. Можно почитать в обновлённом разделе Device Tree (продолжение).

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории