Компиляция Python 2.2.1 и 2.6.2 для MotoMAGX



Для начала скачиваем SDK для MotoMAGX. Устанавливаем его, подробнее про установку написано тут, в закреплённом посту. Скачиваем собственно исходники Python 2.2.1. Скачиваем Патч для кросс-компиляции Python.

Далее подгружаем переменные окружения:

Распаковываем исходники Python-2.2.1:

Создаём папку python/ в SDK:

Применяем патч (он должен лежать в /home/z6/):

Заходим в директорию с исходниками Python’а и выполняем:

После make ругнётся, что не может запустить исполняемый файл python:

Забейте на эту ошибку, так как мы ведь компилировали не под х86, а под ARM. Так что выполняем:

Далее просто копируем папку /opt/toolchains/motomagx/arm-eabi2/python/ на телефон. Я, например, скопировал её в /mmc/mmca1/games/ (/mmc/mmca1/— это флешка).

Кстати, не забываем устанавливать необходимые либы, понадобится libutils и ещё некоторые. Если у вас тут возникнут проблемы — стучите в асечку.

Ну и собственно Hello World на Python. Первым делом создаём файл test.py и с помощью Notepad++ пишем туда следующее:

Сохраняем, кидаем файл куда-нибудь на телефон, например в папку /mmc/mmca1/test/.

Далее создаём такой скриптик start.sh:

Копируем скрипт в папку test/, рядом с нашим test.py, подключаемся через Telnet, выполняем:

И видим следующее:

Избавиться от мусора можно просто убрав флажок -v в скрипте запуска start.sh:

Тогда будет просто:

Результат можно вывести в файл:

Вот, к примеру, скрипт на Python для получения числа π:

Ждём с минутку, нажимаем Ctrl + C, и в файле pi.txt будет число π.

Примеры скриптов, демок и остального можно посмотреть в директории /home/z6/Python-2.2.1/Demo/.

В общем, направление я дал. Дело за вами. Теперь насчёт pyGame и визуальной оболочки: pyGame реально портировать, он уже портирован на такие устройства как Dingoo A320, GP2X. Я думаю нам нужно будет сделать лишь вывод изображения. Я не сильно знаком с Python, но если из него можно будет запускать необходимые ShowModules — получим оболочку.

При написании мануала я пользовался этой инструкцией — ARM Cross-compiling Python и статьёй уважаемого racinglocura07.

Зеркала. Перелил все файлы на MotoFan.Ru:

Скачать исходники Python-2.2.1
Скачать патч python-cross-compile
Скачать уже откомпилированный Python-2.2.1 для Z6/V8/EM30/ZN5 и прочих MotoMAGX
Скачать HelloWorld’ы, примеры скриптов

Разработчик shevayura собрал новую версию Python 2.6.2: скачать.

Особенности Python 2.6.2:

  • Собран с либами. Все предыдущие сборки выложенные здесь — собраны без библиотек (только сам питон и жизненно-важные встроенные библиотеки);
  • Либы спрятаны в архив. Питон подгружается чуть медленней, но импорт библиотек быстрее. Да и не придётся заливать >4000 файлов на телефон (теперь около 180);
  • Точно не работает socket (и производные от неё а-ля urllib’ы).

Запускать так (вариант для Motorola V8 с Fusion3 Speed):

Замените PYTHONHOME=/mmc/mmca1/.soft/python на путь к папке с питоном. Также возможно придётся заменить пути с библиотеками. Можно сохранить это в файлик python26 и кинуть на телефон в /mmc/mmca1/, после чего запускать так: ./mmc/mmca1/python26.

Чтобы запустить файл замените в последней строчке exec $PYTHONHOME/bin/python2.6 $1 $2 $3 на exec $PYTHONHOME/bin/python2.6 ИМЯ_ФАЙЛА.

Dev, Manuals, MotoMAGX

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *