/e/OS on Samsung Galaxy J5 2017

j5lte is for F500F (2015) snapdragon
j5nlte is for J500FN (2015) snapdragon
j5xnlte is for J510FN (2016) exymos
j5y17lte is for J530F (2017) exymos

Could you please try with the following roomservice please ? The previous github repo doesn’t belong to the publier of the xda thread, but I found the good one so I hope it will work. There is no “lineage_j5y17lte.mk” though, we will see.

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="nailyk-fr/android_device_samsung_j5y17lte" path="device/samsung/j5y17lte" remote="github" revision="lineage-15.1" />
  <project name="nailyk-fr/android_device_samsung_exynos7870-common" path="device/samsung/exynos7870-common" remote="github" revision="lineage-15.1" />
  <project name="nailyk-fr/android_kernel_samsung_exynos7870" path="kernel/samsung/exynos7870" remote="github" revision="lineage-15.1" />
  <project name="nailyk-fr/android_vendor_samsung" path="vendor/samsung" remote="github" revision="lineage-15.1" />
  <project name="nailyk-fr/android_hardware_samsung" path="hardware/samsung" remote="github" revision="lineage-15.1" />
  <project name="nailyk-fr/android_hardware_samsung_slsi-cm_exynos" path="hardware/samsung_slsi-cm/exynos" remote="github" revision="lineage-15.1" />
  <project name="nailyk-fr/android_hardware_samsung_slsi-cm_exynos5" path="hardware/samsung_slsi-cm/exynos5" remote="github" revision="lineage-15.1" />
  <project name="nailyk-fr/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>

That’s also los15. I thought it should be a los16 build ??

I don’t see any Los 16 topic on xda, and only 1 LOS 16 build on androidfilehost, we don’t know if it’s working or not.

I’m trying to rebuild against fresh sources of 15.1 - but from the error messages I saw I’m afraid it won’t work. I’ll post you the error messages once my new attempt is complete.

UPDATE : got this in my repo-XXXX.log

repo has been initialized in /srv/src/OREO
>> [Tue Jun 30 05:58:25 UTC 2020] Syncing branch repository
fatal: duplicate path vendor/samsung in /srv/src/OREO/.repo/manifest.xml

BTW I’ve created now two build_image script :

  • This one to be launched first, prior to adding the local_manifests (otherwise the build crashes) :

    #!/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" -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"
    
  • And this one to be run when you need to have a local_manifest (but before you need to have downloaded your sources once otherwise it won’t work) :

    #!/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:/srv/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 is the same as above.

this is, because in your local_manifest is the same as in line as in main manifest

I think so as well. We should swap directory vendor/samsung in @Anonyme local manifest with something else, shouldn’t we ?

project name=“nailyk-fr/android_vendor_samsung” path=“vendor/samsung” remote=“github” revision=“lineage-15.1” />

could be that that’s the line. Remove it an try again

I just removed the line. Looks like this time repos are properly fetched. :slight_smile:

However build still fails then. repo.log is this time normal, but I have this error then :

>> [Tue Jun 30 07:46:03 UTC 2020] Starting build for j5y17lte, v0.9-oreo branch
including vendor/lineage/vendorsetup.sh
build/core/product_config.mk:243: *** _nic.PRODUCTS.[[device/samsung/j5y17lte/lineage.mk]]: 
"vendor/samsung/exynos7870-common/exynos7870-common-vendor.mk" does not exist.  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:243: *** _nic.PRODUCTS.[[device/samsung/j5y17lte/lineage.mk]]: 
"vendor/samsung/exynos7870-common/exynos7870-common-vendor.mk" does not exist.  Stop.
build/core/product_config.mk:243: *** _nic.PRODUCTS.[[device/samsung/j5y17lte/lineage.mk]]: 
"vendor/samsung/exynos7870-common/exynos7870-common-vendor.mk" does not exist.  Stop.
** Don't have a product spec for: 'lineage_j5y17lte'
** Do you have the right repo manifest?

Anyway the message looks now better.

Maybe this repo could help :

Stay tuned… If this works (and the image works) I guess it would be nice then to upgrade to Pie as this phone already supports the latter.

hi @Anonyme, I have just made a test. I have changed the lineage_n7100.mk to lineage.mk (and all files which are pointing to lineage_n7100.mk) and … Errors
After changung back, built starts.

Pls see here

So I really don’t know why your manta build was starting.

manta can officially be built on Marshmallow and same thing, no lineage_manta.mk. So I think there is something you are missing.

The trick is that we’d need to use an Android release still officially supported to get security fixes. Unless security fixes could be backported. (I don’t care that much of app compatibility, as long as I can install Firefox, VLC, Protonmail and a few others)

Otherwise there’s no interest in having /e/OS on this phone. :frowning:

On Android 8.x I know things work, but security fixes also matter.

Oreo still receives security updates from Google, so your /e/ builds will have the last security updates. For the vendor part, I don’t know.

Okay so Oreo is fine. I think (and I will contribute as much as I can despite being a complete noob) we should try to get first Oreo working, and then Pie since there’s an official Samsung support for this phone.

For the vendor part it looks like this phone has reached EOL sadly. Last critical vulnerability about Touchwiz still not fixed. Vendor info is there :

https://security.samsungmobile.com/workScope.smsb

My goal is to try avoiding to buy a new phone if this is possible (still good for ecology since mine works fine and I know we’re a lot in that case since this model is rather mainstream) while having better privacy and helping the community.

a good choice. The vendor blobs you can extract via extract-files.sh from an installed rom. So if you have installed the LOS16 version, you can run the script and it will push the blobs from device to your source folder. It could also be any other rom, because the vendor blobs are (logical) all the same :slight_smile:

I guess these files are already available :slight_smile:

(I’ve already posted the link, but you can check it)

yes, sorry, but I’m always confused with j5x and y :roll_eyes:

If it were a j5x I’d not have asked for support since IMHO it’s already supported by /e/OS.

@Anonyme I guess the roomservice file could simply be like this ? (And build against Pie)

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
    <project name="bosniandoge/vendor-j5y17lte" path="device/samsung/j5y17lte" remote="github" revision="lineage-16.0" />
</manifest>

Am I right ? If so I can start the nth build attempt immediately.

It would only work if your device was supported by LineageOS on LineageOS 16.0.

But it’s not, so you need to have a full roomservice.xml with vendor, kernel, device tree and aother things if needed, like the one I shared.

So what would I need else in my file ?