xray v1: an X-ray of an Android phone before porting
xray collects over adb what you need to know about an Android phone before porting it: SoC, partitions, fstab and kernel. No root, Android 2.2 to 4.2.
xray collects over adb what you need to know about an Android phone before porting it: SoC, partitions, fstab and kernel. No root, Android 2.2 to 4.2.
The P659H rejected TWRP with “boot certification verify”. I analyzed its aboot, added a Loki target, and obtained persistent recovery.
The LG L3 (MSM7225A) shipped with kernel 2.6.38. Moving it to 3.4 for Android 4.2.2 was a chain of silent reboots, nearly all caused by the modem.
The G2 Mini (D625) is a Tegra 4i, not a MediaTek LK phone: unlocking works differently, with its own low-level recovery mode and flashing tool.
adb tcpip lets you debug over Wi-Fi while USB is in host mode, but everything depends on the network: a mistake of mine shows how the link drops.
Born to confirm a worn-out battery on the LG D625. Now it runs automatic tests on Android 2.2+ with a report that survives a reboot.
Gingerbread has no screencap. Read /dev/graphics/fb0 directly and use the panel's real stride, which almost never matches the visible width.
The LG C660 has no battery gauge chip: voltage reaches the OS filtered from the modem in 17 mV steps. What you can conclude with that, and what not.
I enabled the 2.6.35 kernel's USB host, forced host mode and measured the PHY: with a flash drive or mouse, D+ and D- never move.
input tap, swipe and am force-stop don't exist on Gingerbread, but the shell's $((...)) arithmetic does. I checked it on a real phone.
The L3's stock kernel already had USB host. Missing: mounting the disk and a switch to force host mode, since the ID pin never reaches the CPU.
The LG L3 on kernel 3.4 reboots by itself, no panic, at 609–616 s of uptime; on 2.6.38 it doesn't. What I ruled out and what's still open.
The Y220-U05 (MT6572) runs a kernel from a donor tree. What had to be fixed: boot, Wi-Fi, camera, power-off charging and the hotspot.
My rule in ports: don't patch Android's platform code; solve hardware differences in the device tree with HALs and shims. Three real examples.
One LK bootloader patch, with tweaks, worked on three LG phones. The first version seemed fine and left the phone in a boot loop.
Before booting the Y220-U05's Android with my own kernel I tried each version as a recovery. How I built that test bench and what it taught me.