ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: EXT2-fs  (Прочитано 9040 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Александр Глухов

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 122
EXT2-fs
« : 31 Октября, 2014, 12:08:12 »

Здравствуйте, у меня в Тионе после кнопки ресет сыпятся такие ошибки:
EXT2-fs (mmcblk0p3): error: ext2_lookup: deleted inode referenced: 318416
После этого только заново флешку писать. Подскажите, это как то лечится или в чём причина этой проблемы?
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: EXT2-fs
« Ответ #1 : 31 Октября, 2014, 12:23:03 »

Скорее всего, связано с тем, что были активные операции или открытые файлы на SD-карте в момент перезагрузки.

Варианты решения:
1. Отмонтировать SD-карту перед перезагрузкой.
2. Использовать журналируемую файловую систему, например jffs2.

Можно попробовать исправить ошибки с помощью fsck.
Записан

Александр Глухов

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 122
Re: EXT2-fs
« Ответ #2 : 31 Октября, 2014, 12:32:02 »

Хорошо, спасибо, буду разбираться. Насчет файловой системы, я так понимаю это уже в настройках buildroot'а искать. А как флешку с такой системой создавать? Я ж раньше только mk_mx28_sd_v2 скриптом создавал)

И где можно найти, как отмонтировать флешку?
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: EXT2-fs
« Ответ #3 : 31 Октября, 2014, 12:41:01 »

EXT2-fs (mmcblk0p3) - это не флешка, это SD-карта. На внутренней флешке используется ubifs.

Отмонтировать можно командой umount.

Вынимать SD-карту при загруженной ОС также не стоит.

Скрипт mk_mx28_sd_v2 создает на SD-карте ext2-fs. Чтобы была другая файловая система, нужно переписывать скрипт.
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: EXT2-fs
« Ответ #4 : 31 Октября, 2014, 13:05:41 »

> Я ж раньше только mk_mx28_sd_v2 скриптом создавал)

1. Скопировать содержимое /boot с SD-карте (лучше поместить его в rootfs
overlay в Buildroot).

2. В созданном mk_mx28_sd_v2 скриптом разделе ext2 удаляете всё (кроме
/boot, если вы его не скопировали в п.1) и разархивируете файлы из
output/images/rootfs.tar (sudo tar xf output/images/rootfs.tar -C
/media/mounted-sd; sudo umount /media/mounted-sd)

jffs2 на SD-карте нет смысла использовать, так как она предназначена для "чистых" микросхем, без промежуточного контроллера.
Записан

Александр Глухов

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 122
Re: EXT2-fs
« Ответ #5 : 05 Ноября, 2014, 08:44:49 »

Похоже не так поняли, или я что-то не понял. Когда уже SD-карта в тионе, тион запущен, приложение работает. При нажатии на тионе кнопки B1 (reset) (или включении/выключении питания) при следующем запуске получаю такие ошибки:
EXT2-fs (mmcblk0p3): error: ext2_lookup: deleted inode referenced: 318416
Как с ними бороться, чтобы при перезагрузке такого не возникало?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: EXT2-fs
« Ответ #6 : 05 Ноября, 2014, 08:46:56 »

> Как с ними бороться, чтобы при перезагрузке такого не возникало?

Не нажимать на кнопку сброса без необходимости.
Записан

Александр Глухов

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 122
Re: EXT2-fs
« Ответ #7 : 05 Ноября, 2014, 08:53:02 »

В том то и проблема, что необходимость возникает и будет возникать, и особенно будет необходимость во включении/выключении питания. Как можно решить эту проблему? Если записывать КФС на память Тиона это что-то изменит?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: EXT2-fs
« Ответ #8 : 05 Ноября, 2014, 09:13:28 »

По простому: монтируйте только на чтение, используйте ext3, проверяйте ФС (только на чтение) при включении.

По нормальному: обрабатывать сброс (включать сторожевой таймер и сбрасываться по нему, только когда не успел перед сбросом разобраться с ФС, обрабатывать отключение питания (также, но нужен аккумулятор).
Записан

Александр Глухов

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 122
Re: EXT2-fs
« Ответ #9 : 05 Ноября, 2014, 10:30:15 »

Спасибо, буду разбираться, похоже использование ext3 помогло
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: EXT2-fs
« Ответ #10 : 05 Ноября, 2014, 11:07:19 »

> ext3
Нет, пока просто везёт.
Записан

Paul

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 53
Re: EXT2-fs
« Ответ #11 : 12 Ноября, 2014, 09:24:56 »

По простому: монтируйте только на чтение, используйте ext3, проверяйте ФС (только на чтение) при включении.

По нормальному: обрабатывать сброс (включать сторожевой таймер и сбрасываться по нему, только когда не успел перед сбросом разобраться с ФС, обрабатывать отключение питания (также, но нужен аккумулятор).

Столкнулся с аналогичной проблемой: содержимое SD-карты сыпится после отключения.
Причем лечение командой fsck не всегда помогает.

Можно описать подробнее, каким образом выполняется монтирование только на чтение и формирование файловой системы ext3?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: EXT2-fs
« Ответ #12 : 12 Ноября, 2014, 09:47:42 »

На чтение ro в cmdline ядра и отсутствие перемонтирования с rw в скриптах и /etc/fstab

ext3 поменять с ext2 в mk_mk28_sd
Записан

Paul

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 53
Re: EXT2-fs
« Ответ #13 : 20 Февраля, 2015, 08:23:06 »

На чтение ro в cmdline ядра

Сделал т.о., система стала стабильнее, но вот какая проблема получается: программе требуется сохранять рабочие файлы, причём их объём достаточно большой (чтобы сохранять на внутреннюю флэшь), т.о. требуется периодически монтировать ФС в режиме разрешения записи на время записи, далее перемонтировать в режиме только чтения, вопрос как это сделать? или есть вариант более корректный для данной возможности? например, сделать отдельный раздел на SD, который будет монтироваться в режиме rw.
Записан

Paul

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 53
Re: EXT2-fs
« Ответ #14 : 26 Февраля, 2015, 08:05:37 »

Скрипт mk_mx28_sd создаёт ещё два раздела на SD-карте, для чего они? можно ли их менять/форматировать и т.д ?
« Последнее редактирование: 26 Февраля, 2015, 08:16:48 от Paul »
Записан