Sony Xperia E Dual (sony-nanhu)

From postmarketOS Wiki
Sony Xperia E Dual
Sony Xperia E Dual
Sony Xperia E Dual
Manufacturer Sony
Name Xperia E Dual
Codename sony-nanhu
Released 2013
Hardware
Chipset Qualcomm Snapdragon S1 (MSM7227A)
CPU 1.0 GHz Cortex-A5
GPU Adreno 200
Display 320x480 IPS
Storage 4 GB
Memory 512 MB
Architecture armv7
Software
Original software Android
Original version 4.0.4 (Linux 3.0.1)
postmarketOS
Category testing
Pre-built images no
This device is marked as not booting.

Contributors

  • Nicknack

What works

  • Compiling the kernel

What does not work

  • Flashing, there are problems with Sony's boot image format

The built kernel boots with a black screen and no further sign of acitivity. Fastboot flashes without errors but flash offsets are probably wrong. Only known working kernels have a different ELF file format.

Boot image format

There is one tool avaiable for unpacking Sony's ELF boot format into the normal ANDROID format:
libbootimg

Sadly, even unpacking and repacking a working prebuilt kernel doesn't seem to work.

I had more luck with mkelf.py script from Sony. You can loosely follow the tutorial here. This time unpacking a working kernel elf image and repacking it with mkefl.py worked. Needed to change only a few bits with vbindiff. Now we only need to find a working set of offsets and image parts to do the same with a custom kernel!

Here are some links describing the problem with Sony's boot format:

Next possible steps

  • Try booting pmOS with a prebuilt kernel.
  • Try repacking built kernel into ELF format
  • UART debugging?

Links