/e/OS on Samsung Galaxy J5 2017

Hi,

I’ve seen you support Galaxy A5 2017 but sadly not J5 2017 (J530F). The latter seems to be no longer supported by Samsung.

It’s rather close to A5 2017 in hardware :

  • Exynos 7870 (vs 7880 : the difference is only clockwise)
  • 2 GB RAM (vs 3 GB)
  • 16 GB storage (vs 32 GB)

The detailed comparison is there : https://www.phonearena.com/phones/compare/
Samsung-Galaxy-A5-2017,Samsung-Galaxy-J5-2017/phones/10297,10473

This phone is rather mainstream (and you support the very first J5s, but sadly
mine is bricked because of a faultly eMMC).

I’d glad to help building the ROM but sadly I cannot afford bricking my current
phone. 

Anyway I’ll be happy helping the foundation thereafter financially speaking
(currently lacking money to buy a new phone even from your store sadly).

Thanks and regards,

Regain your privacy! Adopt /e/ the unGoogled mobile OS and online servicesphone

Hi @julek,
You can try and build a ROM based on the posts here
Once the build is successful you can request one of the users to test it out for you.

OK thanks a lot ! However I’ve seen that TWRP does not exist yet for this specific model. :frowning: Would it be a blocker ?

you will need a custom recovery for flashing the eOS.zip. If there is any other custom recovery, it will be OK

I’m building the image - but for the recovery dunno yet. For TWRP this link could be interesting : https://github.com/bosniandoge/twrp-j5y17lte

Oh I was/am doing the roomservice.xml when you published this post :wink:

1 Like

Just created a small script to make it easier to build the stuff - but dunno where to post it :

#!/bin/bash

set -e
mkdir -p srv/e/{src,zips,logs,ccache,local_manifests}
docker run -v "$(pwd)/srv/e/src:/srv/src" -v "$(pwd)/srv/e/zips:/srv/zips" -v "$(pwd)/srv/e/logs:/srv/logs" -v "$(pwd)/srv/e/ccache:/src/ccache" -v "$(pwd)/srv/e/local_manifests:/srv/local_manifests:delegated" -e "BRANCH_NAME=${1}" -e "DEVICE_LIST=${2}" -e "REPO=https://gitlab.e.foundation/e/os/releases.git" "registry.gitlab.e.foundation:5000/e/os/docker-lineage-cicd:community"

Usage :

build_image.sh <branch_name> <device_list>
1 Like

cool, good find. you can build it also

roomservice.xml (I hope everything is ok) :

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="jaggedjagged/android_device_samsung_j5y17lte" path="device/samsung/j5y17lte" remote="github" revision="lineage-15.1" />
  <project name="jaggedjagged/android_device_samsung_exynos7870-common" path="device/samsung/exynos7870-common" remote="github" revision="lineage-15.1" />
  <project name="jaggedjagged/android_kernel_samsung_exynos7870" path="kernel/samsung/exynos7870" remote="github" revision="lineage-15.1" />
  <project name="jaggedjagged/android_vendor_samsung" path="vendor/samsung" remote="github" revision="lineage-15.1" />
  <project name="LineageOS/android_hardware_samsung" path="hardware/samsung" remote="github" revision="lineage-15.1" />
  <project name="LineageOS/android_hardware_samsung_slsi-cm_exynos" path="hardware/samsung_slsi-cm/exynos" remote="github" revision="lineage-15.1" />
  <project name="LineageOS/android_hardware_samsung_slsi-cm_exynos5" path="hardware/samsung_slsi-cm/exynos5" remote="github" revision="lineage-15.1" />
  <project name="jaggedjagged/android_hardware_samsung_slsi-cm_exynos7870" path="hardware/samsung_slsi-cm/exynos7870" remote="github" revision="lineage-15.1" />
  <project name="LineageOS/android_hardware_samsung_slsi-cm_openmax" path="hardware/samsung_slsi-cm/openmax" remote="github" revision="lineage-15.1" />
  <project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github" revision="lineage-15.1" />
</manifest>

I’ve seen this - do you mean that I should try to build with branch e0.7 ?

FYI Android Pie works on that phone (official Samsung support)

I have only found sources for Oreo.

OK thanks - building against branch v0.9-oreo.

Sorry but I don’t understand. “e0.9” and “e0.7” are just the version of /e/, not the version of android.

I think you have to build for Oreo with the roomservice I have provided, but if you have found a LineageOS 16.0 source, then build for Pie but I don’t think it exists yet.

Yes I’m building for Oreo right now - thanks. :slight_smile:

First attempt failed with :

 >> [Sun Jun 28 14:58:10 UTC 2020] Missing "vendor/lineage", aborting

Might be a bug in my script (I notified a typo). Trying it again.

1 Like

Attempt 2, got this one :

>> [Sun Jun 28 17:26:46 UTC 2020] Starting build for j5y17lte, v0.9-oreo branch
including vendor/lineage/vendorsetup.sh
build/core/product_config.mk:238: *** Can not locate config makefile for product "lineage_j5y17lte".  
Stop.
Device j5y17lte not found. Attempting to retrieve device repository from LineageOS Github 
(http://github.com/LineageOS).
Repository for j5y17lte not found in the LineageOS Github repository list. If this is in error, you may 
need to manually add it to your local_manifests/roomservice.xml.
build/core/product_config.mk:238: *** Can not locate config makefile for product "lineage_j5y17lte".  
Stop.
build/core/product_config.mk:238: *** Can not locate config makefile for product "lineage_j5y17lte".  
Stop.

** Don't have a product spec for: 'lineage_j5y17lte'
** Do you have the right repo manifest?

No such item in brunch menu. Try 'breakfast'
>> [Sun Jun 28 17:26:46 UTC 2020] Failed build for j5y17lte
>> [Sun Jun 28 17:26:46 UTC 2020] Finishing build for j5y17lte
>> [Sun Jun 28 17:26:46 UTC 2020] Cleaning source dir for device j5y17lte
17:26:47 Entire build directory removed.

Any clue ?

It’s your first build on your “build environment” ? Or have you already successfully made a build recently ?

If you build with docker, you need to put the “local_manifests” directory next to ccache, logs, src. And the roomservice.xml in it.

You also need to add the line :
-v "/srv/e/local_manifests:/srv/local_manifests:delegated"
and
-e "INCLUDE_PROPRIETARY=false"

Your sources don’t fit lineage name conventions. You will have to adjust them to fit built rules. As you can see, there is no lineage_j5y17lte.mk

It’s not only file names. They must also fit inside the lineage build rules

1 Like

Yes that’s right. Where did you find this repo ? BTW how do you extract the blobs required to make the phone work ?

You have the repo links in the “name” part of the roomservice. Just add “https://github.com/” before and you will be on the repo.
You can also try to find other, working repos.

Still does not work, this time the error being :

>> [Sun Jun 28 17:47:34 UTC 2020] Starting build for j5y17lte, v0.9-oreo branch
including vendor/lineage/vendorsetup.sh
build/core/product_config.mk:238: *** Can not locate config makefile for product "lineage_j5y17lte".  
Stop.
Device j5y17lte not found. Attempting to retrieve device repository from LineageOS Github 
(http://github.com/LineageOS).
Repository for j5y17lte not found in the LineageOS Github repository list. If this is in error, you may 
need to manually add it to your local_manifests/roomservice.xml.
build/core/product_config.mk:238: *** Can not locate config makefile for product "lineage_j5y17lte".  
Stop.
build/core/product_config.mk:238: *** Can not locate config makefile for product "lineage_j5y17lte".  
Stop.

** Don't have a product spec for: 'lineage_j5y17lte'
** Do you have the right repo manifest?

No such item in brunch menu. Try 'breakfast'
>> [Sun Jun 28 17:47:35 UTC 2020] Failed build for j5y17lte
>> [Sun Jun 28 17:47:35 UTC 2020] Finishing build for j5y17lte
>> [Sun Jun 28 17:47:35 UTC 2020] Cleaning source dir for device j5y17lte
17:47:36 Entire build directory removed.

#### build completed successfully (1 seconds) ####

BTW I’ve seen some proprietary modules for the A5 2017 which is very close to the J5 2017 from a hardware standpoint. Would it be worth including those blobs in the image (at least to test) ?

On the repo I’ve seen that the proper file layout does exist for Lineage 17.1 but not 15.1. Is there an existing /e/OS version based on Lineage 17.1 ?