Reviving androidezx (Android on the Motorola MING A1200)

things from boards above, but in an international language
Post Reply
User avatar
Morc Offline
Posts: 198
Joined: Fri Jul 19, 2024 12:23 pm
Description: 21 | tatar z Biskupovej

Ak som sa volade omýleu tak na mňa kričte.
Contact:

Reviving androidezx (Android on the Motorola MING A1200)

Post by Morc »

Android on the EZX platform based phones (especially the A1200) is a nice piece of lost* history.

This thread is going to be quite a bit of a mess for my own purposes at first. Expect shit to move around and so on.

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.


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:
andoid-a1200-ming-android-patches.zip
(65.41 KiB) Downloaded 2 times
andoid-a1200-ming-openezx-patchset.zip
(236.47 KiB) Downloaded 4 times
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
open patches/Makefile.openezx with nano and perform these changes:
  1. PHONES = a780 e680 a1200 e6 e2 a910
    to PHONES = a1200
  2. CROSS_COMPILE ?= /home/wyrm/ezx/dev/cross/bin/arm-angstrom-linux-gnueabi-
    to CROSS_COMPILE ?= /home/arm-2007q3/bin/arm-none-linux-gnueabi-
  3. J ?= 2
    to J ?= <insert your preferred amount of jobs or just use $(nproc)>
proceed to build the kernel with make –f patches/Makefile.openezx


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
the resulting binary is "src/moto-boot-usb"

List of helpful sources (both relevant and nice): Old videos:
Image
Post Reply