Здравствуйте, гость ( Вход | Регистрация )


Посмотри! Сборники смс-сообщений с функцией анонимной отправки! Скачать бесплатно!

16 страниц V  1 2 3 > »   
Ответ в темуСоздание новой темы
> Пробуем портировать игры и проги сами
Lubomyr
сообщение 19.5.2008, 17:49
Номер #1


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

Группа: Пользователи
Сообщений: 532
Регистрация: 25.8.2005
Из: Україна, Львів
Пользователь №: 49 683
176927753
Модель телефона: Motorola A1200e
Прошивка: jffs2 11R UA
Рейтинг:
< -100 ( 250.5 ) 20000 >

   

Пробуем портировать игры и проги сами

Что для этого нужно

Вариант 1 (Windows+Cygwin+a1200devezx sdk)

1) Устанавливаем Cygwin под виндой (CygWin берем отсюда http://cygwin.com/ )
выбираем нужные пакеты при установке

devel->gcc
devel->make
devel->autoconf
devel->automake
perl->perl
utils->patch

2) копируем свои либы с телефона
для этого используем консоль или телнет

cd /usr/lib
tar zcvf /mmc/mmca1/ezx-lib.tar.gz *

после этой опрации на карте памяти должен появится файл ezx-lib.tar.gz копируем его на комп

3) качаем сдк http://www.motorolafans.com/MotoModFiles/E...20080304.tar.gz

4) качаем игровое окружение (games-env-cygwin.tar.gz)
Изображение
Зеркало1 на megaupload.com
Зеркало2 на humyo.com

5) копируем
ezx-lib.tar.gz
samr7-ezx-crosstool-foxe6-sdk-20080304.tar.gz
games-env.tar.gz
в папку где установлен Cygwin (по умолчанию C:\cygwin)

6) запускаем Cygwin
и выполняем следующие операции для распаковки архивов

cd /
tar zxvf samr7-ezx-crosstool-foxe6-sdk.tar.gz

cd /opt/dev-ezx/a1200/lib (или cd /opt/dev-ezx/e6/lib в зависимости от модели)
tar xvf ezx-lib.tar.gz

cd /
tar -C /usr/local/ -xzvf /games-env-cygwin.tar.gz

Все теперь все окружение для портирования готово

после запуска CygWin набираем

source /usr/local/setenv-a1200.sh

(или вместо a1200 - e6 в зависимости от вашей модели телефона)

7) качаем исходники игры которую хотим портировать и распаковываем в нужную папку (для примера /home/lubomyr)
рекомендуется чтоб в исходниках присутствовал файл configure или (autogen.sh, configure.am, makefile.am)
в зависимости насколько мы правильно зададим параметры конфигурации зависит и наш успех портации игры
пареметры которые могут использоватся при конфигурации можно увидить используя

./configure --help

в конце списка флажки которые нужно указать перед конфигурацией

CFLAGS='-O2 -pipe -mcpu=iwmmxt -mtune=iwmmxt'
CXXFLAGS='-O2 -pipe -mcpu=iwmmxt -mtune=iwmmxt'
NM=arm-linux-nm
LD=arm-linux-ld
CC=arm-linux-gcc
CXX=arm-linux-g++
RANLIB=arm-linux-ranlib
AR=arm-linux-ar
AS=arm-linux-as
STRIP=arm-linux-strip
OC=arm-linux-objcopy
LDFLAGS='-L/opt/dev-ezx/a1200/lib/ezx/lib/inputmethods -L/opt/crosstool/gcc-3.3.6-glibc-2.3.2/arm-linux/arm-linux/lib -L/opt/dev-ezx/a1200/lib -L/opt/dev-ezx/a1200/lib/ezx/lib -L/usr/local/lib'
CPPFLAGS='-I/opt/crosstool/gcc-3.3.6-glibc-2.3.2/arm-linux/arm-linux/include -I/opt/dev-ezx/a1200/include -I/opt/dev-ezx/a1200/include/ezx -I/usr/local/include'
LIBS='-ldl -lutil -lqte-mt -lpthread -lezxappbase -lezxappsdk -lezxopenwindow -lipp-miscGen -lipp-jp -lezxjpeg -lezxpm -lpthread'

Самые необходимые я уже добавил в стартовый скрипт setenv, тоесть их можно и не указывать а сразу перейти к конфигурации

параметры при конфигурации которые можно использовать
./configure
--build=x86_64-unknown-linux-gnu
--host=arm-linux
--backend=sdl
--with-includes=/usr/local/include
--with-libraries=/usr/local/lib
--with-sdl
--with-sdl-gfx
--with-sdl-sound
--with-mikmod
--enable-shared
--disable-debug
--disable-mmx
--disable-ati
--disable-gtk-player
--disable-opengl-player
--without-gtk
--enable-threads

для примера для портации большинства игр я использовал
./configure --build=x86_64-unknown-linux-gnu --host=arm-linux

а по умолчанию рекомендую использовать как минимум
./configure --host=arm-linux

8) если конфигурация успешно проходит выполняем команду
make

9) если make успешно проходит остается только протестировать не телефоне, ну еще поковырятся в исходниках и поправить клавиатуру под наши телефоны

Вариант 2 (Linux+a1200blackhawk sdk)

для пользователей винды устанавливаеи andlinux http://www.andlinux.org/downloads.php

1) устанавливаем такие пакеты под Линуксом
make
automake
autoconf
patch

2) копируем свои либы с телефона
для этого используем консоль или телнет

# cd /mmc/mmca1
# tar -C /usr -czvf a1200-lib.tar.gz lib

после этой опрации на карте памяти должен появится файл a1200-lib.tar.gz копируем его на комп

3) качаем a1200crosstool http://rapidshare.com/files/124067106/a120...ool.tar.gz.html

4) качаем sdk http://keaglez.e2mod.com/upload/sdk/a1200-...680i-SDK.tar.gz

5) качаем окружение для портирования (games-env-linux.tar.gz)
Зеркало 1 http://fileshare.in.ua/1852796
Зеркало 2 http://www.megaupload.com/?d=HNX25H19
Зеркало 3 http://www.humyo.com/F/784305-347095687

6) запускаем под линуксом Терминал

$ su // после ввода этой команды набираем root password (

# mkdir /opt/a1200
# mkdir /opt/sdk
# cd /
# tar -C /opt -xzvf /a1200-crosstool.tar.gz
# tar -C /usr/local -xzvf /games-env-linux.tar.gz
# tar -C /opt/a1200 -xzvf /a1200-lib.tar.gz
# tar -C /opt/sdk -xzvf /a1200-e2-e680i-SDK.tar.gz
# cp -a /opt/sdk/a1200/* /opt/a1200

Я не уверен правильно ли я описал все операции но если у вас в результате будут на месте такие папки значит все получилось правильно

/opt/a1200/ezx
/opt/a1200/lib
/opt/a1200/qt
/opt/crosstool/arm-linux-gnu
/opt/crosstool/bin
/opt/crosstool/include
/opt/crosstool/lib
/opt/crosstool/ и др.
/usr/local/setenv-a1200.sh
/usr/local/bin
/usr/local/include
/usr/local/lib

Все теперь все окружение для портирования готово

теперь после запуска термила будем набирать

source /usr/local/setenv-a1200.sh

7) качаем исходники игры которую хотим портировать и распаковываем в нужную папку (для примера /home/lubomyr)
рекомендуется чтоб в исходниках присутствовал файл configure или (autogen.sh, configure.am, makefile.am)
в зависимости насколько мы правильно зададим параметры конфигурации зависит и наш успех портации игры
пареметры которые могут использоватся при конфигурации можно увидить используя

./configure --help

в конце списка флажки которые нужно указать перед конфигурацией

CFLAGS='-O2 -pipe -mcpu=iwmmxt -mtune=iwmmxt'
CXXFLAGS='-O2 -pipe -mcpu=iwmmxt -mtune=iwmmxt'
LDFLAGS='/opt/crosstool/arm-linux-gnu/lib /opt/a1200/lib /opt/a1200/lib/ezx/lib /opt/a1200/lib/ezx/lib/inputmethods /usr/local/lib'
CFLAGS='/opt/crosstool/arm-linux-gnu/include /opt/a1200/ezx/include /opt/a1200/qt/include /usr/loca/include'
LIBS='-ldl -lutil -lqte-mt -lpthread -lezxappbase -lezxappsdk -lezxopenwindow -lipp-miscGen -lipp-jp -lezxjpeg -lezxpm'

параметры при конфигурации которые можно использовать те же что и для Cygwin
./configure --build=x86_64-unknown-linux-gnu --host=arm-linux
и т.д.

8) если конфигурация успешно проходит выполняем команду
make

9) если make успешно проходит остается только протестировать не телефоне, ну еще поковырятся в исходниках и поправить клавиатуру под наши телефоны

при создании даного решения
использовались материалы
http://www.motorolafans.com/forums/showthread.php?t=17584
http://keaglez.blogspot.com/2008/01/a1200e...-blackhawk.html
SDL-либы и SDL-окружение от Евгения (eug)

Сообщение отредактировал Lubomyr - 16.3.2009, 19:43
Юзер вышелВизиткаП/Я
К началу страницы
+Цитировать сообщение
Borman92
сообщение 19.5.2008, 19:14
Номер #2


Мастер
****

Группа: Пользователи
Сообщений: 255
Регистрация: 14.1.2008
Из: Москва
Пользователь №: 160 063
8140522
Модель телефона: A1200e
Прошивка: R541_G_11.52.14R_U3
Рейтинг:
< -100 ( 55 ) 20000 >

   

Цитата(Lubomyr @ 19.5.2008, 20:49) *

<...>
параметры при конфигурации которые можно использовать
./configure
--build=x86_64-unknown-linux-gnu
--host=arm-linux
--without-x
--target=sdl
--backend=sdl
--enable-zlib
--enable-vorbis
--enable-mad
--enable-flac
<...>


--build=x86_64-unknown-linux-gnu
А ведь после такого народ ломанется ставить этот параметр... И обязательно кто-то им что-то сломает... Короче - если не понимаете его смысл, лучше не ставить
Юзер вышелВизиткаП/Я
К началу страницы
+Цитировать сообщение
Yoda_49
сообщение 19.5.2008, 21:26
Номер #3


Мастер
****

Группа: Пользователи
Сообщений: 178
Регистрация: 5.3.2008
Из: РБ Минск
Пользователь №: 165 650
363013203
Модель телефона: rokr e6
Прошивка: Ezh_10_0.1.1
Рейтинг:
< -100 ( 3 ) 20000 >


Lubomyr, а не мог бы ты объяснить людям далёким от линукса, все эти термины smile.gif Всё расписано нормально, но только хотелось бы знать:
1) что такое cygwin и с чем его едят? Это обычный компилятор для линукса?
2) Другие пакеты, на которых галочка стоит, нужны?

4) Зачем нужен телнет при копировании библиотек?
5) Что значит 'свои' либы?
6) Что такое игровое окружение?

Не серчай smile.gif Тут людей разбирающихся в этом единицы и им это уже не нужно. А вот остальным пояснение поможет. И вообще, на первый взгляд, всё так просто..... чёж никто этим раньше не занимался? sad.gif

Сообщение отредактировал Yoda_49 - 19.5.2008, 21:37
Юзер вышелВизиткаП/Я
К началу страницы
+Цитировать сообщение
Borman92
сообщение 20.5.2008, 5:28
Номер #4


Мастер
****

Группа: Пользователи
Сообщений: 255
Регистрация: 14.1.2008
Из: Москва
Пользователь №: 160 063
8140522
Модель телефона: A1200e
Прошивка: R541_G_11.52.14R_U3
Рейтинг:
< -100 ( 55 ) 20000 >

   

Yoda_49,
1) Cygwin - имитация линукса под винду, с тем же успехом можншь работать просто в линуксовой консоли
2) галочки лучше не убирай
3) странная у тебя нумерация...
4) телнет чтобы зайти в консоль на теле и сделать архив с либами, потом любым способом копируешь его на комп
5) родные либы телефона - те, которые внедрены в прошивку (моторолой)
6) окружение - набор прог, скриптов, заголовков для компиляции... как-то строго определить это трудно
Юзер вышелВизиткаП/Я
К началу страницы
+Цитировать сообщение
kyst123
сообщение 20.5.2008, 9:33
Номер #5


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

Группа: Пользователи
Сообщений: 66
Регистрация: 28.1.2008
Пользователь №: 161 573

Модель телефона: А1200е
Прошивка: кутопия
Рейтинг:
< -100 ( 0 ) 20000 >


пробовал под федорой 8 жалуестья на точто у него нет arm-linux-strip
не подскажете где это взять и что это есть?

Сообщение отредактировал kyst123 - 20.5.2008, 9:34
Пользователю запрещено создавать сообщения
Юзер вышелВизиткаП/Я
К началу страницы
+Цитировать сообщение
Lubomyr
сообщение 20.5.2008, 11:26
Номер #6


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

Группа: Пользователи
Сообщений: 532
Регистрация: 25.8.2005
Из: Україна, Львів
Пользователь №: 49 683
176927753
Модель телефона: Motorola A1200e
Прошивка: jffs2 11R UA
Рейтинг:
< -100 ( 250.5 ) 20000 >

   

Цитата(kyst123 @ 20.5.2008, 12:33) *

пробовал под федорой 8 жалуестья на точто у него нет arm-linux-strip
не подскажете где это взять и что это есть?


Возможно под федорой 8 нужно будет использовать другой сдк
http://keaglez.blogspot.com/2008/01/a1200e...-blackhawk.html

там вместо arm-linux добавляется префикс gnu (arm-linux-gnu)

и используется окружение с блекхаковского сдк
a1200-e2-e680i-SDK.tar/pictureflow/setenv-a1200.sh

Цитата

#!/bin/bash

export EZXDIR=/opt/a1200/ezx
export QTDIR=/opt/a1200/qt
export QMAKESPEC=$QTDIR/mkspecs/qws/linux-gnu-ezx-g++
export TMAKEPATH=$QTDIR/tmake/lib/qws/linux-gnu-ezx-g++
export CROSSTOOL_DIR=/opt/crosstool
export PATH=$QTDIR/bin:$QTDIR/tmake/bin:$CROSSTOOL_DIR/bin:$PATH
export LFLAGS_EXTRA=" -Wl,-rpath-link,$CROSSTOOL_DIR/arm-linux-gnu/lib "

export ARCH=iwmmxt
export CC=arm-linux-gnu-gcc
export CXX=arm-linux-gnu-g++
export LD=arm-linux-gnu-ld
export AR=arm-linux-gnu-ar
export AS=arm-linux-gnu-as
export OC=arm-linux-gnu-objcopy
export RANLIB=arm-linux-gnu-ranlib
export STRIP=arm-linux-gnu-strip


Сообщение отредактировал Lubomyr - 20.5.2008, 11:38
Юзер вышелВизиткаП/Я
К началу страницы
+Цитировать сообщение
Borman92
сообщение 20.5.2008, 11:46
Номер #7


Мастер
****

Группа: Пользователи
Сообщений: 255
Регистрация: 14.1.2008
Из: Москва
Пользователь №: 160 063
8140522
Модель телефона: A1200e
Прошивка: R541_G_11.52.14R_U3
Рейтинг:
< -100 ( 55 ) 20000 >

   

Вообще-то, под линуксом совершенно нормально собирается сдк из dev-ezx, который выложен здесь в первом посте скомпилированный, и инструкция по компиляции которого (с минимальными изменениями применимая и под линуксом) выложена в теме (если не вру) "Компиляция нативных приложений". Короче, поиск рулит wink.gif
Юзер вышелВизиткаП/Я
К началу страницы
+Цитировать сообщение
Lubomyr
сообщение 23.5.2008, 11:26
Номер #8


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

Группа: Пользователи
Сообщений: 532
Регистрация: 25.8.2005
Из: Україна, Львів
Пользователь №: 49 683
176927753
Модель телефона: Motorola A1200e
Прошивка: jffs2 11R UA
Рейтинг:
< -100 ( 250.5 ) 20000 >

   

Все таки я сделал большую ошибку добавив в стартовый скрипт /usr/local/setenv.sh строчки

export CFLAGS='-O2 -pipe -mcpu=iwmmxt -mtune=iwmmxt'
export CXXFLAGS='-O2 -pipe -mcpu=iwmmxt -mtune=iwmmxt'

у меня с этими параметрами перестал компилится ScummVM

вместо этого ставим в стартовый скрипт
export LDFLAGS='-L/opt/dev-ezx/a1200/lib/ezx/lib/inputmethods -L/opt/crosstool/gcc-3.3.6-glibc-2.3.2/arm-linux/arm-linux/lib -L/opt/dev-ezx/a1200/lib -L/opt/dev-ezx/a1200/lib/ezx/lib -L/usr/local/lib'
export CPPFLAGS='-I/opt/crosstool/gcc-3.3.6-glibc-2.3.2/arm-linux/arm-linux/include -I/opt/dev-ezx/a1200/include -I/opt/dev-ezx/a1200/include/ezx -I/usr/local/include'

чтоб нормально конфигурировался путь к либам и хидерам

или просто меняем файл /usr/local/setenv.sh

Сообщение отредактировал Lubomyr - 23.5.2008, 11:56


Прикрепленные файлы
Прикрепленный файл  setenv.zip ( 1.43 килобайт ) Кол-во скачиваний: 211
Юзер вышелВизиткаП/Я
К началу страницы
+Цитировать сообщение
perk11
сообщение 23.5.2008, 18:01
Номер #9


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

Группа: Пользователи
Сообщений: 42
Регистрация: 8.3.2006
Из: Москва
Пользователь №: 73 374
5873111
Модель телефона: Siemens S75, A1200e
Прошивка: 47, 14 Gizmoto
Рейтинг:
< -100 ( 16 ) 20000 >

   

А что нужно ставить под линуксом для кросскомпиляции? а то Cygwin тянуть не хочется..
Юзер вышелВизиткаП/Я
К началу страницы
+Цитировать сообщение
John Johonson
сообщение 24.5.2008, 0:36
Номер #10


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 30.5.2007
Из: Новосибирск >> Академгородок
Пользователь №: 136 554
324688891
Модель телефона: SLVR L7
Прошивка: HotMix E0R_RB
Рейтинг:
< -100 ( 2 ) 20000 >

   

Цитата(perk11 @ 24.5.2008, 1:01) *

А что нужно ставить под линуксом для кросскомпиляции? а то Cygwin тянуть не хочется..

mkezx.org там mkezx, но при сборке он пытается все зависимости вытянуть из инета =/
openezx.org там ezx crosstools для linux, доступный пакет там кажется для федоры
Юзер вышелВизиткаП/Я
К началу страницы
+Цитировать сообщение

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

 



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