CyanogenMod 10.2 on Samsung Galaxy S4 (Japanese DoCoMo version - jfltedcm)
Here is how I managed to get CyanogenMod on my Galaxy S4 - the Japanse DoCoMo model.
Starting back to front, the short version is:
repo command, and get ready to compile CyanogenMod as usual
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.2
Prep the extra repositories needed to compile the Samsung phone model.
$ cat .repo/local_manifests/s4.xml
<?xml version="1.0" encoding="UTF-8"?>
<project path="device/samsung/jf-common" name="kbc-developers/android_device_samsung_jf-common" />
<project path="device/samsung/jfltedcm" name="kbc-developers/android_device_samsung_jfltedcm" />
<project path="device/samsung/msm8960-common" name="CyanogenMod/android_device_samsung_msm8960-common" />
<project path="device/samsung/qcom-common" name="CyanogenMod/android_device_samsung_qcom-common" />
<project path="hardware/samsung" name="CyanogenMod/android_hardware_samsung" />
<project path="kernel/samsung/jf" name="CyanogenMod/android_kernel_samsung_jf" />
<project path="kernel/samsung/jfdcm" name="kbc-developers/android_kernel_samsung_jfdcm" revision="kbc-aosp-jb-mr2" />
<project path="vendor/samsung" name="kbc-developers/proprietary_vendor_samsung" />
Note that I am using a few of the kbc-developers' repositories. These have important updates for the DoCoMo phone model.
On that note, it doesn't really matter which kernel is to be used (the
jfdcm DoCoMo customized version modded by KBC, or the official
jf version), but I thought I'd go go with KBC's one, since it had some updates for the NFC, and I was hoping to get the NFC working.
As I was trying to replicate the binary releases that KBC published, I also had to disable SELINUX by adding the following line to
And to actually allow the boot partition to be flashed, I had to register my phone's bootloader in
device/samsung/msm8960-common/loki_bootloaders. Just append this text to the file:
Once all this is done, building CyanogenMod as usual worked just fine. I source the following file to do the trick, where
$HOME/android/cm-10.2 is where I ran the
repo init command:
$HOME/android/bin I keep a copy of the
repo command itself.