kycb-kycb
22.4.2008, 4:17
Так как я пользуюсь картридером, то довольно часто флешку приходится из телефона доставать. Каждый раз после того, как я её вновь подключал, приходилось вручную подключать своп файл с флешки. Мне это немного надоело и я этот процесс автоматизировал.
Выкладываю пошаговую инструкцию.
Для всех прошивок: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
Перезагружаемся, проверяем работоспособность
Листинг файла 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? Да потому что не работает
При подключении флешки, переменная 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, то можно просто ткнуть на его иконку в меню. Зависимости от пути своп файла при его отключении нет).
Не сделал автоматически потому, что этот скрипт вызывается только при _физическом_ подключении/отключении флешки. При нажатии на кнопку "Извл." в том окошке, где часы, антенна и т.п. (в виндах это называется трей
), вызывается что-то другое. Если кто-нибудь знает, что именно при этом вызывается, то отпишитесь плиз. Хотя у меня такое ощущение, что выполняются какие-то внутренние функции в процессе windowssaver.
Darkslider
22.4.2008, 10:36
Я на Е2 себе делал "софтину"
2 скрипта на вкл и выкл свопа,со звуком и виброй по окончании операций,было очень удобно
над и тут так сделать,но автозапуск ещё интересней и удобней,надо будет попробовать
kycb-kycb
22.4.2008, 11:18
Цитата(Darkslider @ 22.4.2008, 16:36)
Я на Е2 себе делал "софтину"
2 скрипта на вкл и выкл свопа,со звуком и виброй по окончании операций,было очень удобно
над и тут так сделать,но автозапуск ещё интересней и удобней,надо будет попробовать
Ну MemExpand это и делает, тема не совсем об этом.
//
изменил пост, выложил пошаговую инструкцию. Посоветовали
z8080
23.4.2008, 23:51
Я сделал автоподключение свопа (при включении, т.к. карточку в МИНГе можно выдернуть только при снятом аккумуляторе и горячее её отключение мне не грозит
) несколько проще -- без ковыряния в прошивке.
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
Скачал и установил Paragon Partition Manager, а отформатировать не получается!! Прога пишет что диск повреждён, хотя тел и комп. через картридер его видят, данные передаются и принимаются
Qeest
28.4.2008, 12:05
z8080:
1) чем грозит извлечение флешки на горячую с подключенным swap разделом?
2) при нажатии кнопки "Извлечь" в трее, будет ли отключен свап раздел?
z8080
17.5.2008, 21:27
Цитата(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, а отформатировать не получается!! Прога пишет что диск повреждён, хотя тел и комп. через картридер его видят, данные передаются и принимаются
Если это ещё актуально, то попробуй сначала УДАЛИТЬ ВСЕ РАЗДЕЛЫ на флешке (только с неё данные забекапить не забудь
), чтобы флешка отображалась как "Неразмеченная область" или как-то так.
И потом уже на этой неразмеченной области создай 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
По поводу разбивки карты - я поступил более лаконично
puppyOS => gparted и вуаля. Все таки создавать своп из под виндас чаще всего проблематично
Qeest
1.6.2008, 4:44
Allin, поддерживаю. Gparted - очень удобная, быстрая и понятная программа для разбивки флеш-карты (QTparted по мне - не очень). Есть, кажется, в любом дистрибутиве линукс, только в некоторых по умолчанию (при установке системы) не ставится, нужно доустанавливать.
Anavrin
6.6.2008, 9:10
Цитата
и делаем где-нибудь не на фате (например в /ezxlocal) блочные файлы устройств для разделов
Если можно объясните для начинающих
как сделать блочные файлы ?
Qeest
6.6.2008, 13:01
там же написано: mknod (make block or character special files)
Команды вводятся в программе eKonsole (терминал)
LamboR
5.8.2008, 12:37
Подскажите
после команды
mknod -m 660 /ezxlocal/dev/mmca2 b 243 2
пытаюсь выполнить
swapon /ezxlocal/dev/mmca2
Выдает Invalid argument, где что не так? или ручками нельзя смонтировать?
ЗЫ: через авторан тож не подключается.
Borman92
5.8.2008, 13:17
Цитата(LamboR @ 5.8.2008, 16:37)
Подскажите
после команды
mknod -m 660 /ezxlocal/dev/mmca2 b 243 2
пытаюсь выполнить
swapon /ezxlocal/dev/mmca2
Выдает Invalid argument, где что не так? или ручками нельзя смонтировать?
ЗЫ: через авторан тож не подключается.
На карте вторым разделом точно Linux Swap? Если нет, то, само собой, ничего не заработает.
Last
5.8.2008, 14:25
LamboR, попрубуй это прописать в авторан
Цитата
#!/bin/bash
/sbin/swapon -p 1 /ezxlocal/dev/mmca2
LamboR
6.8.2008, 6:51
Фэнкс, была у меня ошибка. Был у меня Linux Swap, вторым разделом, но не примари.
JOker_E6
4.9.2009, 18:45
Выполнил команду swapon /ezxlocal/dev/mmca2
но почему то мне пишет: No such device
/ezxlocal/dev/mmca2
файл весит 0кб....раньше когда подключал свап после этого там файл был и весил он гораздо больше...а щас почему то не хочет создаваться...чтоль...
или в чем проблема?
AnarhySaur
5.9.2009, 7:12
Цитата(Miroschnik @ 28.4.2008, 14:03)
Скачал и установил Paragon Partition Manager, а отформатировать не получается!! Прога пишет что диск повреждён, хотя тел и комп. через картридер его видят, данные передаются и принимаются
Запомните, встроенный кардридер это фигня, насчет внешнего - не знаю, не пробовал!
Вообщем пытался разбить на двух ноутах со встроенным кардридером, при этом 2Гб карточка ставала 1Гб и с одним primary разделом на FAT16, а второго Linux Swap на 70 Мб раздела не было, вместе с остальным почти 1Гб! Причем телефон видел 2Гб и форматировал, а Виндовс вообще карточку не разпознавала! И так несколько раз!
Вообщем разбивал я карточку подключив Минг к компу как сьемное устройство и обошлось без всяких проблем! Разбивал Paragon Partition Server 2008, точно не помню! Не парьтесь ее выкачивать, на следующие выходные после третьего МингоСьезда в Днепропетровске товарищ SerGG выложит прогу в теме "Полный Мануал", я ему скину ее, она портабельная, без установки!
Garm
5.9.2009, 8:15
Цитата(JOker_E6 @ Вчера, 22:45)
/ezxlocal/dev/mmca2
файл весит 0кб....раньше когда подключал свап после этого там файл был и весил он гораздо больше...а щас почему то не хочет создаваться...чтоль...
или в чем проблема?
Файл блочного устройства всегда весит 0 байт
Цитата(AnarhySaur @ Сегодня, 11:12)
а второго Linux Swap на 70 Мб раздела не было
Зачем такой большой? Хватит и 32 метров, имхо.
P.S. Запись об включении свопа сделана у меня в ezx_autorun.cfg.
[00e18742-0c83-0a70-5538-82eb8ef9a516]
Args = /ezxlocal/bswap
CheckAM = 0
Comment =
Delay = 0
Directory = /sbin
Enabled = 1
Exec = swapon
GroupID = root
Hint =
Icon =
JavaId = -1
Name = Своп
Tool = 1
Type = 2
UserID = root
(ezxlocal/bswap - и есть мой файл блочного устройства
[close]
AnarhySaur
5.9.2009, 10:39
Цитата(Garm @ 5.9.2009, 11:15)
Зачем такой большой? Хватит и 32 метров, имхо.
А какая разница, 32 или 70? Или размер влияет на скорость обмена между свопом и оперативкой?
JOker_E6
5.9.2009, 18:01
AnarhySaur,
Размер влияет на то сколько ты приложений и прог можеш одновременно например открыть...
Garm,
Так почему же тогда мне пишет ошибку...и своп не рабэ..