|
|
  |
Выбор файловой системы для встраиваемых устройств |
|
|
|
Nov 6 2005, 20:09
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(3.14 @ Nov 6 2005, 19:38)  Я так полагаю, что FAT что EXT2 никак не подходят для использования в портативных устройствах с автономным питанием. Почему не подходят? Все зависит от условий их применения и, следовательно, от характера использования устройства. Но если журналирование обязательно, то эти ФС точно не подойдут. Цитата Поагаю нужно выбитать либо EXT3 либо JFFS ... ? Но ведь есть еще YAFFS, YAFFS2, JFFS2 и, думаю, другие ФС. Но эти самые известные. Какие критерии выбора? Цитата Еще, на данный момент, драйвер флешки у меня я вляется внешним модулем, который загружается после загрузки системы, как включить драйвер в ядро? Можно этот вопрос свести к другому - а это необходимо? Ведь модуль драйвера устройства включают в ядро (монолит) обычно в том случае, если хотят грузиться с этого устройства. То же касается и модуля для работы с файловой системой. Если в данном случае линукс не планируется грузить с этой флешки, то и включать модуль в ядро не обязательно. Чтобы включить драйвер в ядро, нужно перенести его в дерево исходных текстов ядра и подправить Makefile в соответствующем каталоге. Кроме того, нужно в драйвере пометить функции инициализации и деинициализации с помощью атрибутов __init и __exit.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Nov 7 2005, 06:37
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609

|
Цитата Почему не подходят? Все зависит от условий их применения и, следовательно, от характера использования устройства. Но если журналирование обязательно, то эти ФС точно не подойдут. Ну, например, устройство начало сохранять данные на флешку и в этот момент пропало питание? Цитата Цитата Поагаю нужно выбитать либо EXT3 либо JFFS ... ? Но ведь есть еще YAFFS, YAFFS2, JFFS2 и, думаю, другие ФС. Но эти самые известные. Какие критерии выбора? Простота и надежность, все-таки процессор у меня на 25 MIPS, не хочется озадачивать его лишними вещами. Цитата Цитата Еще, на данный момент, драйвер флешки у меня я вляется внешним модулем, который загружается после загрузки системы, как включить драйвер в ядро? Можно этот вопрос свести к другому - а это необходимо? Ведь модуль драйвера устройства включают в ядро (монолит) обычно в том случае, если хотят грузиться с этого устройства. То же касается и модуля для работы с файловой системой. Если в данном случае линукс не планируется грузить с этой флешки, то и включать модуль в ядро не обязательно. Чтобы включить драйвер в ядро, нужно перенести его в дерево исходных текстов ядра и подправить Makefile в соответствующем каталоге. Кроме того, нужно в драйвере пометить функции инициализации и деинициализации с помощью атрибутов __init и __exit. Именно, потому что я хочу глрузить uClinux с флешки. Мало того, в планах грузить FPGA то же с этой же флешки (через внешний контроллер).
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
Nov 7 2005, 07:34
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(3.14 @ Nov 7 2005, 09:37)  Цитата Почему не подходят? Все зависит от условий их применения и, следовательно, от характера использования устройства. Но если журналирование обязательно, то эти ФС точно не подойдут. Ну, например, устройство начало сохранять данные на флешку и в этот момент пропало питание? Понимаю. У самого была такая проблема в одном устройстве, где использовались AT45DBxxx. Пришлось написать свою маленькую журналируемую файловую систему для микроконтроллера. Таким образом, от файловой системы требуется журналирование. Цитата Цитата Цитата Поагаю нужно выбитать либо EXT3 либо JFFS ... ? Но ведь есть еще YAFFS, YAFFS2, JFFS2 и, думаю, другие ФС. Но эти самые известные. Какие критерии выбора? Простота и надежность, все-таки процессор у меня на 25 MIPS, не хочется озадачивать его лишними вещами. 25 MIPS - это совсем не много. Но тут есть и другое ограничение. Все вышеперечисленные файловые системы имеют довольно большой аппетит до памяти. Цитата Цитата Цитата Еще, на данный момент, драйвер флешки у меня я вляется внешним модулем, который загружается после загрузки системы, как включить драйвер в ядро? Можно этот вопрос свести к другому - а это необходимо? Ведь модуль драйвера устройства включают в ядро (монолит) обычно в том случае, если хотят грузиться с этого устройства. То же касается и модуля для работы с файловой системой. Если в данном случае линукс не планируется грузить с этой флешки, то и включать модуль в ядро не обязательно. Чтобы включить драйвер в ядро, нужно перенести его в дерево исходных текстов ядра и подправить Makefile в соответствующем каталоге. Кроме того, нужно в драйвере пометить функции инициализации и деинициализации с помощью атрибутов __init и __exit. Именно, потому что я хочу глрузить uClinux с флешки. Мало того, в планах грузить FPGA то же с этой же флешки (через внешний контроллер). Так... Ведь сам себя uClinux с флешки загрузить не может. Его грузит бутлоадер, который загружает ядро в память, распаковывает его и передает ему управление. Т.е. в данном случае начинать нужно с бутлоадера, который должен уметь грузить ядро с флешки. После этого стоит думать о самом ядре и включать в его состав драйвер флешки, чтобы ядро могло работать с корнем файловой системы, размещенной на флешке.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Nov 8 2005, 08:42
|

Местами Гуру
    
Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323

|
Цитата(3.14 @ Nov 6 2005, 19:38)  Я так полагаю, что FAT что EXT2 никак не подходят для использования в портативных устройствах с автономным питанием. Поагаю нужно выбитать либо EXT3 либо JFFS ... ?
Еще, на данный момент, драйвер флешки у меня я вляется внешним модулем, который загружается после загрузки системы, как включить драйвер в ядро? Тут все от памяти зависит - если ее много, лучше использовать готовое журналируемое решение, если мало, то есть 2 варианта - спереть tinyfs (инфы про журналируемость правда нету) или написать свою, что IMHO лучше. На простую (без директорий) журналируемую fs у меня ушло 3 дня и 100 байт RAM'а + размер буфера для сектора. При использовании флеша со встроенными буферами (типа at45dbxxx) можно уложиться в 100 байт.
|
|
|
|
|
Nov 23 2005, 07:37
|
Участник

Группа: Новичок
Сообщений: 65
Регистрация: 18-11-05
Пользователь №: 11 054

|
makc > Т.е. в данном случае начинать нужно с бутлоадера, который должен уметь грузить ядро с флешки. > После этого стоит думать о самом ядре и включать в его состав драйвер флешки, чтобы ядро могло > работать с корнем файловой системы, размещенной на флешке. Чтобы загрузить ядро с флэшки надо загрузить драйвер файловой системы и драйвер флэшки _до_ передачи управления ядру. Иначе получится kernel panic  )) Можно поискать варианты с mkinitrd - например в suse такая возможность заложена штатно. зы попробовал приаттачить файл - не получилось 3.14Хотя и не в embedded приложениях, но в варианте частых сбоев питания у меня работали ext3 и reiserfs - нареканий не было.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|