Today I started work on compiling Slimrom 6 for the Samsung Galaxy S4 T-mobile (JFLTETMO SGH-M919). There currently isn’t an up to date branch for the JFLTETMO phone in the Slimrom repository, so my chances of success may be slim (pun intended). However, it has to start somewhere, so I figure I might as well start with the latest branch of JFLTETMO, which is from lp5.1, and see if I can update it for mm6.0. The first thing I need is the device specific files.

[CODE]
alaskalinuxuser@alaskalinuxuser-HP-Compaq-6715b-FY288UC-ABA:~/Documents/projects/phones/compile/slimroms6$ breakfast
including vendor/slim/vendorsetup.sh

You’re building on Linux

Breakfast menu… pick a combo:
(—EDITED FOR SPACE—)
46. slim_jfltetmo-userdebug 97. slim_vs985-userdebug
(—EDITED FOR SPACE—)
… and don’t forget the bacon!

Which would you like? [aosp_arm-eng] 46
build/core/product_config.mk:234: *** Can not locate config makefile for product “slim_jfltetmo”. Stop.
Device jfltetmo not found. Attempting to retrieve device repository from SlimRoms Github (http://github.com/SlimRoms).
Found repository: device_samsung_jfltetmo
Checking branch info
Calculated revision: mm6.0
Default revision: android-6.0.1_r43
Default revision android-6.0.1_r43 not found in device_samsung_jfltetmo. Bailing.
Branches found:
jb4.2
jb4.3
kk4.4
lp5.0
lp5.1
Use the ROOMSERVICE_BRANCHES environment variable to specify a list of fallback branches.
build/core/product_config.mk:234: *** Can not locate config makefile for product “slim_jfltetmo”. Stop.

** Don’t have a product spec for: ‘slim_jfltetmo’
** Do you have the right repo manifest?
[/CODE]

As we can see here, the problem is that the specified device does not have a github branch that is the correct branch. In this case, it is looking for a branch named mm6.0, but it would possibly take a branch named android-6.0.1_r43. The repo command then lists the available branches. The latest branch available for this github repository of this device is lp5.1.

Now the question is what do we do about it? Well, we have several options, but one that I decided to explore today was to use the ROOMSERVICE_BRANCHES variable and choose another branch, as we see here:

[CODE]
alaskalinuxuser@alaskalinuxuser-HP-Compaq-6715b-FY288UC-ABA:~/Documents/projects/phones/compile/slimroms6$ export ROOMSERVICE_BRANCHES=lp5.1
alaskalinuxuser@alaskalinuxuser-HP-Compaq-6715b-FY288UC-ABA:~/Documents/projects/phones/compile/slimroms6$ breakfast
including vendor/slim/vendorsetup.sh

You’re building on Linux

Breakfast menu… pick a combo:
(—EDITED FOR SPACE—)
46. slim_jfltetmo-userdebug 97. slim_vs985-userdebug
(—EDITED FOR SPACE—)
… and don’t forget the bacon!

Which would you like? [aosp_arm-eng] 46
build/core/product_config.mk:234: *** Can not locate config makefile for product “slim_jfltetmo”. Stop.
Device jfltetmo not found. Attempting to retrieve device repository from SlimRoms Github (http://github.com/SlimRoms).
Found repository: device_samsung_jfltetmo
Checking branch info
Calculated revision: mm6.0
Default revision: android-6.0.1_r43
Using fallback branch: lp5.1
Adding dependency: SlimRoms/device_samsung_jfltetmo -> device/samsung/jfltetmo
Using branch lp5.1 for SlimRoms/device_samsung_jfltetmo
Syncing repository to retrieve project.
Fetching project SlimRoms/device_samsung_jfltetmo
remote: Counting objects: 81, done.
remote: Total 81 (delta 0), reused 0 (delta 0), pack-reused 81
From git://github.com/SlimRoms/device_samsung_jfltetmo
* [new branch] jb4.2 -> github/jb4.2
* [new branch] jb4.3 -> github/jb4.3
* [new branch] kk4.4 -> github/kk4.4
* [new branch] lp5.0 -> github/lp5.0
* [new branch] lp5.1 -> github/lp5.1
Fetching projects: 100% (1/1), done.

Repository synced!
Looking for dependencies
Adding dependencies to manifest
Adding dependency: SlimRoms/device_samsung_qcom-common -> device/samsung/qcom-common
Adding dependency: SlimRoms/hardware_samsung -> hardware/samsung
Adding dependency: SlimRoms/device_samsung_jf-common -> device/samsung/jf-common
Adding dependency: CyanogenMod/android_kernel_samsung_jf -> kernel/samsung/jf
Syncing dependencies
Fetching project Slim
[/CODE]

As you can see, it worked to download the older branch. This does not mean, however, that the build will be successfull or work when done by using this older branch. It simply allows you to sync something that was not on the default branch. This tool is pretty handy if you want to try other branches of something without editing your roomservice files, or as in this case, older branches that need updating to a newer branch for testing purposes.

Linux – Keep it simple.

One Reply to “Compiling Slimrom 6 for the Samsung Galaxy S4 T-mobile (JFLTETMO SGH-M919)”

Leave a Reply

Your email address will not be published. Required fields are marked *