![]() |
![]() |
![]() |
![]() |
![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
| 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 > |
<...> параметры при конфигурации которые можно использовать ./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, а не мог бы ты объяснить людям далёким от линукса, все эти термины
1) что такое cygwin и с чем его едят? Это обычный компилятор для линукса? 2) Другие пакеты, на которых галочка стоит, нужны? 4) Зачем нужен телнет при копировании библиотек? 5) Что значит 'свои' либы? 6) Что такое игровое окружение? Не серчай Сообщение отредактировал 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) галочки лучше не убирай 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 > |
пробовал под федорой 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, который выложен здесь в первом посте скомпилированный, и инструкция по компиляции которого (с минимальными изменениями применимая и под линуксом) выложена в теме (если не вру) "Компиляция нативных приложений". Короче, поиск рулит
|
| 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 > |
|
![]() |
| Текстовая версия | Сейчас: 8.2.2010, 22:08 |