Git Product home page Git Product logo

android_device_samsung_kminilte's Introduction

Device configuration for Samsung Galaxy S5 mini SM-G800F (kminilte)

Spec Sheet

Feature Specification
CPU Quad-core 1.4 GHz
Chipset Exynos 3 Quad 3470
GPU Mali-400MP4
Memory 1.5GB RAM
Shipped Android Version (4.4.2)
Storage 16 GB
MicroSD Up to 64GB
Battery 2100 mAh
Dimensions 131.1 x 64.8 x 9.1 mm
Display 720 x 1280 pixels
Camera 8 MP, 3264 × 2448 pixels
Release Date August 2014

Device Picture

Samsung Galaxy S5 mini


How To Build

Although this device is not officially supported, the build-steps are not that different between devices. Most of the information on this "How to build" page also apply to this device: https://wiki.lineageos.org/devices/herolte/build

Requirements:

  • At least 8GB RAM (build will stop without a warning with 6GB)
  • 65GB (sources and build results) + 35GB (CCACHE)

Perform the following steps from the above "How to build":

  1. Install the SDK

  2. Install the Build Packages

  3. Create the directories

    $ mkdir -p ~/bin
    $ mkdir -p ~/android/system

    Note: you can replace the build root "/android/system" with any directory you like. Let's assume it is "/android/system" in the following steps.

  4. Install the repo command

    $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    $ chmod a+x ~/bin/repo
  5. Put the ~/bin directory in your path of execution

  6. Initialize the LineageOS source repository

    $ cd ~/android/system/
    $ repo init -u https://github.com/LineageOS/android.git -b lineage-15.1
  7. Download the source code

    $ repo sync
  8. Patch sources

    8.1. Clone the local manifests with the following commands:

    $ cd ~/android/system/
    $ git clone https://github.com/cm-3470/android_.repo_local_manifests -b lineage-15.1 .repo/local_manifests

    However if you already obtained local manifests from a different device, just copy at least the following files into .repo/local_manifests :

    8.2. Fetch device specific repos by synching all repos

    $ repo sync

    8.3. Apply device specific patches (also repeat this step whenever the patches in the directory "patch" are modified):

    $ cd device/samsung/smdk3470-common/patch
    $ ./apply.sh
  9. Prepare the device-specific code

    This step is device specific and hence different from the "How to build".

    $ source build/envsetup.sh
    $ lunch lineage_kminilte-userdebug

    These commands only have a temporary effect, you will have to perform these commands again, when you use a new terminal window.

  10. (optional) Turn on caching to speed up build

    Only if you want to rebuilt LineageOS multiple times you also should enable CCACHE. E.g. by adding the following lines to your $HOME/.bashrc:

    export USE_CCACHE=1
    export ANDROID_CCACHE_DIR="/mnt/ccache" # Replace with your ccache dir
    export ANDROID_CCACHE_SIZE="50G" # Replace with your ccache size
    
  11. (optional) Setup the Java VM heap size for the Jack server: Java uses a default max. heap size of 1/4 of the installed RAM. Jack needs a minimum of 4 GB to work properly with Android N, so if your build environment has < 16 GB RAM you should add the following line to your $HOME/.bashrc:

    export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"
    
  12. Start the build

    $ croot
    $ mka bacon

Build-results:

The build-process takes a lot of time - the initial build can take about 10h. If CCACHE is enabled, the next builds only take 3-4 hours. Note that especially the linking process (ld) needs a huge amount of memory. The building process stops without a warning if only 6GB are present. In this case you can try to build with only one process (mka bacon -j1).

When the build-process finished the following files will be available:

LineageOS image: out/target/product/kminilte/lineage-15.1-<date>-UNOFFICIAL-<device>.zip
recovery: out/target/product/kminilte/recovery.img

Rebuild:

If you want to rebuild the ROM, perform the following steps:

$ repo sync
$ mka clean
$ mka bacon

"repo sync" might fail due to local source code modifications. In this case temporarily revert the changes and reapply them after the update:

$ repo sync (-> fails due to local modifications, failing subprojects are listed in log-output)

For each failing subproject, revert the changes (e.g. with git reset --hard ...)

$ croot
$ repo sync

Now reapply the patches (see section about device/samsung/smdk3470-common/patch/apply.sh)


Copyright

#
# Copyright (C) 2017 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

android_device_samsung_kminilte's People

Contributors

aykevl avatar aykxt avatar c457 avatar ctxz avatar curtismj avatar djsteve avatar ljzyal avatar mirhciulica avatar psyafter avatar tobigun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android_device_samsung_kminilte's Issues

SIM not Detected

Hello, i really like your work, but the current release does not detect my SIM card and i have no Baseband.

ty and greetings Hardy

Is there a more recent 15.x release available than 24/10/2017?

According to https://forum.xda-developers.com/galaxy-s5-mini/development/g800f-m-y-lineageos-15-0-g800f-m-y-t3678205, the latest release available for download is from 24/10/2017. Now, I see that this repository has had quite a few changes since then, so I wonder whether it's possible to download a more recent build of this ROM somewhere?

Specifically, I wonder whether there is a new version available that can run SELinux in enforcing mode?

Build error cm14.1

Hello
I tried to build the kminilte lineageos by using the given manual
first i couldn't patch, so i patched the files manual
then i got a build error:

kminilte/system$ mka bacon
make: Verzeichnis „/media/ham/S500G/kminilte/system“ wird betreten
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=7.1.1
LINEAGE_VERSION=14.1-20170202-UNOFFICIAL-kminilte
TARGET_PRODUCT=lineage_kminilte
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a7
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-59-generic-x86_64-with-Ubuntu-16.04-xenial
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=NMF26V
OUT_DIR=/media/ham/S500G/kminilte/system/out
============================================
Running kati to generate build-lineage_kminilte.ninja...
Environment variable BUILD_NUMBER was modified (7df4a9179a => f0a2ace32a), regenerating...
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=7.1.1
LINEAGE_VERSION=14.1-20170202-UNOFFICIAL-kminilte
TARGET_PRODUCT=lineage_kminilte
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a7
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-59-generic-x86_64-with-Ubuntu-16.04-xenial
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=NMF26V
OUT_DIR=/media/ham/S500G/kminilte/system/out
============================================
YD>>LOCAL_MODULE=sensors.universal3470, LOCAL_SRC_FILES=sensors.cpp HeartRateSensor.cpp LightSensor.cpp ProximitySensor.cpp, LOCAL_SHARED_LIBRARIES=libinvensense_hal libcutils libutils libdl liblog libmllite libhardware_legacy
build/core/binary.mk:1253: external/deqp/Android.mk: libdeqp: Unused source files: \
build/core/binary.mk:1253: external/pdfium/third_party/pdfiumbigint.mk: libpdfiumbigint: Unused source files: bigint/BigInteger.cc bigint/BigIntegerUtils.cc bigint/BigUnsigned.cc bigint/BigUnsignedInABase.cc
frameworks/av/camera/cameraserver/Android.mk:18: Target has integrated cameraserver into mediaserver. This is weakening security measures introduced in 7.0
build/core/package_internal.mk:143: Empty argument supplied to find-subdir-assets
find: "/media/ham/S500G/kminilte/system/out/target/common/obj/SHARED_LIBRARIES/libwifi-hal-mock_intermediates": Datei oder Verzeichnis nicht gefunden
build/core/package_internal.mk:143: Empty argument supplied to find-subdir-assets
No private recovery resources for TARGET_DEVICE kminilte
build/core/java.mk:334: warning: overriding commands for target `/media/ham/S500G/kminilte/system/out/target/common/obj/APPS/Dialer_intermediates/src/src/org/codeaurora/presenceserv/IPresenceService.java'
build/core/java.mk:334: warning: ignoring old commands for target `/media/ham/S500G/kminilte/system/out/target/common/obj/APPS/Dialer_intermediates/src/src/org/codeaurora/presenceserv/IPresenceService.java'
build/core/java.mk:334: warning: overriding commands for target `/media/ham/S500G/kminilte/system/out/target/common/obj/APPS/Dialer_intermediates/src/src/org/codeaurora/presenceserv/IPresenceServiceCB.java'
build/core/java.mk:334: warning: ignoring old commands for target `/media/ham/S500G/kminilte/system/out/target/common/obj/APPS/Dialer_intermediates/src/src/org/codeaurora/presenceserv/IPresenceServiceCB.java'
build/core/base_rules.mk:316: warning: overriding commands for target `/media/ham/S500G/kminilte/system/out/target/product/kminilte/root/res/images/charger/battery_fail.png'
build/core/base_rules.mk:316: warning: ignoring old commands for target `/media/ham/S500G/kminilte/system/out/target/product/kminilte/root/res/images/charger/battery_fail.png'
build/core/Makefile:34: warning: overriding commands for target `/media/ham/S500G/kminilte/system/out/target/product/kminilte/system/lib/libmllite.so'
build/core/base_rules.mk:316: warning: ignoring old commands for target `/media/ham/S500G/kminilte/system/out/target/product/kminilte/system/lib/libmllite.so'
build/core/Makefile:34: warning: overriding commands for target `/media/ham/S500G/kminilte/system/out/target/product/kminilte/system/lib/hw/camera.universal3470.so'
build/core/base_rules.mk:316: warning: ignoring old commands for target `/media/ham/S500G/kminilte/system/out/target/product/kminilte/system/lib/hw/camera.universal3470.so'
build/core/Makefile:34: warning: overriding commands for target `/media/ham/S500G/kminilte/system/out/target/product/kminilte/system/bin/macloader'
build/core/base_rules.mk:316: warning: ignoring old commands for target `/media/ham/S500G/kminilte/system/out/target/product/kminilte/system/bin/macloader'
build/core/Makefile:34: warning: overriding commands for target `/media/ham/S500G/kminilte/system/out/target/product/kminilte/system/lib/hw/audio.primary.universal3470.so'
build/core/base_rules.mk:316: warning: ignoring old commands for target `/media/ham/S500G/kminilte/system/out/target/product/kminilte/system/lib/hw/audio.primary.universal3470.so'
build/core/Makefile:34: warning: overriding commands for target `/media/ham/S500G/kminilte/system/out/target/product/kminilte/system/etc/wifi/wpa_supplicant.conf'
build/core/base_rules.mk:316: warning: ignoring old commands for target `/media/ham/S500G/kminilte/system/out/target/product/kminilte/system/etc/wifi/wpa_supplicant.conf'
Starting build with ninja
ninja: Entering directory `.'
ninja: error: '/media/ham/S500G/kminilte/system/out/target/product/kminilte/obj/SHARED_LIBRARIES/libril_intermediates/export_includes', needed by '/media/ham/S500G/kminilte/system/out/target/product/kminilte/obj/EXECUTABLES/rild_intermediates/import_includes', missing and no known rule to make it
build/core/ninja.mk:151: die Regel für Ziel „ninja_wrapper“ scheiterte
make: *** [ninja_wrapper] Fehler 1
make: Verzeichnis „/media/ham/S500G/kminilte/system“ wird verlassen

#### make failed to build some targets (42 seconds) ####

Navigation button light activation

Currently navigation lights activate when the screen is tapped, the stock behaviour is to only activate them when they're tapped. Would it be possible to restore this behaviour?

running device/samsung/smdk3470-common/patch/apply.sh results in merge conflict

I have followed the steps as far as the patch command. When executing the .apply.sh the output looks like:

applying bootable_recovery to bootable/recovery
Applying: minui: disable blanking for devices that do not support it

applying frameworks_av to frameworks/av
Applying: av: Add samsung wfd service
Applying: fix "cannot locate symbol "_ZN7android16MediaBufferGroup14acquire_bufferEPPNS_11MediaBufferE" referenced by libwvm.so"

applying frameworks_native to frameworks/native
Applying: Revert "Remove Parcel::writeIntPtr."
Applying: Fix GPSd by adding a Lollipop compatibility SensorManager

applying hardware_ril to hardware/ril
Applying: ril: reintroduce changes necessary to make SIM detection work
Applying: ril: compatibility with LP libsec-ril.so

applying hardware_samsung_ril to hardware/samsung/ril
Applying: ril: add support for ss222 (G800F/Y/M)
Using index info to reconstruct a base tree...
M ril/Android.mk
M ril/libril/Android.mk
M ril/libril/ril.cpp
Falling back to patching base and 3-way merge...
Auto-merging ril/libril/ril.cpp
Auto-merging ril/libril/Android.mk
CONFLICT (content): Merge conflict in ril/libril/Android.mk
Auto-merging ril/Android.mk
CONFLICT (content): Merge conflict in ril/Android.mk
Recorded preimage for 'ril/Android.mk'
Recorded preimage for 'ril/libril/Android.mk'
Failed to merge in the changes.
Patch failed at 0001 ril: add support for ss222 (G800F/Y/M)
The copy of the patch that failed is found in:
/home/android/Documents/android_cyan/source/hardware/samsung/.git/rebase-apply/patch

Not sure how to proceed.

Many thanks

merge conflict in include/telephony/ril.h with apply.sh

Error message when running apply.sh for the patches:

applying hardware_ril to hardware/ril
Applying: ril: adjust to G800F MM ril (G800FXXU1CPK5)
Using index info to reconstruct a base tree...
M       include/telephony/ril.h
.git/rebase-apply/patch:115: trailing whitespace.
#define RIL_REQUEST_ENABLE_UNSOL_RESPONSE 10034  
warning: 1 line adds whitespace errors.
Falling back to patching base and 3-way merge...
Auto-merging include/telephony/ril.h
CONFLICT (content): Merge conflict in include/telephony/ril.h
Recorded preimage for 'include/telephony/ril.h'
error: Failed to merge in the changes.
Patch failed at 0001 ril: adjust to G800F MM ril (G800FXXU1CPK5)
The copy of the patch that failed is found in: .git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

It's a complete fresh build environment, and I followed the build instructions exactly.

Build CM with low RAM

Hello guys.

In the readme it says, that a machine with 8 GB RAM is needed for building CM. I would like to contribute to this project and build CM by myself, but unfortunately my machine has only 4 GB RAM.

Is it still somehow possible to build CM on my machine?
On the other hand, what about using an external CI service such as Travis?

Best regards
Florian

YouTube app not using HW acceleration

Currently the YouTube app appears not to be using hardware acceleration (to render vidoes), even with "Disable HW overlays" and / or "Force GPU rendering" checked

Fingerprint scanner unresponsive after some time

After some (as of yet unspecified) amount of time being locked, the fingerprint scanner will become unresponsive and the phone will have to be unlocked with a PIN / pattern / password. this doesn't occur whilst the device is unlocked. Note before this period elapses the scanner works perfectly

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.