Как определить таблицу разделов для устройства e.MMC в дереве устройств? - PullRequest
0 голосов
/ 06 января 2019

Я работаю на пользовательском устройстве, которое имеет 16 ГБ e.MMC часть для хранения большой емкости. Это встроенная система, и мы используем Yocto для сборки нашего ядра и других полезностей.

Насколько я понимаю, таблица разделов может быть определена в дереве устройств, так что я могу выбирать между двумя или более таблицами разделов, используя либо одно дерево устройств с несколькими таблицами разделов в дереве устройств, либо несколько деревьев устройств, каждое с их собственная таблица разделов.

За всю свою жизнь я не могу найти ни одного примера, который показывает, как поместить таблицу разделов для MMC-устройств в дерево устройств. Может кто-нибудь указать мне рабочий пример раздела устройства хранения MMC / SD, который я мог бы посмотреть и изменить для нашего приложения?

1 Ответ

0 голосов
/ 07 января 2019

Я могу ошибаться, однако я никогда не видел разделов eMMC, указанных в дереве устройств. Разделение eMMC, как правило, является частью некоторого процесса перепрограммирования. Например, системы сборки, такие как buildroot и OpenEmbedded / Yocto, могут генерировать сжатый образ ext4 rootfs и файлы, необходимые для загрузки в соответствии с SoC, в первом разделе, который обычно имеет тип FAT32. Тем не менее, существует также дистробация, где есть только один раздел eMMC, отформатированный как ext4, и файлы, необходимые для загрузки, выбираются из / boot на этом разделе.

В зависимости от ваших настроек и требований, у вас может быть отдельный шаг для форматирования и разбиения eMMC из загрузчика, или использовать что-то вроде инструмента genimage, который генерирует один .img, взяв спецификацию требований к разделению eMMC. Смотрите genimage . Файл .img можно использовать для прошивки eMMC с помощью простого инструмента «dd».

Чтобы использовать genimage, как часть процесса сборки Yocto, вам понадобится слой meta-ptx .

Приложение: я забыл добавить, как форматировать из u-boot. Вы не упоминаете, какое именно устройство вы используете, но процесс перепрограммирования eMMC с помощью u-boot практически одинаков для всех SoC. Например, посмотрите здесь . Если вы используете barebox в качестве загрузчика, я предполагаю, что он должен быть примерно таким же, хотя я не могу сказать наверняка, поскольку я никогда не использовал barebox.

...