Samsung Galaxy S5 mini (samsung-kminilte)

From postmarketOS
Jump to: navigation, search
Samsung Galaxy S5 mini
Samsung Galaxy S5 mini
Samsung Galaxy S5 mini
Manufacturer Samsung
Name Galaxy S5 mini
Codename kminilte
Released 2014
Original software Android 4.4.2 on Linux 3.10
Hardware
CPU Exynos 3470 Quad
GPU Mali-400MP4
Display 720x1280 AMOLED
Storage 16GB
Memory 1.5GB

Basic info

Device: Samsung Galaxy S5 mini (SM-G800F; European version)

Cortex A7 (32 bit ARM), quad core 1.4GHz; 1.5GB RAM, 16GB storage.

Special keycombo's

Download/Flash/ODIN mode - Press and hold "volume down + home + power" simultaneously. Then click volume up to confirm.

Recovery - press and hold VOL+, PWR and HOME

Problems

  • Currently, Heimdall seems to be unable to flash the device's SYSTEM partition, so we can't do the entire install using just pmbootstrap flasher.
  • udevadm trigger causes a complete system freeze and eventual reboot. If you comment out that line in start_weston.sh and replace it by udevadm trigger --attr-match=name=sec_touchscreen, the touch screen should work.

Preparing for install

First, download the TWRP recovery ROM. You'll need both the .img.tar and the .img file. First, extract the tar file to obtain recovery.img. Then, put your phone in flash mode and flash using Heimdall:

$ heimdall flash --RECOVERY recovery.img --BOOT twrp-3.1.1-1-kminilte.img

Now you should be able to connect to the device using adb.

Note: Be aware that the stock Android ROM reflashes stock recovery upon boot, wiping TWRP out if you let it start booting.

Installing system

Follow the android-recovery-zip steps, using samsung-kminilte when the init commands asks. Heimdall is currently unable to flash the SYSTEM partition, and adb sideload method seems broken, so you will have to do pmbootstrap export after generating the recovery and pushing it to the phone while it is booted in TWRP via adb push /tmp/postmarketOS-export/pmos-samsung-kminilte.zip /sdcard/.

Then just flash it via recovery as you would a normal android ROM. Currently on Samsung devices you may get an error about unmounting .log files, it seems to work on second try but due to another issue you have to make sure SYSTEM is unmounted in TWRP before attempting to do so.

Also TWRP 3.2.0+ is currently not supported by default, so you'll have to apply workarounds if you're using that. See https://gitlab.com/postmarketOS/pmbootstrap/issues/1636

If you get an error lddtree not found, simply run apk add lddtree in the chroot environment and try again.

If you get the following errors:

device-mapper: reload ioctl on   failed: No such file or directory
Failed to setup dm-crypt key mapping for device /dev/block/mmcblk0p18.
Check that kernel supports aes-xts-plain64 cipher (check syslog for more info).

You can try to reinstall with a different cipher, by editing install_options and changing the CIPHER line to CIPHER="aes-cbc-plain64", re-zipping and using adb sideload again.

Installing kernel

This can be done via ./pmbootstrap.py flasher flash_kernel, but if you followed the recovery ROM steps then you don't need to do this.

It should boot, and show the Samsung splash screen. After that you should be able to setup and connect via SSH

What works

  • Booting off a microSD card
  • Display
  • Touchscreen
  • USB Networking
  • Full disk encryption
  • Proximity sensor
  • Light sensor
  • Heart rate sensor
  • Magnetic sensor
  • Audio jack events
  • Physical buttons
  • Touch keys
  • Notification LED
  • Vibration motor
  • Gyroscope

What does not work

  • X11-based DEs
  • Flashlight

Everything else is untested as of writing this.

Links

  • #1467 Add support for the Samsung Galaxy S5 Mini (kminilte)