motofan logo
4 страниц V  1 2 3 > »         
> 

Автоматическое подключение свопа, при вставке флешки

kycb-kycb
сообщение 22.4.2008, 4:17


Мастер
****

Группа: Пользователи
Сообщений: 196
Регистрация: 16.11.2005
Из: г. Пермь
Пользователь №: 58 587
Модель телефона: XT910 MAXX
Прошивка: any

Рейтинг: 189



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

Выкладываю пошаговую инструкцию.

Для всех прошивок:
1. Открываем свою прошивку в программе EZXCodec, распаковываем кодовую группу CG43.
2. Проходим в папку с распакованной кодовой группой, заменяем файл /etc/hotplug/mmc.agent на тот, что во вложенном архиве.
3. Собираем кодовую группу CG43 на вкладке CramFS, на вкладке SBF в таблице с кодовыми группами убираем все галочки, кроме RDL3 и CG43.
4. Сохраняем файл, шьёмся им.
5. Любым удобным способом кидаем файл mmcplug.sh из вложения в папку /ezxlocal в телефоне.
6. Телнетимся к телефону, выполняем команду
Код
chmod +x /ezxlocal/mmcplug.sh

7. Заливаем на флешку своп файл по пути, указанном в файле mmcplug.sh (/mmc/mmca1 - это корень флешки. В данном случае путь указан /mmc/mmca1/.system/swapfile - это папка .system в корне флешки, имя файла swapfile. Своп файлы нужных размеров можно взять здесь)
В принципе можно проверять работоспособность.


Для прошивок со стартапом:
1. Любым удобным способом кидаем файлы mmc.agent и mmcplug.sh из вложения в папку /ezxlocal в телефоне.
2. Телнетимся к телефону, выполняем команды
Код
chmod +x /ezxlocal/mmcplug.sh
chmod +x /ezxlocal/mmc.agent

3. См. пункт 7 выше.
4. Добавляем в стартап следующую строку:
Код
mount --bind /ezxlocal/mmc.agent /etc/hotplug/mmc.agent

Перезагружаемся, проверяем работоспособность smile.gif

Листинг файла mmc.agent
Код
#!/bin/bash

#set QTDIR for root
export QTDIR=/usr/lib/ezx

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH:/usr/language/vr/english/lib:/usr/language/vr/mandarin/lib:/usr/language/vr/common/lib

export EZX_PLUGINS_DIR=/hatcreek/plugins

# font path
export EZX_RES_FONT_PATH=$QTDIR/lib/fonts

# icon path
export EZX_RES_ICON_PATH=/usr/language/icon

# string path
export EZX_RES_STRING_PATH=/usr/language/string

# начало исправления
if [ $ACTION="add" ] && [ -f /ezxlocal/mmcplug.sh ]
  then
    /ezxlocal/mmcplug.sh &
fi
# конец исправления

# MMC Hotplug Module
exec /sbin/mmchotplug $SLOT $ACTION

почему не после exec? Да потому что не работает smile.gif
При подключении флешки, переменная ACTION имеет значение add, при отключении - remove. Переменная SLOT всегда 0.

Листинг файла mmcplug.sh
Код
#!/bin/bash

SWAPFILE=/mmc/mmca1/.system/swapfile

sleep 15
if [ -f $SWAPFILE ]
  then
    start-stop-daemon --start --exec /sbin/swapon -p 1 -v $SWAPFILE
fi

здесь /mmc/mmca1/.system/swapfile - путь к своп файлу, его можно изменить на своё усмотрение. Естественно, он должен существовать.
sleep 15 нужно для выдержки времени перед тем, как флешка определится корректно и смонтируется. 15 секунд должно вполне хватить.
В принципе этот файл можно использовать для чего угодно, выполняться он будет при каждом подключении флешки.


Если всё сделать правильно, то своп будет автоматически подключаться при каждом "втыкании" флешки в телефон.

Отключать своп в любом случае приходится вручную (если установлен MemExpand, то можно просто ткнуть на его иконку в меню. Зависимости от пути своп файла при его отключении нет).
Не сделал автоматически потому, что этот скрипт вызывается только при _физическом_ подключении/отключении флешки. При нажатии на кнопку "Извл." в том окошке, где часы, антенна и т.п. (в виндах это называется трей bicycle.gif ), вызывается что-то другое. Если кто-нибудь знает, что именно при этом вызывается, то отпишитесь плиз. Хотя у меня такое ощущение, что выполняются какие-то внутренние функции в процессе windowssaver.

Сообщение отредактировал kycb-kycb - 22.4.2008, 11:14
Прикрепленный файл files.zip   ( 636 байт ) Кол-во скачиваний: 288
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Darkslider
сообщение 22.4.2008, 10:36


Гуру
******

Группа: Пользователи
Сообщений: 1 343
Регистрация: 29.5.2005
Из: Moscow
Пользователь №: 43 239
Модель телефона: DroidMaxx
Прошивка: 4.4.4


Настроение:
Motorola. С 1го телефона в 2005г и до сих пор. <3



Рейтинг: 259.5



Я на Е2 себе делал "софтину"
2 скрипта на вкл и выкл свопа,со звуком и виброй по окончании операций,было очень удобно
над и тут так сделать,но автозапуск ещё интересней и удобней,надо будет попробовать
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
kycb-kycb
сообщение 22.4.2008, 11:18


Мастер
****

Группа: Пользователи
Сообщений: 196
Регистрация: 16.11.2005
Из: г. Пермь
Пользователь №: 58 587
Модель телефона: XT910 MAXX
Прошивка: any

Рейтинг: 189



Цитата(Darkslider @ 22.4.2008, 16:36) *

Я на Е2 себе делал "софтину"
2 скрипта на вкл и выкл свопа,со звуком и виброй по окончании операций,было очень удобно
над и тут так сделать,но автозапуск ещё интересней и удобней,надо будет попробовать

Ну MemExpand это и делает, тема не совсем об этом.

//
изменил пост, выложил пошаговую инструкцию. Посоветовали biggrin.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
z8080
сообщение 23.4.2008, 23:51


Новичок
*

Группа: Пользователи
Сообщений: 16
Регистрация: 15.2.2008
Из: Одесса
Пользователь №: 163 663
Модель телефона: Motorola A1200e
Прошивка: GizMoto build 59

Рейтинг: 7



Я сделал автоподключение свопа (при включении, т.к. карточку в МИНГе можно выдернуть только при снятом аккумуляторе и горячее её отключение мне не грозит smile.gif ) несколько проще -- без ковыряния в прошивке.

0) Забекапил все данные с карточки
1) При помощи Paragon Partition Manager Разбиваем флешку на разделы -- FAT16 в начале и Linux SWAP в конце.
2) Отформатировал FAT и SWAP-разделы тем же Парагоном
3) Восстановил инфу из бекапа на ФАТ-раздел
4) На телефоне выполнил команду
mkdir /ezxlocal/dev
5) На телефоне выполнил команду

ls -l /dev/mmca1

Смотрим её вывод и получаем номера (у меня 243 1)
и делаем где-нибудь не на фате (например в /ezxlocal) блочные файлы устройств для разделов
например для второго primary раздела (ОН ЖЕ SWAP в данном случае):

mknod -m 660 /ezxlocal/dev/mmca2 b 243 2

6) Для АВТОМАТИЧЕСКОГО подключения свопа при загрузке телефона в авторан поместил команду:
swapon /ezxlocal/dev/mmca2

Плюсы такого метода:
a) При подключении к компьютеру в режиме MassStorage отключать своп нет необходимости.
б) Обращение к разделу свопа идёт напрямую, а не через драйвер ФАТа, т.о. работать всё должно быстрее.

Минус:
Подходит только для МИНГа, т.к. у него флешка "нагорячую" физически не может быть вынута.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Miroschnik
сообщение 28.4.2008, 11:03


Ветеран
*****

Группа: Пользователи
Сообщений: 325
Регистрация: 9.1.2006
Пользователь №: 65 070
Модель телефона: Nokia 5800+LGP500
Прошивка: Разные

Рейтинг: 33



Скачал и установил Paragon Partition Manager, а отформатировать не получается!! Прога пишет что диск повреждён, хотя тел и комп. через картридер его видят, данные передаются и принимаются
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Qeest
сообщение 28.4.2008, 12:05


Мастер
****

Группа: Пользователи
Сообщений: 247
Регистрация: 17.9.2006
Из: 54°38' с.ш., 86°08' в.д.
Пользователь №: 99 386
Модель телефона: ROKR E6

Рейтинг: 42



z8080:
1) чем грозит извлечение флешки на горячую с подключенным swap разделом?
2) при нажатии кнопки "Извлечь" в трее, будет ли отключен свап раздел?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
z8080
сообщение 17.5.2008, 21:27


Новичок
*

Группа: Пользователи
Сообщений: 16
Регистрация: 15.2.2008
Из: Одесса
Пользователь №: 163 663
Модель телефона: Motorola A1200e
Прошивка: GizMoto build 59

Рейтинг: 7



Цитата(Qeest @ 28.4.2008, 15:05) *

z8080:
1) чем грозит извлечение флешки на горячую с подключенным swap разделом?
2) при нажатии кнопки "Извлечь" в трее, будет ли отключен свап раздел?


Извини, что долго не отвечал -- учёба запарила

1) Если флешку с включённым свопом выдернуть нагорячую, то телефон зависнет точно. При этом есть некоторая вероятность порчи данных на флешке и/или внутренней памяти.
Поэтому так лучше не делать вообще!
2) Это надо проверить.
Попробуй набрать в консоли на телефоне
swapon -s
затем нажми кнопку "Извлечь" и снова набери
swapon -s
Сравни ответы этой команды ДО и ПОСЛЕ извлечения.
Если в выводе ДО есть цифры, а ПОСЛЕ нет, то всё хорошо -- своп отключился.
Иначе всё аналогично случаю 1) и флешку вынимать нельзя

Добавлено позже (18.5.2008, 0:39):
Цитата(Miroschnik @ 28.4.2008, 14:03) *

Скачал и установил Paragon Partition Manager, а отформатировать не получается!! Прога пишет что диск повреждён, хотя тел и комп. через картридер его видят, данные передаются и принимаются


Если это ещё актуально, то попробуй сначала УДАЛИТЬ ВСЕ РАЗДЕЛЫ на флешке (только с неё данные забекапить не забудь smile.gif ), чтобы флешка отображалась как "Неразмеченная область" или как-то так.
И потом уже на этой неразмеченной области создай FAT и SWAP разделы и отформатируй их. И если получится, дальше по инструкции.

Или попробуй применить другую прогу для разбивки флешки, например PartitionMagic.

P.S. Когда я делал себе, у меня случилась похожая проблема -- PartitionMagic ругался и не форматировал, а Paragon Partition Manager сделал всё отлично.
P.P.S. Точная версия проги, которая у меня заработала:
Код

Paragon Partition Manager, version 8.0, build 328 (25.08.06 ) Enterprise Server Edition

Components versions:


Paragon Base Services Library, version 1.1, build 328 (25.08.06 )
hdm.dll, version 8.0, release 6, build 1728
biont.dll, version 8.0, release 6, build 1728
biont.sys, version 8.0, release 6, build 1728

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Allin
сообщение 30.5.2008, 16:38


Интересующийся
**

Группа: Пользователи
Сообщений: 75
Регистрация: 22.3.2005
Из: Апатиты Мурманской области
Пользователь №: 39 273
Модель телефона: c380, a1200e
Прошивка: motoKDE_2FR, F6

Рейтинг: 6.5



По поводу разбивки карты - я поступил более лаконично wink.gif puppyOS => gparted и вуаля. Все таки создавать своп из под виндас чаще всего проблематично
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Qeest
сообщение 1.6.2008, 4:44


Мастер
****

Группа: Пользователи
Сообщений: 247
Регистрация: 17.9.2006
Из: 54°38' с.ш., 86°08' в.д.
Пользователь №: 99 386
Модель телефона: ROKR E6

Рейтинг: 42



Allin, поддерживаю. Gparted - очень удобная, быстрая и понятная программа для разбивки флеш-карты (QTparted по мне - не очень). Есть, кажется, в любом дистрибутиве линукс, только в некоторых по умолчанию (при установке системы) не ставится, нужно доустанавливать.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Anavrin
сообщение 6.6.2008, 9:10


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 28.9.2006
Пользователь №: 101 027
Модель телефона: A1200e

Рейтинг: 0



Цитата
и делаем где-нибудь не на фате (например в /ezxlocal) блочные файлы устройств для разделов


Если можно объясните для начинающих shuffle.gif как сделать блочные файлы ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Автоматическое подключение свопа, при вставке флешки · Motorola ROKR E6, E6e, E6tv, MING A1200, A1200i, A1200e, A1200r, A1200w, A1600 · Forum
 

4 страниц V  1 2 3 > » 
Ответ в темуСоздание новой темы
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.3.2024, 22:06

Форум живёт: