ЗАО «ЗЭО»

Техническая поддержка пользователей => Тион-Про28, Орион28 => Тема начата: Александр Глухов от 31 Октября, 2014, 12:08:12

Название: EXT2-fs
Отправлено: Александр Глухов от 31 Октября, 2014, 12:08:12
Здравствуйте, у меня в Тионе после кнопки ресет сыпятся такие ошибки:
EXT2-fs (mmcblk0p3): error: ext2_lookup: deleted inode referenced: 318416
После этого только заново флешку писать. Подскажите, это как то лечится или в чём причина этой проблемы?
Название: Re: EXT2-fs
Отправлено: Danila от 31 Октября, 2014, 12:23:03
Скорее всего, связано с тем, что были активные операции или открытые файлы на SD-карте в момент перезагрузки.

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

Можно попробовать исправить ошибки с помощью fsck.
Название: Re: EXT2-fs
Отправлено: Александр Глухов от 31 Октября, 2014, 12:32:02
Хорошо, спасибо, буду разбираться. Насчет файловой системы, я так понимаю это уже в настройках buildroot'а искать. А как флешку с такой системой создавать? Я ж раньше только mk_mx28_sd_v2 скриптом создавал)

И где можно найти, как отмонтировать флешку?
Название: Re: EXT2-fs
Отправлено: Danila от 31 Октября, 2014, 12:41:01
EXT2-fs (mmcblk0p3) - это не флешка, это SD-карта. На внутренней флешке используется ubifs.

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

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

Скрипт mk_mx28_sd_v2 создает на SD-карте ext2-fs. Чтобы была другая файловая система, нужно переписывать скрипт.
Название: Re: EXT2-fs
Отправлено: asv от 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-карте нет смысла использовать, так как она предназначена для "чистых" микросхем, без промежуточного контроллера.
Название: Re: EXT2-fs
Отправлено: Александр Глухов от 05 Ноября, 2014, 08:44:49
Похоже не так поняли, или я что-то не понял. Когда уже SD-карта в тионе, тион запущен, приложение работает. При нажатии на тионе кнопки B1 (reset) (или включении/выключении питания) при следующем запуске получаю такие ошибки:
EXT2-fs (mmcblk0p3): error: ext2_lookup: deleted inode referenced: 318416
Как с ними бороться, чтобы при перезагрузке такого не возникало?
Название: Re: EXT2-fs
Отправлено: asv от 05 Ноября, 2014, 08:46:56
> Как с ними бороться, чтобы при перезагрузке такого не возникало?

Не нажимать на кнопку сброса без необходимости.
Название: Re: EXT2-fs
Отправлено: Александр Глухов от 05 Ноября, 2014, 08:53:02
В том то и проблема, что необходимость возникает и будет возникать, и особенно будет необходимость во включении/выключении питания. Как можно решить эту проблему? Если записывать КФС на память Тиона это что-то изменит?
Название: Re: EXT2-fs
Отправлено: asv от 05 Ноября, 2014, 09:13:28
По простому: монтируйте только на чтение, используйте ext3, проверяйте ФС (только на чтение) при включении.

По нормальному: обрабатывать сброс (включать сторожевой таймер и сбрасываться по нему, только когда не успел перед сбросом разобраться с ФС, обрабатывать отключение питания (также, но нужен аккумулятор).
Название: Re: EXT2-fs
Отправлено: Александр Глухов от 05 Ноября, 2014, 10:30:15
Спасибо, буду разбираться, похоже использование ext3 помогло
Название: Re: EXT2-fs
Отправлено: asv от 05 Ноября, 2014, 11:07:19
> ext3
Нет, пока просто везёт.
Название: Re: EXT2-fs
Отправлено: Paul от 12 Ноября, 2014, 09:24:56
По простому: монтируйте только на чтение, используйте ext3, проверяйте ФС (только на чтение) при включении.

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

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

Можно описать подробнее, каким образом выполняется монтирование только на чтение и формирование файловой системы ext3?
Название: Re: EXT2-fs
Отправлено: asv от 12 Ноября, 2014, 09:47:42
На чтение ro в cmdline ядра и отсутствие перемонтирования с rw в скриптах и /etc/fstab

ext3 поменять с ext2 в mk_mk28_sd
Название: Re: EXT2-fs
Отправлено: Paul от 20 Февраля, 2015, 08:23:06
На чтение ro в cmdline ядра

Сделал т.о., система стала стабильнее, но вот какая проблема получается: программе требуется сохранять рабочие файлы, причём их объём достаточно большой (чтобы сохранять на внутреннюю флэшь), т.о. требуется периодически монтировать ФС в режиме разрешения записи на время записи, далее перемонтировать в режиме только чтения, вопрос как это сделать? или есть вариант более корректный для данной возможности? например, сделать отдельный раздел на SD, который будет монтироваться в режиме rw.
Название: Re: EXT2-fs
Отправлено: Paul от 26 Февраля, 2015, 08:05:37
Скрипт mk_mx28_sd создаёт ещё два раздела на SD-карте, для чего они? можно ли их менять/форматировать и т.д ?
Название: Re: EXT2-fs
Отправлено: Paul от 02 Марта, 2015, 12:31:05
Скрипт mk_mx28_sd создаёт ещё два раздела на SD-карте, для чего они? можно ли их менять/форматировать и т.д ?

Кто-нибудь здесь знает ответ?!!!
Название: Re: EXT2-fs
Отправлено: Danila от 02 Марта, 2015, 13:10:53
В скрипте есть пояснения.
Первый раздел - загрузчик, второй - образ ОС, третий КФС.
Можно изменить размер третьего раздела под размер КФС, остальное занять под свои нужды.
Название: Re: EXT2-fs
Отправлено: Paul от 04 Марта, 2015, 09:10:03
В скрипте есть пояснения.
Первый раздел - загрузчик, второй - образ ОС, третий КФС.
Можно изменить размер третьего раздела под размер КФС, остальное занять под свои нужды.

1) С этим разобрался, сделал доп.раздел, который, кстати, не монтируется из fstab.
/dev/mmcblk0p4  /mnt/localdisk ext3 rw,noauto         0       0- строка не имеет эффекта, почему? Через команду mount всё работает.

2) Также вопрос: почему программа находясь в монтированной КФС в режиме только чтения, безпрепятственно осуществляет в неё запись?

bootargs=console=ttyAM0,115200n8
bootdelay=3
baudrate=115200
ipaddr=192.168.1.103
serverip=192.168.1.101
netmask=255.255.255.0
bootfile="uImage"
loadaddr=0x42000000
nfsroot=/home/notroot/nfs/rootfs
bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serveri
p}:${nfsroot},v3,tcp fec_mac=${ethaddr}
bootcmd_net=run bootargs_nfs; dhcp; bootm
ethact=FEC0
bootcmd_mmc=run bootargs_mmc; mmc read 0 ${loadaddr} 100 3000
mmc_root=/dev/mmcblk0p3 ro rootwait
bootargs_mmc=setenv bootargs ${bootargs} root=${mmc_root}
bootcmd=run bootcmd_mmc; bootm
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 2009.08 (Jun 26 2014 - 09:58:37)
Название: Re: EXT2-fs
Отправлено: miks от 28 Июля, 2015, 12:02:44
Подниму тему если ТС читает. Разобрались с ro rootfs?
P.S. Стартовые скрипты надо было еще выложить