Most of the guide is just a slight refactor of the helpful info mentioned in the original "AndroidPortingGuidelineforA1200.pdf" guide. Big thanks to the androidezx project for putting the initial effort into this.
While this is a refactor on one side, I am also supplying details about some of the OpenEZX technicalities
Be aware that reviving the original androidezx makes less sense than the "modern day" approach to Android on the MING, which has a fair bit of differences.
Prerequisites:
most of the stuff mentioned here will be downloaded later on during the guide steps
Debian current (or anything else linux applicable, but I did debian for sanity reasons)
ARM compiler for the kernel: arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
Android m5-14 SDK: android-sdk_m5-rc14_linux-x86.zip
OpenEZX and Android patches: Linux 2.6.24: linux-2.6.24.tar.gz
Debian setup:
Code: Select all
apt install build-essential libusb-dev git debootstrap autoconf pkg-config libtool
mkdir chroot
debootstrap --no-check-sig --arch=i386 wheezy chroot/ http://archive.debian.org/debian
wget https://web.archive.org/web/20140729120108/https://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -O chroot/home/arm.tar.bz2
wget https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.gz -O chroot/home/linux-2.6.24.tar.gz
echo 'Acquire::Check-Valid-Until "false";' | tee chroot/etc/apt/apt.conf.d/99no-check-valid-until
echo "deb http://archive.debian.org/debian wheezy main contrib non-free" > chroot/etc/apt/sources.list
echo "deb http://archive.debian.org/debian-security wheezy/updates main contrib non-free" >> chroot/etc/apt/sources.list
mount -t proc proc chroot/proc
mount --rbind /sys chroot/sys
mount --rbind /dev chroot/dev
mount --rbind /run chroot/run
EZX kernel build:
we will be switching to the chroot as I figured building the kernel only on an old debian chroot for now
Code: Select all
chroot chroot/ /bin/bash
apt-get install build-essential quilt bsdtar
cd home
tar -xvf arm.tar.bz2
tar -xvf linux-2.6.24.tar.gz
cd linux-2.6.24
# openezx patches
wget http://forum.370.network/download/file.php?id=944 -O openezx-patchset.zip
mkdir patches
bsdtar -xf openezx-patchset.zip --strip-components=2 -C patches
quilt push -a
# androidezx patches
wget http://forum.370.network/download/file.php?id=943 -O android-patches.zip
bsdtar -xf android-patches.zip
patch -p2 < android-patches/android-a1200-pcap.patch
patch -p2 < android-patches/android-a12000-16bpp.patch
patch -p2 < android-patches/android-config-nfs.patch
patch -p2 < android-patches/android-core.patch
patch -p2 < android-patches/android-framebuffer.patch
patch -p2 < android-patches/android-touchscreen.patch
- PHONES = a780 e680 a1200 e6 e2 a910
to PHONES = a1200 - CROSS_COMPILE ?= /home/wyrm/ezx/dev/cross/bin/arm-angstrom-linux-gnueabi-
to CROSS_COMPILE ?= /home/arm-2007q3/bin/arm-none-linux-gnueabi- - J ?= 2
to J ?= <insert your preferred amount of jobs or just use $(nproc)>
moto-boot-usb build:
we are switching back to the regular shell, feel free to exit out of the chroot
Code: Select all
git clone https://github.com/370network/moto-boot-usb
cd moto-boot-usb
./autogen.sh
./configure --with-kernel-dir=$(pwd)/../chroot/home/linux-2.6.24
make
Putting it all together:
You were supplied with a NFS root that you were supposed to put on the Linux install, figure out the NFS server settings and then boot the kernel with moto-boot-usb with
Code: Select all
moto-boot-usb/src/moto-boot-usb chroot/root/linux-2.6.24/arch/arm/boot/zImage 1742List of helpful sources (relevant, irrelevant and nice):
- www.motorolafans.com/forums/android/21887-porting-andoid-a1200-ming.html
- http://code.google.com/android/index.html
- http://benno.id.au/blog/
- wiki.kldp.org/wiki.php/AndroidPortingOnRealTarget?refresh=1
- https://archive.org/download/android-sd ... ows-linux/
- http://www.baiheee.com/Documents/091118 ... 203540.htm
- http://androidzaurus.seesaa.net/article/74237419.html
- http://www.omegamoon.com/blog/index.php?m=01&y=08&d=10&entry=entry080110-191602
- https://en.eeworld.com.cn/news/qrs/eic64514.html
- http://thats-the-way-it-is.blogspot.com/
- https://forum.motofan.ru/index.php?show ... id=1312063
- https://elinux.org/Android_on_OMAP
- https://androidzaurus.seesaa.net/archives/200712-1.html
- https://blog.naver.com/free2824/60063640259
- https://android-porting-on-devices.blog ... -omap.html
- http://euedge.com/blog/2007/12/06/google-android-runs-on-sharp-zaurus-sl-c760/
- https://honeypod.blogspot.com/2007/12/c ... ource.html
- https://www.cnblogs.com/anan/archive/20 ... 53037.html
- http://androiddevelo.blogspot.com/searc ... date=false
- http://www.helloandroid.com/tutorials/musicdroid-audio-player-part-i
- http://www.adamrocker.com/blog/android/
- http://www.helloandroid.com/apps/musicdroid
- http://people.openezx.org/muromec/eoc-ffuart
- http://www.freesmartphone.org/
- https://archive.fosdem.org/2007/slides/ ... penEZX.pdf
- https://wladimir-tm4pda.github.io
- https://laforge.gnumonks.org/blog/tags/a780/


