Варианты существуют, и вот преимущества...
Один раздел mtd и 3 тома
Слой UBI будет управлять объемом. Это уровень виртуализации флэш-памяти, который преобразует ненадежную флэш-память в надежную память. Слой UBI выполняет выравнивание износа. Даже для данных только для чтения полезно время от времени перезаписывать данные. Это перезарядит плавающие ворота и т. д., чтобы данные дольше оставались читаемыми. Для данных чтения-записи это очень полезно для долговечности. Выравнивание износа UBI будет происходить по всем объемам. Это существенно увеличивает количество циклов стирания-записи, с которыми может справиться файловая система.
3 раздела mtd, по 1 тому каждый
Обычно это менее желательно, но есть преимущества, и это может подойти некоторым пользователям. В основном наличие отдельного раздела повышает надежность монтирования одного тома. Если что-то случится с одним разделом MTD, вся флеш-память может стать непригодной для использования. Имея отдельные разделы MTD, систему MTD/UBI/UbiFS только для чтения можно использовать, когда файловая система чтения-записи не удалась.
Это действительно более выгодно для 3-го варианта,
несколько MTD со смешанными файловыми системами.
Можно поставить CramFS, RomFS на некоторые флешки, где производитель гарантирует надежность блока устройства. Это может быть загрузочная файловая система, которая является всем, что требуется для минимальной работы системы. Инструменты для управления этими разделами довольно просты (по сравнению с UBI/UbiFS) и могут быть реализованы в минимальном объеме кода. Некоторые системы имеют большую память DDR с меньшей встроенной SRAM. Загрузчики/вспышки могут иметь ограниченное пространство кода.
Тем не менее, недавно (последние два года) mtd-utils содержит код разбора UBI. Это может быть необходимо перенести на прошивальщик, код восстановления и т. д. Код восстановления может находиться в прикрепленном разделе initrd, который выполняет монтирование/отказоустойчивое восстановление разделов UBI/UbiFS.
u-boot содержит код для управления и манипулирования кодом UBI/UbiFS и использует двухэтапную загрузку (запуск из внутренней SRAM, настройка DDR и последующий перенос) на многих платформах, чтобы иметь богатую функциональность в загрузчике. . Сам u-boot должен находиться на другом устройстве ИЛИ в отдельном MTD, как указано выше.
Второй вариант 3 раздела mtd, по 1 тому на каждом, вероятно, наименее вероятен/желателен. Первый будет способствовать времени жизни системы/флеш-памяти. Последний предложит простоту более высокой надежности/восстановления. лучшее будет зависеть от того, какие данные находятся на разделах, и от ресурсов, отличных от Linux, которые у вас есть для восстановления данных. Счастливая среда — предоставить как можно больше флэш-памяти NAND для UBI и использовать тома, когда вам нужно логическое разбиение.
Обычно я задавался вопросом, зачем вообще использовать тома и просто объединять все данные в таком случае, но опять же, это зависит от характера данных.
30.10.2016