EZXA780/A910/A1200/ROKRE2/ROKRE6 consist in linux based (ezx) phones from Motorola File:A780-small.png File:A1200-small.png Must see linksGood links to start with for discovering ezx phones:
Crosstool toolchainThere are many toolchains floating around:
SDK: software development kitThere is no official version. All the SDKs have been reversed engineered from the phone binaries. For the A780 and E680 one can use the following unofficial sdk:http://lsb.blogdns.net/ezx-devkit Note that no corresponding version exist for A1200, ROKRE2 and ROKRE6. In order to reconstruct from scratch the library headers files from the stripped binaries present on the phone you can play with: arm-linux-objdump -T --demangle libezxappbase.so arm-linux-nm -aDC libezxappbase.so Native applications: mkezx distrib/packaging frameworkI contribute to the mkezx project http://www.mkezx.org which
I use mutt with ssl support to read and write emails on my phone based thanks to mkezx! The number of applications is still growing but already you have access to the following packages:
A piece of advice: always use the svn checkout and do read the README (everything is explained there for newbies!). Linux desktop configuration to use ezx phones
iface usb0 inet static address 192.168.1.1 pointopoint 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 mtu 900
//ezx/system /mnt/ezx smbfs guest,noauto,user 0 0 Hardware information
Package installation processPackage installation on a1200, rokre6On the a1200 and rokre6 only signed mpkg can be installed. Thanks to yan0 there is a work around: a package installer application mpkg that enables to get around the signature check and enables the installation of unsigned .pkg packages. Compared to the original yan0 version I made some speed enhancements and code cleanups consisting in:
In order to install this package installer you need to:
http://www.motorolafans.com/forums/viewtopic.php?t=7175 Once mpkg package installer is operational in order to install a .pkg touch the package icon you wish to install until a menu appears and select "open with" mpkg striking the "always use the program..." box in order to make the correct association once for all. Package installation on other handsets (a780, e680, rokre2)In order to install a .mpkg package you need to install the provided package through the use of the native installer. Installation is performed by by touching the package icon you wish to install until a menu appear and select "Install" Inet daemon with telnet and samba daemon packagesSince on the a1200 and rokre6 for the latest released firmware telnet and samba are gone, I have made some package to reintroduce these important development features.
The binaries provided here come from the a780. The only difference for inetd is that I modified the call in in.telnetd to telnetlogin to redirect it to /mmc/mmca1/sbin/tnlg though a simple sed When touching the inetd or smbd icons it simply enables/disables the daemon. The icon is used as an on and off switch. Ssh daemon package with a patched version of dropbearIntroductionThis is the sshd package embedding an ssh server for ezx phones based on a patched version of dropbear. The motivation for this package is to provide a more secure login process on the phone than telnet with an empty root password. By the way, note that telnet is now disabled on the latest production firmwares for the new generation ezx phones. Compared to the vanilla dropbear version the provided dropbear binary has been patched to:
If you wish to analyze the resulting source code, please have a look at mkezx: http://www.mkezx.org these patches have been contributed to this great generic build framework and can be browsed online at mkezx dropbear patches PrincipleThis package replicates at the first start the content of the read only directory /etc in /ezxlocal/rwetc and modifies the home directory of ezx and root users to be set to a writeable location: /ezxlocal/home/ezx and /ezxlocal/home/root respectively. Directory /ezxlocal/rwetc is mounted in place of /etc through the use of mount -t bind command. This way /etcbecomes writeable (you can even change root and ezx password). The host keys are installed in /etc/dropbear and uses keys are also generated. This trick enabled me to get rid of many unnecessary dropbear patches compared to former version. Preparation before usageThe creation of the root and ezx home directories and replication and modification of the /etc directory are performed automatically at the fist launch of the script. Since the authentication for ssh is based on public key thus in order to allow login you need to:
UsageThe application icon is used as an on and off switch launching the ssh daemon (dropbear) in background. If this package does not work please refer to dropbear succinct documentation and also check the permission of the ssh users configuration files on the handset (they should be read only for the user!). DownloadThe resulting packages are available at a1200 sshd version, rokre6 sshd version and rokre2 sshd version Mplayer recompilation and further accelerationWhat was available before starting this effortA packaged version of mplayer for the a780/e680 is available around: eplayer. The original post is from icq8 on ccmove: http://club.ccmove.com/nclub/topicdisplay.aspx?boardid=-2&pageno=1&TopicID=150559. This version contained already some optimized for the arm core based on the zaurus code from http://atty.skr.jp/pukiwiki/?Zaurus%2Fmplayer The latest version is available through svn browsing at http://atty.skr.jp/WebSVN/listing.php?repname=mplayer-w100&path=%2Ftrunk%2F&rev=0&sc=0#/trunk/. Further enhancements brought to the codeAll started by trying to to recompile this optimized version: it is requiring unfortunately the non-free optimized arm intel libraries Integrated Performance Primitiveshttp://intel.com/cd/software/products/asmo-na/eng/perflib/ipp/index.htm or linux download http://www.intel.com/software/products/ipp/downloads/ipplin.htm (you need to apply for a license). Since A780/A1200 core has the iWMMX extensions, you can download the binaries for Intel PCA Processors with Intel Wireless MMX Technology. Now a working set of patches against MPlayer v1.0pre8 source merging all the mplayer-zaurus modifications is available in the patches directory of mkezx mplayer package and is composed of the following pieces:
Compared to this plain IPP library based accelerated patch we have contributed new code to enable the following features:
Please note that:
WIP: work in progress, a new version of mplayer is being worked out based on 1.0rc1 svn tree. We have been contacted by the mplayer maintainers and are trying to integrate as much as possible of the above modifications into the mplayer mainstream! More to come soon I hope... Zmplayer packageIntroductionzmplayer includes:
Note that enhancements 2 through 6 are custom patches made by us which basically ensures that the mplayer binary provided is the fastest one for ezx phones :-) Though distributed as a separate package you can build your own latest mplayer binary version by using mkezx since all the patches have been contributed to this open source framework. Unfortunately the source code of the ezx mplayer frontend: zmplayer will not be distributed for now. If you wish to convert a video for the phone an example script: mkvideo-ezx.sh based on mencoder is included in the package. InstallationIn order to install this package you need to follow package installation procedure described above and:
Key mappingKey/function mapping:
ConfigurationGlobal shell variables:
ZMPLAYER_SILENCE: specificies the location of silence.ogg, an audio only track to play when the zmplayer is called without arguments. DownloadThe resulting package for:
Video encoding parametersAs an indication here are the video encoding parameters used in the mkvideo-ezx.sh encoding linux script based on mencoder for the ezx phone included in zmplayer package:
Here are the mencoder options used for various quality profiles that I use:
Note: it is always faster to perform rotation of the movie so that it spares mplayer to perform the software rotation in the encoding: i.e. use -vf scale=$scale,rotate=1 video filter. Make /etc editable & change root passwd (more secure telnet)The idea is to mount on /etc a rw directory
cp -dprf /etc /ezxlocal/etc
mount -o bind /ezxlocal/etc /etc
htpasswd -n root In my /etc/passwd file I even changed the home directories for the users... Mount in loopback a rw partition file imageMotivation: have a rw mkezx image instead of rw cramfs. Here is the procedure:
dd if=/dev/zero of=mkezx.img bs=1024 count=200
losetup /dev/loop0 mkezx.img mke2fs /dev/loop0
insmod -f ./ext2.o
mount /dev/loop0 /ezxlocal/mmc Icons generation for applicationsIf you use square icons on the a1200 they will be stretched horizontally. In order to avoid this undesirable effect I use the following command to reshape them correctly and automatically: convert original-icon.png -resize 43x43 -resize 64x43\> -size 64x43 xc:none +swap -gravity center -composite new-icon.png convert original-icon-sm.png -resize 22x22 -resize 32x22\> -size 32x22 xc:none +swap -gravity center -composite new-icon-sm.png Note that default icon resolution for the other phones that I use are 43x43 and 22x22 for the smaller version. Synchronization of PIM between ezx and linuxIt is explained here: http://www.ohli.de/?J2MESync AuthorsMarc de Courville <marc@courville.org> and David Bateman <dbateman@free.fr> |
Main Page >