![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
rukudias |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: нет Всего: 0 |
Привет всем!
Вопрос собственно как узнать тип файл системы для раздела используя Си? Те понятно нужно читать файл /dev/sda1 но какой байт в "метадате" определяет тип ФС ? Спасибо. |
|||
|
||||
triclosan |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: нет Всего: 12 |
имхо, стандарта нет
|
|||
|
||||
svlary |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 8.9.2009 Репутация: 4 Всего: 4 |
Прочитать файл /etc/mtab. Он содержит нечто вроде :
По моему - все понятно. |
||||
|
|||||
powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 5 Всего: 97 |
В линукс есть такая штука, как filesystem id (fs id). Например, у ext3 fs id = 0x83 (Linux native). Посмотреть можно с помощью blkid.
man страница по blkid должна помочь. Ещё можно посмотреть на GUID раздела: GUID_Partition_Table. По идее, тип фс, возможно, берётся оттуда. Это сообщение отредактировал(а) powerfox - 17.12.2010, 14:48 |
|||
|
||||
rukudias |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: нет Всего: 0 |
Спасибо за ответы!
Возникло дополнительное условие Как это все выполнить на Embedded linux где только BusyBox? думал на PC вызвать SOMEtrace blkid /dev/sdb2 и посмотреть откуда берётся инфа но как то с наскока не получилось. |
|||
|
||||
svlary |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 8.9.2009 Репутация: 4 Всего: 4 |
|
|||
|
||||
triclosan |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: нет Всего: 12 |
||||
|
||||
powerfox |
|
||||||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 5 Всего: 97 |
Это если раздел смонтирован.
Скачайте исходники и посмотрите.
http://en.wikipedia.org/wiki/Embedded_Linux |
||||||
|
|||||||
svlary |
|
||||||||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 8.9.2009 Репутация: 4 Всего: 4 |
Там написано :
Т.е. ничего конкретного... Про ОС, которая стоит на девайсе, для которого я пишу ПО, я могу сказать, что это Gentoo 2008 года. Windows embeded - это тоже вполне конкретный вариант ОС Windows. Вот я и хотел уточнить. Как написано в правилах форума :
Насколько я понял первоначальную постановку вопроса, речь не идет о том, что бы определять тип ФС на этапе загрузки ОС. Поэтому :
я думаю, выполняется... Добавлено через 11 минут и 40 секунд
Не совсем понял, что имеется в виду под словом "прошивка" ? То, что я привел, это просто содержимое файла /etc/mtab ! В моем сообщении прямо написано :
Если Вы удивляетесь, почему там нет строк, содержащих /dev/sda.... то это просто потому, что в моей железяке нет винчестеров, только память на флэшках. А для инструментального моего компа, этот фай имеет вид :
|
||||||||||||||
|
|||||||||||||||
powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 5 Всего: 97 |
Само понятие «Embedded» довольно размыто. Это может быть мобильник, а может быть стиральная машина. Часто с Embedded Linux связывают Realtime Linux.
При загрузке необязательно монтировать разделы. Более того монтирование раздела может его модифицировать. Ваше решение рабочее и простое, но это workaround, а не generic. |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
читать /etc/mtab нет никакого смысла. уж лучше /proc/mounts.
Но более надежно посмотреть исходники udev. Вот еще код из nash:
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |