[Galaxy S5 Mini Android Development] hennymcc:
This is a CyanogenMod 12.1 ROM for the Exynos3470 based Samsung Galaxy S5 mini (G800F/G800M/G800Y). Support for G800M is untested so far.

DO NOT USE IT FOR G800H OR YOU WILL BRICK YOUR DEVICE

Although G800F and G800H share the same name they are not related in terms of hardware due to the different SoCs used (Exynos vs. Snapdragon).

Hence please do not ask for support or ROMs for the G800H.

Working features

Receiving and making calls

Hardware sensors (Light, Orientation, Compass, Proximity, Acceleration)

Audio

Bluetooth (audio in HFP seems to be distorted with at least some headset devices)

Wifi

HW accelerated GUI

USB-OTG (Keyboard, Mouse, USB-Audio, Mass-Storage)

Camera (pictures+video: Back+Front)

MTP storage

IR

GPS

NFC

Non-working features:

Fingerprint scanner (no app for tests found)

Pulse sensor + Step counter (no app for tests found)

Hall sensor

SELinux

Known issues:

See the Bug Report section of this thread

Before you start:

Backup your data, like call history, contacts, sms, WhatsApp messages, favourite app settings that are on internal and external sd (by using Titanium Backup or other apps available on PlayStore). At least all internal data will be lost in any case. If you have bad luck you might also loose data from your external sd card.

Download:

Odin3-v3.07 (it is contained in CF-Auto-Root)

TWRP 2.8.7.0 recovery image [08/07/2015] (AndroidFileHost Mirror)

CM 12.1 ROM for G800F/M/Y (AndroidFileHost Mirror)

Google Apps (contains Google Play, ...) for Android 5.1.1 from Jajb (Recommended) or the one that suits you best from Consolidated GApps.

Install recovery:

Reboot your device into Odin mode: turn off your device, then press Volume-Down + Home + Power button at the same time and release them.

Confirm the following warning message with the Volume-Up button.

Connect your device to your PC via USB

Make sure the device driver's are installed on your PC

Start Odin

In Odin select PDA and select the recovery image (recovery.tar.md5)

Check that only "Auto Reboot" and "F. Reset Time" is set

Click on "Start": the kernel image should be flashed now and the device should reboot afterwards. By flashing the recovery, your warranty will be void.

After the recovery flashing process was successful, power of your device. If not restart into Download mode and flash again or flash the stock rom.

Before you flash:

You need the latest TWRP recovery (see above). Otherwise TWRP might not be able to flash the ROM. This is because TWRP checks now if the device is "supported".

Wipe the device to avoid problems with remaining files from the old installation (see instructions below). This also applies if you already installed an older version of CM 12.1.

Flash CyanogenMod:

Reboot into recovery mode (Press Volume-Up + Home + Power button)

If you come from a stock ROM, this is your opportunity to make a Backup of your phone(Backup, then select Boot, System, Data, then swipe to backup). Note that the recovery might fail to restore the backup when you want to go back to the stock ROM (for me it got stuck after a restore during boot. But the backup was made with a different version of TWRP, so it might work in general) - simply do not expect too much of it at the moment.

If you haven't copied the installation files yet, you can now copy the GApps and CyanogenMod zip to your internal sd or external sd (be careful not to put the files into the data directory of the internal sd card as this will be deleted in the next step). Be sure that MTP is enabled (inside Mounts, click on Enable MTP), then, from your pc, copy the files. If MTP does not work from recovery, try it directly from Android or remove the external sd card from the phone and put it into your PC.

Wipe Dalvik Cache, Cache, System and Data (inside Wipe -> Advanced Wipe). Do not report problems if you did not wipe those partitions as the problems are most probably related to this!

Install the CM 12.1 ROM zip-package

Install the GApps zip-package

Reboot the system and enjoy a Lollipop

How to root:

No SuperSu is needed as CyanogenMod already comes with integrated root support. Root access is disabled by default.

You normally do not need root access. If you want to activate root access for apps, do the following:

Open the Settings menu, select "About Phone"

Tap on the "Build number" entry seven times. You should be notified, that the developer settings are now active.

Open the Settings menu, select "Developer options". Enable root access by selecting "Apps" in the "Root-Access" setting.

In case you want to go back to the stock ROM:

lf you do not have the latest ROM for the G800F you can download it from SamMobile

Reboot your phone into Odin mode

Open Odin on your PC and connect your smartphone with your PC via USB

If you have a zip-file unzip it so that you have a .tar.md5 file

In Odin click on the PDA button and select the .tar.md5 file. Then press "Start".

Normally the stock rom fails to boot as the data from CM12 is still on the data partition. So after flashing the stock rom, reboot into recovery mode (it looks a bit different now). First wipe the data partition, then wipe the cache.

Reboot

Changelog

15/08/2015:
* Synchronize with newest CM 12.1 sources (contains stagefright patches)

08/07/2015:
* Update to latest CM-12.1 sources (LMY48G)
* Camera app supports saving pictures to external SD-cards
* Partition sizes of system and data slightly reduced to avoid "unable to mount /system" failure during installation on some variants of the G800 (e.g. G800Y)

19/05/2015:
* Update to CyanogenMod 12.1 (Android 5.1.1)
* Merged Kernel-sources from G800FXXU1ANL1
* Re-enabled NFC
* TWRP update

11/04/2015:
* Update to CyanogenMod 12.1 (Android 5.1)
* Update to TWRP 2.8.6.0
* Fixed blinking capacitive touchkey lights
* Fixed unresponsive touchscreen on wake-up
* Added support for Automatic Brightness control
* Added advanced touchscreen settings (Glove and Hovering mode)
* Use open-source Light-HAL, Power-HAL and IR-HAL implementations
* Updated Power-Profiling

23/03/2015:
* Fixed non-working mic on incoming call issue
* Fixed non-working menu-button
* Synchronized with latest CyanogenMod sources

This section is for developers:

A README file with build instructions can be found here:

https://github.com/cm-3470/patcher_kminilte

Sources:

https://github.com/cm-3470/android_device_samsung_kminilte
https://github.com/cm-3470/android_vendor_samsung_kminilte
https://github.com/cm-3470/android_kernel_samsung_kminilte
https://github.com/cm-3470/android_device_samsung_smdk3470-common

Developers welcome

At the moment the G800F/M/Y specific port of this ROM is only done by one person (hennymcc). Although Unjustified Dev also works on this ROM he does not own an Galaxy S5 Mini but a Galaxy Light which has a similar base but is different when it comes to camera, nfc and other components (maybe even slightly when it comes to audio and radio).

Help from other developers is always welcome. See the bug/feature section and this thread to see what is missing. Just give some short info (here in this thread or PM) that you want to work on some issue or feature so that work can be synchronized. Maybe there are also other devs that want to work with you on the same issue.

Knowledge in how the kernel works and good programming skills in C, C++ and Java would be nice but not necessary for all problems. At least you should be able to build the ROM and test your changes yourself but you do not need experience in porting ROMs.

Thanks to Unjustified Dev from Team Regular. As the S5 mini (G800F/M/Y) and the Galaxy Light are quite similar we worked on this together.

XDA:DevDB Information

[G800F/M/Y][ROM][5.1.1][LMY48G] CyanogenMod 12.1 for G800F/M/Y [Alpha 15/08/2015], ROM for the Samsung Galaxy S5 Mini

Contributors

hennymcc, Unjustified Dev

Source Code: https://github.com/cm-3470

ROM OS Version: 5.1.x Lollipop

ROM Kernel: Linux 3.4.x

ROM Firmware Required: TWRP Recovery [version from 15/08/2015]

Based On: CyanogenMod

Version Information

Status: Alpha

Created 2015-04-15

Last Updated 2015-09-22