Создать несколько разделов SquashFS - PullRequest
3 голосов
/ 03 августа 2010

Я работаю на встроенной платформе (процессор Broadcom bcm5358u с ядром MIPS), где мне нужны дополнительные разделы для дальнейшей процедуры обновления. Используемая файловая система - SquashFS, поэтому я соответственно изменил «struct mtd_partition», которая передается в код, связанный с MTD, и в итоге я получил следующее:

#cat /proc/partitions
major minor  #blocks  name

 - 31     0        128 mtdblock0
 - 31     0        128 mtdblock0
 - 31     1       6016 mtdblock1
 - 31     2       4573 mtdblock2
 - 31     3       6016 mtdblock3
 - 31     4       4445 mtdblock4
 - 31     5       4160 mtdblock5
 - 31     6         64 mtdblock6

Теперь я хочу иметь возможность монтировать / dev / mtdblock4 в качестве временного хранилища во время обновления системы, но я не могу этого сделать, потому что похоже, что в этом разделе mtdblock4 не установлена ​​ФС. Образ ядра и FS объединены в одном образе, который отображается в / dev / mtdblock2 (который передается ядру как root_fs).

Я вижу только одно решение: создайте пустой образ squashFS, запишите его в / dev / mtdblock4 и, возможно, он будет работать так, как я хочу (?). Есть ли способ, например, отформатировать раздел на лету, всякий раз, когда ядро ​​загружается, или это нарушает концепции MTD?

Спасибо.

Ответы [ 3 ]

1 голос
/ 03 августа 2010

Вы можете смонтировать файловую систему JFFS2 на пустой (стертой) флэш-памяти. Будет автоматически «отформатировать» раздел flash во время монтирования. Squashfs не является хорошим кандидатом, потому что это файловая система только для чтения.

0 голосов
/ 04 августа 2010

Спасибо за ответы.

Да, SquashFS доступна только для чтения, но, тем не менее, я могу обновить свою систему через веб-интерфейс, предоставленный поставщиком платформы.SDK платформы предоставляет API для прямого доступа к MTD из пространства пользователя.

0 голосов
/ 04 августа 2010

Есть ли причина, по которой вы не можете создать монтировку новой FS на лету?

Вам определенно не нужен пустой образ squashFS.Если вам нужно временное хранилище с возможностью записи, вы можете использовать что-то вроде тома tmpfs .Если вам нужна поддержка перезагрузки системы, вы можете использовать JFFS на сыром флеш-устройстве.Вы должны иметь возможность форматировать / монтировать устройства MTD так же, как и любое другое блочное устройство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...