MotoFan.Ru — всё для Motorola > Устройства Motorola > Motorola на Linux OS > Motorola ROKR E6, E6e, E6tv, MING A1200, A1200i, A1200e, A1200r, A1200w, A1600

Автоматическое подключение свопа Полная версия
Страницы: 1, 2

 av 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

Перезагружаемся, проверяем работоспособность 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.

 av Darkslider

 22.4.2008, 10:36

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

 av kycb-kycb

 22.4.2008, 11:18

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

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

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

//
изменил пост, выложил пошаговую инструкцию. Посоветовали biggrin.gif

 no av z8080

 23.4.2008, 23:51

Я сделал автоподключение свопа (при включении, т.к. карточку в МИНГе можно выдернуть только при снятом аккумуляторе и горячее её отключение мне не грозит 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 отключать своп нет необходимости.
б) Обращение к разделу свопа идёт напрямую, а не через драйвер ФАТа, т.о. работать всё должно быстрее.

Минус:
Подходит только для МИНГа, т.к. у него флешка "нагорячую" физически не может быть вынута.

 no av Miroschnik

 28.4.2008, 11:03

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

 av Qeest

 28.4.2008, 12:05

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

 no av 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, а отформатировать не получается!! Прога пишет что диск повреждён, хотя тел и комп. через картридер его видят, данные передаются и принимаются


Если это ещё актуально, то попробуй сначала УДАЛИТЬ ВСЕ РАЗДЕЛЫ на флешке (только с неё данные забекапить не забудь 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

 av Allin

 30.5.2008, 16:38

По поводу разбивки карты - я поступил более лаконично wink.gif puppyOS => gparted и вуаля. Все таки создавать своп из под виндас чаще всего проблематично

 av Qeest

 1.6.2008, 4:44

Allin, поддерживаю. Gparted - очень удобная, быстрая и понятная программа для разбивки флеш-карты (QTparted по мне - не очень). Есть, кажется, в любом дистрибутиве линукс, только в некоторых по умолчанию (при установке системы) не ставится, нужно доустанавливать.

 av Anavrin

 6.6.2008, 9:10

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


Если можно объясните для начинающих shuffle.gif как сделать блочные файлы ?

 av Qeest

 6.6.2008, 13:01

там же написано: mknod (make block or character special files)
Команды вводятся в программе eKonsole (терминал)

 no av LamboR

 5.8.2008, 12:37

Подскажите
после команды
mknod -m 660 /ezxlocal/dev/mmca2 b 243 2
пытаюсь выполнить
swapon /ezxlocal/dev/mmca2
Выдает Invalid argument, где что не так? или ручками нельзя смонтировать?

ЗЫ: через авторан тож не подключается.

 av 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? Если нет, то, само собой, ничего не заработает.

 av Last

 5.8.2008, 14:25

LamboR, попрубуй это прописать в авторан
Цитата
#!/bin/bash
/sbin/swapon -p 1 /ezxlocal/dev/mmca2

 no av LamboR

 6.8.2008, 6:51

Фэнкс, была у меня ошибка. Был у меня Linux Swap, вторым разделом, но не примари.

 av JOker_E6

 4.9.2009, 18:45

Выполнил команду swapon /ezxlocal/dev/mmca2
но почему то мне пишет: No such device

/ezxlocal/dev/mmca2
файл весит 0кб....раньше когда подключал свап после этого там файл был и весил он гораздо больше...а щас почему то не хочет создаваться...чтоль...
или в чем проблема?

 av 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 выложит прогу в теме "Полный Мануал", я ему скину ее, она портабельная, без установки!

 av 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.
Spoiler:
[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]

 av AnarhySaur

 5.9.2009, 10:39

Цитата(Garm @ 5.9.2009, 11:15) *

Зачем такой большой? Хватит и 32 метров, имхо.

А какая разница, 32 или 70? Или размер влияет на скорость обмена между свопом и оперативкой?

 av JOker_E6

 5.9.2009, 18:01

AnarhySaur,
Размер влияет на то сколько ты приложений и прог можеш одновременно например открыть...


Garm,
Так почему же тогда мне пишет ошибку...и своп не рабэ..
Страницы: 1, 2

Полная версия:


MotoFan.ru (©) 2024    Слушать Radio