16 (18.03.2010 09:39:35 отредактировано littre)

Re: Загрузка с карты памяти

я кажыся понял в чем дело и сегодня в первый раз система не слетела

я же недорассказал, в тот раз, когда после зависона система не могла грузиться с карты - fsck выдавал ошибку что то вроде Stale NFS file handle
гуголь про обычные линуксы рассказывает, что это ошибка файловой системы, связанная с отсутствующим монтированием NFS, для его солва советуют обратно подмонтировать nfs, прочекать, а потом снова отключить. но я то ничего по nfs не монтировал
и вот на одном единственном сайте про какие то ембеддед девайсы, на которых система крутится как раз на jffs рассказано, что этот же флаг на самом деле используется в jffs для обычного обозначения сбоя. но не так, как это делает ext2!!

сейчас попытался восстановить карту еще раз, и на этот раз наконец то система выжила!
Вот что я каждый раз делал (в общей сложности раза 3):
каждый раз после зависания телефона, приходилось его ребутить, причем выниманием батарейки, иногда он грузился, но жутко глючил, а иногда даже и не грузился. включается, показывает bootmenu, выбираю загрузку с sd карты - побегали пять точек и все. сам выключается
После этого я всегда грузился с корня, и прямо с телефона пытался чекать сбойнувшую систему. а в корне то система в ubifs. вот она своими флагами и добивает карточку...

сегодня решил действовать по другому. телефон завис еще вчера вечером, причем на обычной операции - в настройках переключал аппаратную клаву на английскую раскладку - задолбало меня каждый раз в консоли переключать язык на английский. чего оно зависло - непонятно. не напрягал ничем.
На ночь глядя, как раньше, решил аппарат не добивать, просто вынул из него батарейку, с утра покумекал, всунул батарейку, но телефон не включал, прям в выключенном состоянии подключил его по usb к компу, получил полный доступ к сбойной карточке. на убунте прочекал ее fsck, нашлось с десяток нодов, и еще столько же еще чего то. повторная проверка показала, что на сей раз ол клеар.

Отсоединил шнур, включил телефон, загрузился с карточки. Ура! Все работает

просто нельзя в телефоне из под телефона ext2 фс проверять средствами от jffs...







...
добавлю пару новых хинтов относительно переноса системы на карточку

- выяснилась одна проблема, если не переносить живую систему с корня, а расворачивать нулевую из прошивки, в ней же нет всего того, что есть в ванилле. то есть, содержимого /home. Причем все это особо и не нужно, все, что в /home создается само, по мере надобности. Все, кроме /home/opt его нужно создать ручками, ибо сам он не создается, а симлинк на него в корне /opt - становится некорректным и ни одна ОПТИФИЦИРОВАННАЯ программа не может установиться. Причем ошибку выдает какую то нечленораздельную. Для решения достаточно просто создать пустой каталог #mkdir /home/opt
после этоги корневой симлинк становится валидным и все проги ставятся замечательно

- еще более упростил процедуру подготовки карты. Создал TAR.GZ архив с содержимым оригинального нокиевого образа rootfs, который можно просто с компа через USB забросить в MyDocs и прямо на телефоне распаковать.
http://narod.ru/disk/18862818000/cleanr … ar.gz.html
http://rapidshare.com/files/364857305/c … ar.gz.html
Позже  дам точный синтаксис команды для распаковки - что то типа tar xzf rootfs.tar.gz
будем считать, что sd карта уже подготовлена, то есть где нибудь разбита на разделы и один из разделов отформатирован под ext2
как вариант дадим тут ссылку на какой нибудь подробный мануал по перебивке разделов прямо на телефоне
может этот дораспишем http://maemoworld.ru/forum/viewtopic.php?id=695
спустя то время, когда я это делал при помощи встроенного sfdisk, появились уже более удобные средства, cfdisk, fdisk
но все же проще разбить и форматнуть карту на компе

надо будет все таки распаковать ваниллу, и добавить из нее новый home в мой архивчик. так будет правильнее

Поделиться

17

Re: Загрузка с карты памяти

littre
На телефоне есть e2fsck который проверяет ext2/3 файловую систему.
Для ubifs вообще нету fsck так как он там просто не требуется. Не уверен что fsck есть для jffs. У этих файловых систем автоматически идет восстановление из журнала после сбоя при монтировании.
Правильней не искать способ как восстановить файловую систему после сбоя а стараться не допускать этих сбоев. Данные при неправильном выключении все равно могут потеряться даже если потом выполнить проверку файловой системы.

Все необходимое для воссоздания первоначальной структуры home на телефоне уже есть. За это отвечает скрипт /etc/event.d/rcS-late . В своей сборке я его немного изменил чтобы все правильно восстанавливалось при переносе корня на карту памяти. Моя прошивка основана на распакованном образе прошивки без дополнительных файлов. Если нужно могу просто выложить отдельно этот скрипт.
Для более удобного способа переноса на карту памяти я модифицированный образ сделал не в виде tar архива а в виде образа файловой системы сделанного при помощи dd. Так как в прошивке все равно он пошел изначально в ubifs раздел а на карту памяти реально записывается только после первого включения он хранится там в сжатом виде (так как ubifs все хранит в сжатом виде). Точного размера карты памяти в образе файловой системы сделанном dd я не задавал (просто взял минимально достаточный). После записи образа на карту в раздел при помощи того же dd я потом просто изменял размер раздела при помощи resize2fs (в качестве параметра указав только раздел карты памяти чтобы он сам определили правильный размер раздела) и на всякий случай потом проверил при помощи e2fsck.

Сайт SR

Поделиться

18

Re: Загрузка с карты памяти

SR пишет:

а стараться не допускать этих сбоев.

такой совет подойдет для тех, кто не мучает мобилу, а пользуется ей по прямому назначению. Тогда действительно проблем не будет. Но это же не наш путь, в процессе экспериментов (даже не над системой!) бывает, что мобила вырубается, в итоге файловая система в ауте, и нужны хоть какие-то средства её оживить, пусть и с потерей данных

Поделиться

19

Re: Загрузка с карты памяти

вот как раз да
как же я этого не допущу, если он, зараза сам виснет, причем в самые неподходящие моменты
вот вчера ночью снова завис
причем, когда я активно инсталлил из реп новинки
при этом параллельно в консоли ковырялся
когда днем по работе телефон используется просто как телефон - конечно ничего ни разу не зависло и не сбойнуло

...на этот раз поступил точно так же - просто выключил его до утра, а утром, не включая телефон, подключил его к компу, про-fsck-чил и снова все гуд

SR пишет:

На телефоне есть e2fsck который проверяет ext2/3 файловую систему

в том то и проблема, что раньше, когда я чекал ext2 на телефоне, неизменно получал ошибку  NFS Stale и сдохшую систему
так что есть то он есть, но все таки он не чекает так как надо

а ну убунте вот уже второй раз все чинится без проблем

Поделиться

20

Re: Загрузка с карты памяти

Добрый день. Хотелось бы знать самый правильный на сегодняшний день способ грузить штатную ОС с внешней карты памяти.

Поделиться