Jump to content

Sony Xperia E Dual (sony-nanhu)

From postmarketOS Wiki
Revision as of 02:46, 15 September 2017 by CmdrWgls (talk | contribs) (Added infobox.)
Sony Xperia E Dual
Manufacturer Sony
Name Xperia E Dual
Codename nanhu
Released 2013
Hardware
CPU Qualcomm MSM7227A Snapdragon S1
GPU Adreno 200
Display 320x480 IPS
Storage 4GB
Memory 512MB
Software
Original software Android 4.0.4 on Linux 3.0.1
postmarketOS
Category testing
Pre-built images no
Mainline no
Features
Flashing
No data
USB Networking
No data
Internal storage
No data
SD card
No data
Battery
No data
Screen
No data
Touchscreen
No data
Multimedia
3D Acceleration
No data
Audio
No data
Camera
No data
Camera Flash
No data
Connectivity
WiFi
No data
Bluetooth
No data
GPS
No data
NFC
No data
Modem
Calls
No data
SMS
No data
Mobile data
No data
Miscellaneous
FDE
No data
USB OTG
No data
HDMI/DP
No data
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data

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