16

Re: Нехватка памяти для программ

fstab перезаписывается в момент загрузки скриптом /etc/event.d/rcS-late там же происходит монтирование разделов. Достаточно просто закомментировать строчку:
cmp -s $tmp_fstab $fstab || cp $tmp_fstab $fstab

Сайт SR

Поделиться

17

Re: Нехватка памяти для программ

SR пишет:

Просто делая symlink телефон не загружался. Содержимое /usr требуется во время загрузки, но карточки на тот момент еще не монтируются. Так что пришлось править /sbin/preinit и там монтировать /usr (или место куда /usr был перемещен если через symlink).

На mobile-review.com делают вот так:

sudo gainroot
mkdir /home/usr
cp /usr /home
mount --bind /home/usr /usr

И в скрипте /etc/event.d/rcS-late

    # We can safely continue booting now.
    initctl emit MOUNTS_OK

    /sbin/swapon -a || echo "Failed to enable paging partition."

    mount --bind /home/usr /usr
На то, о чем можно спросить на форуме, не отвечаю через личные сообщения, аську, почту и т.п. для общения есть jabber-конференция: maemo@conference.jabber.org.
QKit - инструментарий для быстрого кроссплатформенного создания приложений на QML.
FAQ по Nokia N9 - читаем, пополняем.
Прежде, чем задать вопрос, воспользуйтесь поиском!

Сайт KiRiK

Поделиться

18

Re: Нехватка памяти для программ

Это не совсем корректно.
Во первых копия /usr все равно остается во внутренней памяти. А занимает /usr не мало места.
Во вторых при загрузке процессы в таком случае будут стартовать из /usr которая во внутренней памяти а потом будет подменяться на ту что в /home/usr. Это может вызвать неправильное поведение в программах.
Ну и в третьих первое же обновление компонентов операционной системы (не тех что пользователь ставил, а тех что по умолчанию были) точно вызовет глюки. Обновится /home/usr, а во время загрузки будут вызываться старые компоненты из /usr.
Все-таки правильней именно перенести на карточку /usr, сделать symlink и добавить монтирование карточки в /sbin/preinit в момент загрузки (до вызова /bin/init).

19

Re: Нехватка памяти для программ

SR пишет:

Все-таки правильней именно перенести на карточку /usr, сделать symlink и добавить монтирование карточки в /sbin/preinit в момент загрузки (до вызова /bin/init).

Точное руководство напишешь?

На то, о чем можно спросить на форуме, не отвечаю через личные сообщения, аську, почту и т.п. для общения есть jabber-конференция: maemo@conference.jabber.org.
QKit - инструментарий для быстрого кроссплатформенного создания приложений на QML.
FAQ по Nokia N9 - читаем, пополняем.
Прежде, чем задать вопрос, воспользуйтесь поиском!

Сайт KiRiK

Поделиться

20

Re: Нехватка памяти для программ

а лучше написать скрипт автоматической настройки

Поделиться

21

Re: Нехватка памяти для программ

Да руководство напишу.
А вот в скрипте смысла не вижу. Для его работы все равно придется в консоль заходить с правами root. А дальше на само деле останется пару команд выполнить и все.

Добавлено: 13.12.2009 21:02:29

Написал руководство:
http://sr.uz/index.php?p=265&more=1 … 1&pb=1
Правда у меня самого уже дано на всех карточках все разделы переразбиты, так что просьба пусть кто-нибудь попробует по этой инструкции все сделать и потом напишет какой был результат. Если не получится перенести то хотя бы напишите на каком этапе появились проблемы. Если все получается, то можно перенести статью сюда на вики (надеюсь никто не против что я вначале написал инструкцию на своем сайте...).

Сайт SR

Поделиться

22

Re: Нехватка памяти для программ

SR пишет:

(надеюсь никто не против что я вначале написал инструкцию на своем сайте...).

Да нет, конечно smile Творчество твое.
Правда, если напишешь, что делалось по мотивам обсуждения тут, то будет приятно wink

На то, о чем можно спросить на форуме, не отвечаю через личные сообщения, аську, почту и т.п. для общения есть jabber-конференция: maemo@conference.jabber.org.
QKit - инструментарий для быстрого кроссплатформенного создания приложений на QML.
FAQ по Nokia N9 - читаем, пополняем.
Прежде, чем задать вопрос, воспользуйтесь поиском!

Сайт KiRiK

Поделиться

23

Re: Нехватка памяти для программ

SR, у меня твой блог вопросиками отображается какую бы кодировку в браузере не устанавливал.

Поделиться

24

Re: Нехватка памяти для программ

KiRiK пишет:

Правда, если напишешь, что делалось по мотивам обсуждения тут, то будет приятно wink

Добавил wink

pasaranax пишет:

SR, у меня твой блог вопросиками отображается какую бы кодировку в браузере не устанавливал.

Очень странно. Там utf-8. Ты пока первый у кого такие проблемы. Фаерфокс, браузер на N900, Опера, браузеры на основе вебкит у меня все отображают правильно. IE под линукс нету так что им проверить не могу.
Сегодня у хостинга замечал проблемы с базой данных, но на кодировке это не должно отражаться.

Сайт SR

Поделиться

25

Re: Нехватка памяти для программ

варнинг!
если не перезагрузить таблетку перед перемещением то она начнет ругаться на то что некоторые библиотеки используются, потом может уйти в ребут и больше не загрузится, решение только перепрошивкой (я так сейчас нарвался)

Добавлено: 14.12.2009 12:24:48

p.s. что то уже 2й раз при перемещении таблетка падает..
сейчас буду делать копирование, а потом уже линк


Добавлено: 14.12.2009 12:41:43

в итоге сделал
cp -p -R /usr /home && mv /usr /usr_old && ln -s /home/usr /usr && rm -rf /usr_old
и тогда нормально завелось


Добавлено: 14.12.2009 14:53:51

таушш.. тормозит.. хорошо так тормозит...
ютуб грузится еле еле , при этом ЛА в районе 3х
видео с ютуба играть таблетка уже не в состояниии
неконвертированное видео стало воспроизводиться с тормозами... а потом вообще таблетка ни с того ни с сего ушла в перезагрузку (видимо вотчдог какой то сработал
+ добавился баг.. если воткнуть USB в режиме "только зарядка" и нажать верхнюю кнопку питания то все весело виснет ...
в общем я переделываю все обратно smile

26

Re: Нехватка памяти для программ

Kn1ght пишет:

в итоге сделал
cp -p -R /usr /home && mv /usr /usr_old && ln -s /home/usr /usr && rm -rf /usr_old
и тогда нормально завелось

Исправил. Я же действительно когда сам переносил так и делал.

Kn1ght пишет:

таушш.. тормозит.. хорошо так тормозит...
ютуб грузится еле еле , при этом ЛА в районе 3х
видео с ютуба играть таблетка уже не в состояниии
неконвертированное видео стало воспроизводиться с тормозами... а потом вообще таблетка ни с того ни с сего ушла в перезагрузку (видимо вотчдог какой то сработал
+ добавился баг.. если воткнуть USB в режиме "только зарядка" и нажать верхнюю кнопку питания то все весело виснет ...
в общем я переделываю все обратно smile

Про то что система тормозить будет я предупреждал. Пока самым действенным методом борьбы с этим является игра со значением swappiness и выносом swap на внешнюю карточку. Но все равно довести производительность до прежнего уровня не получается. Все-таки разница в скорости между OneNAND и картой памяти большая.

Добавлено: 14.12.2009 15:18:18

Правда у меня еще есть подозрение что возможно что-то разработчики делали с драйвером файловой системы. Такое ощущение что все кеширование отключено (все равно что смонтированно с опцией sync). Если это так то это тоже очень сильно отражается на производительности. Вечером еще добавлю в preinit для монтирования опцию async, может поможет.

Сайт SR

Поделиться

27

Re: Нехватка памяти для программ

SR скорость это да.. но я не думал что до такой степени упадет производительность, на n800 после выноса системы на внешнюю карту памяти оно вполне себе бодро шевелилось
p.s. со свапом на внешней карточке надо попробовать

Поделиться

28

Re: Нехватка памяти для программ

SR пишет:

Это не совсем корректно.
Во первых копия /usr все равно остается во внутренней памяти. А занимает /usr не мало места.
Во вторых при загрузке процессы в таком случае будут стартовать из /usr которая во внутренней памяти а потом будет подменяться на ту что в /home/usr. Это может вызвать неправильное поведение в программах.
Ну и в третьих первое же обновление компонентов операционной системы (не тех что пользователь ставил, а тех что по умолчанию были) точно вызовет глюки. Обновится /home/usr, а во время загрузки будут вызываться старые компоненты из /usr.
Все-таки правильней именно перенести на карточку /usr, сделать symlink и добавить монтирование карточки в /sbin/preinit в момент загрузки (до вызова /bin/init).

это я там этот способ предложил
ну и чем он некорректен?
у меня то ничего не тормозит, все летает, ничего не глючит
1) а то что в rootfs память не освобождается, так а зачем она теперь нужна, если теперь все работает с карточки?
осталось там мегов 70 для всяких там логов и кешей, ну и хватает системе этого с лихвой . я умышленно прошелся по всем репам, попереставил все подряд, /usr занял под 600мб, а в rootfs место за все это время уменьшилось всего на 3мб (логи и кеши..) ну если приспичит, можно так же и /var на карточку перекинуть, тогда и вообще rootfs будет нужен только во время старта

2) то что часть процессов запускается с нее до старта - дак ну и пусть, после монтирования все работает в нового пути, никакой вотчдог подмены не замечает, это не симлинки а монтирование, по сути я втыкаю вместо /usr отдельное устройство. луче подскажите, как опцию --bind в fstab использовать. nullfs как на фре, на телефоне нету.. приходится с автозагрузкой заморачиваться, благо есть rcS-late..

3) когда это у нокии системные компоненты обновлялись в виде отдельных пакетов??
мы же сидим ждем со дня на день обновления в виде новой прошивки, там эти бубны уже точно никак не помешают, их все равно после обновления нужно будет заново прицеплять

вместо того, чтобы критиковать, взяли бы и попробовали, это же всего пара команд, никаких скриптов писать не надо, я на M-R наваял для начинающих юзеров подробный мануал (типа для блондинок) хотя там и без мануалов все понятно. нам нужно не критиковать друг друга, коллега, а объединять усилия, я так думаю, да?

Поделиться

29

Re: Нехватка памяти для программ

Небольшое подтверждение моей теории про то что файловые системы почему-то по умолчанию смонтированны с опцией sync.
Результат выполнения команды time dd if=/dev/zero of=/home/file.img bs=8k count=20000
С опциями по умолчанию:
real 0m 19.41s
user 0m 0.05s
sys 0m 2.25s

С принудительным указанием опции async:
real 0m 10.04s
user 0m 0.03s
sys 0m 2.06s

Можно сказать что скорость записи увеличилась в 2 раза.

Добавил в preinit к монтированию опцию async. Ссылка не изменилась.
Интересно узнать результаты производительности с новым preinit. И было бы интересно услышать на сколько помогает другим перенос swap на внешнюю карту и уменьшение параметра swappiness.

Добавлено: 14.12.2009 21:22:54

littre, то что при таком переносе телефон будет работать быстрее не верю. Все равно программы грузятся с той же карточки. Могу поверить только в то что при этом телефон будет загружаться быстрее.
Реально работу может ускорить монтирование корневой файловой системы только для чтения, а поверх смонтировать систему с правами на запись и объединить их используя mini_fo или UnionFS. При этом предустановленные программы будут запускаться быстро из внутренней памяти. Если у меня удастся удачно пересобрать ядро с нужными патчами то я это попробую.

Вообще все данные предложенные способы вполне работоспособны. Я лишь описал недостатки каждого из них.
Я не пробовал этот способ потому что я перенес все на карточку описанным мною способом а об этом способе я узнал гораздо позже с этого форума.
bind в fstab можно использовать например так:
/path1 /path2 bind defaults,bind 0 0
А про обновление системных компонентов были слухи на официальном форуме. Вообще такое обновление вполне реально и осуществимо. Например когда я собирал пакет с ядром с настройками по умолчанию в сам пакет на сколько я понял включился и скрипт который после установки пакета прошивает ядро прям с телефона. Так что никаких технических сложностей я в таком обновлении не вижу.
Думаю если найти способ оптимизировать скорость работы с карточкой это может пригодиться при использовании абсолютно любого способа. Так что усилия не будут напрасны. А про свой способ я сразу честно сказал что он сложнее предложенного.

Сайт SR

Поделиться

30

Re: Нехватка памяти для программ

SR пишет:

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

да я и не ставил себе целью сделать его быстрее, просто он не тормозит, фильмы все крутятся как положено вот и все. единственно, что произошло в отличие от заводского состояния - перестало уменьшаться место на "/" что сопсна и требовалось

SR пишет:

Могу поверить только в то что при этом телефон будет загружаться быстрее.

этого я тоже не старался достичь, это как нибудь позже. после symbian по мне так n900 грузится ну просто молниеносно

SR пишет:

Реально работу может ускорить монтирование корневой файловой системы только для чтения, а поверх смонтировать систему с правами на запись и объединить их используя mini_fo или UnionFS. При этом предустановленные программы будут запускаться быстро из внутренней памяти. Если у меня удастся удачно пересобрать ядро с нужными патчами то я это попробую.

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

да, насчет пересобрать ядро
точнее, разбиения разделов по своему вскусу, у меня тоже на этот счет давно ведутся разработки
пока на всеобщее обозрение окончательную инструкцию не вывешиваю, так как есть некоторые проблемы с автомонтированием и распознаванием в системе раздела ext2, отличного от /home, например, вставленную флешку, я думал насчет того, чтобы MyDocs форматнуть в ext2, получается пока только частично. раздел сам не монтируется, надо руками, плюс система в свойствах памяти говорит, что раздел поврежден, хотя диспетчер файлов и медиаплеер видит в нем контент...
это одно направление

второе, сейчас вот с работы ехал, подумал
что такое есть те два файла для прошивки, одно - это само маемо, второе - оригинальное состояние файловой системы
если подумать глубже - первый файл - просто образ rootfs, а второй - mmcblk0p
а собственно чем они сделаны?
если учесть любовь маэмостроителей к виртуальным средам (вон для скачивания еcть образ убунты с уже установленной SDK) то можно предположить, что это есть просто дамп файловой системы который можно попробовать подмонтировать в виртуалку, там все поресайзить по вкусу, снова закатать в образ и этим прошить

SR пишет:

bind в fstab можно использовать например так:
/path1 /path2 bind defaults,bind 0 0

чето я вроде пробовал, не было в fstabe binda....
а, ну точно
это я на wl500gp (wifi роутер такой) такое монтирование пытался сделать, долго и упорно, там у меня так и не  получилось, в итоге таким же образом монтировал при старте системы, там то линукс ну совсем укоцаный, а тут то почти настоящий, я чето даже и не подумал попробовать
хотя в принципе, если продолжать использовать rcS-late для корректной генерации fstaba, то лучше там продолжать монтирование. а если использовать напрямую fstab, то уж и в скрипте отключать его генерацию мне эта идея пока не нравится. я только временно отключаю генерацию при переразбивке партиций, там же надо ребутить и форматить, а fstab там под ногами болтается, захватывает тома

Поделиться