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.b
z2 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,
3-ezx6-32mb-p1. (There seems to be a confusion here - the kernel is actually 126.96.36.199-ezx6)
- 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 192.168.1.10' and telnet to 192.168.1.2 (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-188.8.131.52-ezx3-32mb-p1 *does not* work - instead use the one which I had mentioned.