Для сборки софта полезно ознакомиться с ссылками
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
Работает
uname это уже так, для проверки.
Обратите внимание, что такое в нашей системе bash. Так что, можно либо писать алиас, либо запускать bash комнадой в стиле /ezxlocal/mmc/bin/bash
Ну, или можно просто собрать свою прошивку с готовым bash'ем, но это уже совсем другая история...
Сообщение отредактировал voronaam - 15.8.2007, 21:34
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
Работает

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

Сообщение отредактировал voronaam - 15.8.2007, 21:34