Подумал-подумал, и понял, что самый простой в использовании вариант, не сильно привязанный к компилятору, да ещё чтобы работал и под win и под *nix с bin2c и получается. Единственно, хорошо было бы (чем именно?) чтобы это был один файл не экзотического формата. cpio в бубунте доступен "искаропки"; romfs ставится под именем genromfs; cramfs вроде тоже доустанавливать надо (не успел проверить на работе). В чём тогда разница? Хранить права? Да ну их, в минималистичном-то варианте. С другой стороны, если полезной будет, то может и пригодится, даже в ОСи типа freeRTOS. Размер кода? Кмк, сопоставим. Быстродействие? то же самое. Остаётся расход ROM на заголовки и уже имеющееся поддержка. Минимальный комплект видится такой: утилита для запаковки-распаковки образа, утилита подключения к проекту(bin2c) и хорошо бы заготовки функций для работы с файлами. В идеале - стыкующаяся с libc.
romfs - около 4к кода обещают, размер образа 4Гб (32 бита), файла - 256Мб(28 бит).
cpio - выкинули из POSIX, т.к. "having a file size limitations of 2,147,483,647 bytes (2 GB) and 8,589,934,591 bytes (8 GB), respectively." С другой стороны - актуальная фича - права, 26 байт на файл..
cramfs - File sizes are limited to less than 16MB; Maximum file system size is a little under 272MB
Все случаи избыточны для большинства применений. Разница между первыми двумя - CRC vs права. На мой взгляд самым интересным видится cpio или старичок romfs. И они со мной согласны. Кроме того, надо залезть в их WOFS . В нём замена файлов очень легко реализуется: затираем старый фал какой-нить ахинеей, а в конце дописываем актуальные данные. Если место есть ;-)