July 26th, 2006


OpenEZX on my Motorola A780!

Just now got OpenEZX up and running on my Motorola A780 mobile phone!

The procedure is as follows:

  • Connect the phone to the Linux (in my case, Ubuntu) PC using the USB cable provided and power it (the phone) up; you will get a message on the phone which says that it is switching over to `usb mass storage device' mode. You will get two device entries /dev/sda1 and /dev/sdb1 on the Ubuntu box - the first one representing the flash memory built into the phone and the second one representing the Micro-SD card inserted into the appropriate slot (you get a 128Mb micro-sd card with the phone).
  • Set up an ext3 file system by running mkfs.ext3 on /dev/sdb1
  • Get a root file system, openezx-debian-sarge-root-20060512.tar.bz2 from here. Untar it and delete a few files/directories (say under /var/cache) to reduce the total size to around 100Mb so that it fits into the micro-sd card. Copy all the files to /dev/sdb1.
  • Get a precompiled kernel, http://people.openezx.org/stefan/zImage-2.6.13-ezx6-32mb-p1. (There seems to be a confusion here - the kernel is actually
  • Get boot-usb.c from here. Compile it with the -lusb option and create an executable called, say, boot_usb.
  • Now power off your phone, keep the `camera' and `scroll wheel' buttons of the mobile (these two buttons are on the two opposite sides of the phone) pressed and power it on; magic, you have now got into the boot loader. The boot loader is waiting for you to send a kernel over the USB link; this kernel will be loaded into the memory of the phone and booted.
  • Run boot_usb on the Linux host machine and give it the name of the kernel as argument - you will see lots of numbers coming on the screen - patience, it takes some time to get the whole of the kernel onto the phone.
  • Now wait for some more time - your patience will be rewarded when you witness the spectacle of the boot loader screen vanishing and a cute penguin appearing at the top left corner of the LCD display. You will see boot messages scrolling by on the screen.
  • You will not get a login prompt on the phone (OK - I didn't get it); instead you will have to log on remotely. This is easy. I just had to do `ifconfig usb0' and telnet to (which is the IP assigned to the phone). It took some time for the login prompt to appear - but I was able to log in without any problem.

The above steps are described here - the only thing to take note is that zImage- *does not* work - instead use the one which I had mentioned.