motofan logo
> 

Кросс-компиляция программ, Советы, вопросы, овтеты

voronaam
сообщение 15.8.2007, 18:08


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

Группа: Пользователи
Сообщений: 36
Регистрация: 27.7.2007
Из: Санкт-Петербург
Пользователь №: 142 647
Модель телефона: MOTOMING (A1200e)
Прошивка: R541_G_11.52.08R

Рейтинг: 18



Для сборки софта полезно ознакомиться с ссылками
http://wiki.openezx.org/Crosscompile
http://www.mkezx.org/

Исходники ядра доступны на http://opensource.motorola.com.
Если вы выберите mkezx, то можете их не качать, авторы mkezx уже позаботились об этом - при необходимости mkezx сам скачивает исходники ядра.

P.S. Если есть уже такая тема, извините, не нашёл.

Добавлено позже (16.8.2007, 1:02):
А вот и первые ответы. Итак, я уже упоминал проект mkezx, на форуме он всегда упоминался как "медленный альтернативный интерфейс". Я же хочу рассказать о другой полезной стороне этого пакета.
Многие (я надеюсь) уже успели вкусить прелестей консоли на телефоне, и почувствовать как не удобен в повседневной жизни ash, как не хватает less и nano и прочих мелких, но таких незаменимых в отвественный момент программ.

Все они собираются пакетом mkezx!

Вот история о том, как я заставил работать swap и ext3 на телефоне. mkezx появляется только во второй части истории.

Итак, я создал на флэшке три раздела. vfat - ext3 - swap. И хочу научить телефон работать с этими дополнительными разделами.
Захожу в /dev, делаю ls mmc* и вижу, что у меня есть только mmca1. То есть файлов, представляющих собой блочные устройства дополнительных разделов нет и я не могу даже обратиться к ним. Не беда!
Смотрите!
Код

# cd /dev
# ls -l mmca1
brw-rw----    1 root     root     243,   1 Jan  1  2000 mmca1
# cd /ezxlocal/
# mknod mmca2 b 243 2
# mknod mmca3 b 243 3

Обратите внимание на число 243. Его я взял из вывода команды ls -l, оно отвечает за драйвер устройства, последнее же число - это просто номер раздела по порядку.

Теперь у нас есть файлы устройств. Осталось только включить swap!
Код

# swapon mmca3
# swapon -s
Filename                        Type            Size    Used    Priority
/ezxlocal/mmca3                 partition       56216   208     -1

Used у вас в начале будет 0, но постепенно заполнится. Эффект от этого вы заметите на обработке больших файлов.

Вот и настало время раздела с ext3.
Код

# mkdir mmc
# mount mmca2 mmc
mount: fs type ext2 not supported by kernel
# mount mmca2 mmc -t ext3
mount: fs type ext3 not supported by kernel

Телефон убеждает нас, что о файловой системе Ext он ничего не знает. Что ж, попробуем его научить.
Итак, мы ставим mkezx как описано во всех мануалах (я собирал сам, во многих местах форума лежат ссылки на уже собранный).
Вкратце, на большом компе распаковываем mkezx-base-image.tar.bz2 на нашу ext3 файловую систему и копируем mkezx.mpkg на vfat-раздел (не забыв сменить расширение на .pkg). Ставим через MpkgInstaller.

После этого у нас есть папка с модулями ядра.
Код

# cd /mmc/mmca1/.system/QTDownLoad/mkezx/mkezx.boot/lib/modules/a1200/
# insmod jbd.o
# insmod ext3.o
# insmod af_packet.o
# cd /ezxlocal
# mount mmca2 mmc
# ls mmc
bin  etc  include  lib  lost+found  sbin  share  utelnetd  var

А теперь смотрим сюда, и радуемся:
Код

# ls mmc/bin
[             deallocvt        grep            nisdomainname  tar
[[            dehtmldiff       grepdiff        nohup          tcptraceroute
addgroup      delgroup         gunzip          openvt         tee
adduser       deluser          gzexe           passwd         tempfile
apt-cache     df               gzip            patch          test
apt-cdrom     diff             head            pidof          time
apt-config    diff3            hexdump         pipe_progress  top
apt-get       dirname          hexedit         printenv       touch
apt-key       dmesg            hostname        printf         tr
ash           dnsdomainname    id              ps             true
awk           domainname       install         pwd            tty
basename      dpkg             interdiff       readlink       umount
bash          dpkg-deb         kill            realpath       uname
bashbug       dpkg-query       killall         recountdiff    uncompress
bunzip2       dpkg-split       length          rediff         uniq
busybox       dropbearconvert  less            reset          unwrapdiff
bzcat         dropbearkey      lessecho        rm             unzip
bzcmp         du               lesskey         rmdir          unzipsfx
bzdiff        dumpkmap         ln              rnano          usleep
bzegrep       echo             loadfont        run            uuidgen
bzexe         editdiff         login           run-parts      vi
bzfgrep       egrep            logname         rx             vlock
bzgrep        elinks           ls              scp            wc
bzip2         env              lsattr          screen         wget
bzip2recover  espdiff          lsdiff          screen-4.0.2   which
bzless        expr             lsof            sdiff          who
bzmore        false            mcookie         sed            whoami
cat           fbgrab           md5sum          seq            xargs
chattr        fbset            mesg            setkeycodes    yes
chgrp         fgrep            mk_cmds         sh             ypdomainname
chmod         file             mkdir           sha1sum        zcat
chown         filterdiff       mkezx-shutdown  sleep          zcmp
chvt          find             mkfifo          sort           zdiff
clear         fixcvsdiff       mknod           splitdiff      zegrep
cmp           flipdiff         mktemp          ssh            zfgrep
combinediff   fold             more            stat           zforce
compile_et    free             mount           strace         zgrep
cp            funzip           mv              strace-graph   zipgrep
cut           gdb              nano            strings        zipinfo
date          gdbserver        nc              su             zless
dbclient      gdbtui           netstat         sync           zmore
dd            getopt           nice            tail           znew

Осталость настроить окружение на использование этого bin и лежащего рядом lib и будет сказка. Ну и написать скрипты, чтобы после перезагрузок телефона не монтировать файловые системы вручную.
Код

# export LD_LIBRARY_PATH=/ezxlocal/mmc/lib
# export PATH=$PATH:/ezxlocal/mmc/bin
# cd /
# uname -a
Linux (none) 2.4.20_mvlcee31-mainstone_pxa27x #1 Jan 1,2003 armv5tel unknown
# type bash
bash is /bin/bash

Работает smile.gif uname это уже так, для проверки.
Обратите внимание, что такое в нашей системе bash. Так что, можно либо писать алиас, либо запускать bash комнадой в стиле /ezxlocal/mmc/bin/bash
Ну, или можно просто собрать свою прошивку с готовым bash'ем, но это уже совсем другая история... smile.gif

Сообщение отредактировал voronaam - 15.8.2007, 21:34
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме
voronaam   Кросс-компиляция программ   15.8.2007, 18:08
Positive88   круто, спасибо я так понимаю, там busybox? а вмест...   16.8.2007, 7:58
voronaam   круто, спасибо я так понимаю, там busybox? а вмес...   16.8.2007, 8:02
z3r0c001   ext3? Может 4 гиговую флешь потянет с такой ФС?   16.8.2007, 21:30
voronaam   ext3? Может 4 гиговую флешь потянет с такой ФС? ...   17.8.2007, 8:45
z3r0c001   где б скачать собранный mkEZX?   28.8.2007, 19:18
tmr   http://realive.spb.ru/downloads/hainan/   29.8.2007, 4:03
z3r0c001   # mknod mmca2 b 243 2 mknod: `mmca2': Oper...   29.8.2007, 16:44
voronaam   Интересно... А телефон с какой прошивкой? Набери i...   29.8.2007, 19:06
z3r0c001   Прошивка c2 30p uid=0(root) gid=0(root) groups=0(...   29.8.2007, 19:46
Polovoy   Последняя инфа с motorolafans.com Туц!   24.9.2007, 7:00
Positive88   Последняя инфа с motorolafans.com Туц! ух, ...   25.9.2007, 8:09
toohes   Ну чо, кто-нить разобрался как с этим работать?   27.9.2007, 11:46
maximus2963   toohes, ну так если наешь английский - иди на фору...   27.9.2007, 21:31
toohes   toohes, ну так если наешь английский - иди на фор...   28.9.2007, 10:54
demonvex   Молодцы ребята. Займет это конечно много времени, ...   27.9.2007, 23:05
toohes   На вчерашний вечер итоги - успешная линковка донго...   17.10.2007, 17:31
Ilya Petrov   На вчерашний вечер итоги - успешная линковка донг...   19.10.2007, 5:53
toohes   это который с двумя Qlabel и одним кнопком? у мен...   19.10.2007, 15:04
toohes   Полазил по инету - с OPIE и GPE всё то же самое. Д...   19.10.2007, 20:31

Кросс-компиляция программ, Советы, вопросы, овтеты · Motorola ROKR E6, E6e, E6tv, MING A1200, A1200i, A1200e, A1200r, A1200w, A1600 · Forum
 

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

 



Текстовая версия Сейчас: 16.6.2025, 9:31

Форум живёт: