• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[ROM][S9+/S9][UNOFFICIAL][LineageOS 18.1][21-03-2021]

Search This thread

Neurotical

Senior Member
Feb 7, 2011
149
190
The easiest way to upstream the kernel is to cherry pick the changes.

Go to your kernel dir and fetch https://github.com/aosp-mirror/kernel_common/tree/android-4.9-q

Then start cherry picking from the 218 up to newer version.

Remember you will get conflicts and will require some knowledge with coding to fix them correctly.
So is the only way to do this by using my Ubuntu terminal on my local desktop? Like downloading the updated kernel tarball, comparing it to my current one, cherry picking the changes and then uploading the new one to my repo?

Or can the comparison and cherry pick between the two be done using Github's website repo explorer?
 

king1990

Senior Member
Oct 13, 2012
436
799
So is the only way to do this by using my Ubuntu terminal on my local desktop? Like downloading the updated kernel tarball, comparing it to my current one, cherry picking the changes and then uploading the new one to my repo?

Or can the comparison and cherry pick between the two be done using Github's website repo explorer?
Yes, it can be done remotely using git.
Take a look into how to use git, learn few commands and you will be ready
 

Rebel25

Senior Member
Jun 22, 2010
184
39
Hi can you maybe assist me on how you did your installation? i was on stock OneUI 2.5, i tried flashing the star2lte of los 18.1 and NikkGapps with magisk V23.0 and everything installed successfully, when i then rebooted into system it went straight into download mode and just stays there all the time.
I had TWRP and a custom Kernel on OneUI 2.5. I formatted System, Data & Cache. Then installed everything.

The other way is the try out the way that LineageOS says. They currently do not have a 18.1 for star2lte but the commands are basically the same across devices.
 

Khalil777

Member
Jul 22, 2015
12
6
32
Cape Town
Samsung Galaxy S9+
I had TWRP and a custom Kernel on OneUI 2.5. I formatted System, Data & Cache. Then installed everything.

The other way is the try out the way that LineageOS says. They currently do not have a 18.1 for star2lte but the commands are basically the same across devices.
Hi thanks for your help, i got it to work. i think my issue was that i wiped vendor when flashing from stock.
This ROM is Awesome, i'm loving it, been tweaking my phone for 2 days now! haha
 

Queeq

Member
Jun 21, 2016
19
8
@Neurotical I'm not sure if there are any specifics in kernel build for Android, but for desktop/server systems it's pretty straightforward:
1. git clone from kernel.org (e.g. git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git) and checkout the relevant branch (e.g. linux-4.9.y). The branches are named by version: linux-<major>.<minor>.y (there is literal "y").
2. Then you can run `make help` from the cloned repo that will show you a bunch of options you can use to proceed with the build.
3. If you put kernel config file in there (named as .config), it'll pick it up and you'll have an option to choose how to apply newly introduced options to it (on patch releases there are usually none or they're trivial). E.g. you can use `make listnewconfig`, `make oldconfig`
4. Build it. For Debian-based systems I used this command: `make -j8 KDEB_PKGVERSION=4.14.1.queeq deb-pkg` - 8 jobs (coz I had 4 cores with hyper-threading), and package it as .deb with the given version. You'll definitely need some other options, especially as it has to be cross-compiled to different architecture (I never did this).

The above applies to Linux build system. Build dependencies are make, gcc, libssl-dev and dpkg-dev (last one you wouldn't need). There could be some other dependencies needed for cross-compilation.

P.S. Also cherry-picking tens or possibly hundreds of commits one by one is very annoying task. If you want to merge the upstream you can try to simply `git merge`, but there could be conflicts. I've no idea how complicated it may be to resolve them so just try.
 
Last edited:
Mar 19, 2021
20
5
5th July security update ready on this build if you are compiling your own.
How to check when its available besides going thru the make process and checking
~/android/build/core/version_defaults.mk
once complete for the security update date ?

Also checking the
//source.android.com/security/bulletin
for the monthly date and
https://lineageos.org/blog/
changelog
isnt helpful. How to know what patch is ready to build before I go thru the whole process ???

Need to keep the device patched to the latest at all times to be able to use as a daily for work :p
 

Neurotical

Senior Member
Feb 7, 2011
149
190
5th July security update ready on this build if you are compiling your own.
How to check when its available besides going thru the make process and checking
~/android/build/core/version_defaults.mk
once complete for the security update date ?

Also checking the
//source.android.com/security/bulletin
for the monthly date and
https://lineageos.org/blog/
changelog
isnt helpful. How to know what patch is ready to build before I go thru the whole process ???

Need to keep the device patched to the latest at all times to be able to use as a daily for work :p
To check for security update version of Lineage 18.1 before building your own: https://github.com/LineageOS/android_build/blob/lineage-18.1/core/version_defaults.mk#L243

There is a build with July security update and an upstreamed kernel here: https://forum.xda-developers.com/t/rom-s9-s9-unofficial-lineageos-18-1-weekly.4302901/

I am upstreaming the kernel daily and building these new builds daily as well.
 
Dec 28, 2017
41
2
Brussels
To check for security update version of Lineage 18.1 before building your own: https://github.com/LineageOS/android_build/blob/lineage-18.1/core/version_defaults.mk#L243

There is a build with July security update and an upstreamed kernel here: https://forum.xda-developers.com/t/rom-s9-s9-unofficial-lineageos-18-1-weekly.4302901/

I am upstreaming the kernel daily and building these new builds daily as well.
Thank you very much.
Could you recommend an alternative firmware only for the camera for s9+? Because the camera from lineage is very bad.
 

geronimoge

Senior Member
Aug 4, 2016
516
125
Thank you very much.
Could you recommend an alternative firmware only for the camera for s9+? Because the camera from lineage is very bad.
You could try a GCam port like this one:
 

deboopi2

Senior Member
Nov 12, 2011
522
38
MECHELEN
I'm willing to install a custom rom but I have my doubts for certain applications.
Since I'm running on a S9 plus I have a 2x zoom lens and the galaxy can work with it.
Is there a camera app already installed on lineage or not?
Whatever the case can you install the Samsung camera app and does it work?
Is google camera a good alternative, does it support a 2x zoom?

I also have a galaxy watch and therefore I use Galaxy STore that can install apps directly on the watch, does this store app still work on Lineage or is there an alternative?
 

awaisiqbal

Member
Jul 3, 2020
32
10
Lahore
Xiaomi Redmi Note 6 Pro
2okPze5.png


REQUIREMENTS:
  • Stock Samsung Oneui 2 - 2.5 (Android 10) Firmware. (Bootloader + Vendor)

INSTRUCTIONS:
  • Lineage Recovery or TWRP
  • Format /system + /data + /cache
  • Flash
  • Reboot

WORKING:
  • Wi-Fi
  • Bluetooth
  • Mobile Network
  • GPS
  • NFC
  • Audio
  • Camera
  • Fingerprint Sensor
  • HDMI
  • Ethernet
  • MTP/ADB
  • Call Recording
  • Encryption
  • SELinux Enforcing
  • Android Auto
  • Glove Mode
  • OTA Updates

BROKEN:
  • Iris Scanner
  • VoLTE

DOWNLOADS:

XDA:DevDB Information
LineageOS 18.1, ROM for the Samsung Galaxy S9

Version Information
Status:
Stable
ROM OS Version: Android 11
ROM Kernel: Linux 4.9.118
ROM Firmware Required: Oneui 2 - 2.5

Contributors
synt4x.93

Source Code: https://github.com/synt4x93/

Created: 16-12-2020
Last Updated: 21-03-2021
It have flashed ROM. It is working quite good. I have checked info through diskinfo and found that most of partitions have ext4 format Does it support f2fs system. If it is then can it be converted from ext4 to f2fs ?
 

OpenMinded

Senior Member
Oct 26, 2006
890
68
Hi,

I made a new one and you can download it here: https://github.com/pakaoraki/OTA/releases

Just let you know this build is signed with my own keys: so in the future if you want to update to an official or to another unofficial build, you will need to wipe and start over (or see this page https://wiki.lineageos.org/signing_builds.html to change keys for a dirty flash). It's also 100% source code from @Synt4x.93 so big thanks to him again.

I plan to do some other updates time to time to keep the ROM secure, and the OTA should be working. I am not a confirmed android/lineage dev so there is absolutely no guaranty that any issues come due to Lineageos updated code. If the main dev build again updated Rom in the future, I would recommend to use it.

After flashing properly data/system from Lineage Recovery this time, and installed the new build, the problem I had with settings is gone now: sor far, any issues. I also use MindTheGapps this time as Lineageos dev recommend it for 18.1 and everything is fine. Just let you know that I wasn't able to install it the first time with TWRP (got some errors), it is why I switched to NikGapps in the first place, which is working great too.
would you mind specifying exactly what you did to build this? I am using the lineage for microg docker based build and it currently succesfully builds 17.1. I would like to build 18.1 with OTA and sign it myself and provide the OTA like you do.
There are fragments of info across this thread, it would be great if you or anyone else can put them together.
Thanks!
 

Linusrg1

Senior Member
Dec 19, 2017
75
14
Samsung Galaxy S9
Thx for this ROM especially the kernel you made for it l. I'm sure your lineage os build is great but I haven't tested it as I don't use lineage. But it has allowed me to make quite a few roms that are based off of this ROM's kernel. Thanks!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 42
    2okPze5.png


    REQUIREMENTS:
    • Stock Samsung Oneui 2 - 2.5 (Android 10) Firmware. (Bootloader + Vendor)

    INSTRUCTIONS:
    • Lineage Recovery or TWRP
    • Format /system + /data + /cache
    • Flash
    • Reboot

    WORKING:
    • Wi-Fi
    • Bluetooth
    • Mobile Network
    • GPS
    • NFC
    • Audio
    • Camera
    • Fingerprint Sensor
    • HDMI
    • Ethernet
    • MTP/ADB
    • Call Recording
    • Encryption
    • SELinux Enforcing
    • Android Auto
    • Glove Mode
    • OTA Updates

    BROKEN:
    • Iris Scanner
    • VoLTE

    DOWNLOADS:

    XDA:DevDB Information
    LineageOS 18.1, ROM for the Samsung Galaxy S9

    Version Information
    Status:
    Stable
    ROM OS Version: Android 11
    ROM Kernel: Linux 4.9.118
    ROM Firmware Required: Oneui 2 - 2.5

    Contributors
    synt4x.93

    Source Code: https://github.com/synt4x93/

    Created: 16-12-2020
    Last Updated: 21-03-2021
    6
    would you mind specifying exactly what you did to build this? I am using the lineage for microg docker based build and it currently succesfully builds 17.1. I would like to build 18.1 with OTA and sign it myself and provide the OTA like you do.
    There are fragments of info across this thread, it would be great if you or anyone else can put them together.
    Thanks!
    Hi,

    Sure I can share what I did.

    1. Prepare directories and get Lineage sources (https://wiki.lineageos.org/devices/starlte/build)

    # Create directories
    Bash:
    mkdir -p ~/bin
    mkdir -p ~/android/build
    mkdir -p ~/android/build/src
    mkdir -p ~/android/build/ccache
    mkdir -p ~/android/build/keys
    mkdir -p ~/android/build/logs
    mkdir -p ~/android/build/zips
    mkdir -p ~/android/build/manifests

    # Get repo tools
    Bash:
    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    chmod a+x ~/bin/repo

    # Create a "~/.profile" file and paste this into:
    Bash:
    “if [ -d "$HOME/bin" ] ; then
        PATH="$HOME/bin:$PATH"
    fi”

    # Prepare git
    Bash:
    cd ~/android/build/src
    git config --global user.email "[email protected]"
    git config --global user.name "Your Name"

    # Init repo
    Bash:
    source ~/.profile
    repo init -u https://github.com/LineageOS/android.git -b lineage-18.1

    # Time to sync (it can take a very long time, so be patient).
    Bash:
    repo sync

    2. At this point, I forked all Synt4x.93 related repositories on my Github. But, you don’t really need to do that if you just want to build.

    For OTA, the only repo you will need to fork is android_device_samsung_starlte.

    3.
    Create an other repository named OTA.

    4. From your forked android_device_samsung_starlte repository, modify the file lineage_starlte.mk

    Change the last line with your GitHub username:
    Code:
    PRODUCT_PROPERTY_OVERRIDES += \
    lineage.updater.uri=https://raw.githubusercontent.com/<Your_username>/OTA/lineage-18.1/starlte.json

    5. Then you need to add the roomservice.xml file to add the device and kernel sources.

    You can use the resources from Synt4x.93, mine or from Neurotical (He’s maintaining a more recent version of the kernel, you should have a look: https://forum.xda-developers.com/t/rom-s9-s9-unofficial-lineageos-18-1-weekly.4302901/ )

    Get one of the manifests:
    -Synt4x.93: https://github.com/synt4x93/local_manifests
    -pakaoraki: https://github.com/pakaoraki/local_manifests
    -Neurotical: https://github.com/Geoknyda/local_manifests

    Then modify the file roomservice.xml: change "project name" with your GitHub username to match your repository:
    Code:
    ...
    <project name="synt4x93/android_device_samsung_starlte" path="device/samsung/starlte" remote="github" revision="lineage-18.1" />
    ...

    Copy your version of roomservice.xml into ~/android/build/manifests directory.

    # Update source again
    Bash:
    repo sync

    6. Generate your own keys (https://wiki.lineageos.org/signing_builds.html)

    From the root of your Android tree, run these commands, altering the subject line to reflect your information:
    Bash:
    subject='/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/[email protected]'
    
    cd ~/android/build/src
    for x in releasekey platform shared media networkstack testkey; do \
        ./development/tools/make_key ~/android/build/keys/$x "$subject"; \
    done
    make a copy of the “keys” directory and keep it safe.

    7. Install docker and get docker-lineage-cicd image:

    You can use lineaos4microg : https://hub.docker.com/r/lineageos4microg/docker-lineage-cicd/Dockerfile
    Bash:
    docker pull lineageos4microg/docker-lineage-cicd

    Or

    I also re-write my own docker image to add some options. You can try: https://hub.docker.com/r/pakaoraki/docker-lineage-cicd
    Bash:
    docker pull pakaoraki/docker-lineage-cicd

    8. Then you are ready to build:

    Execute this command (change pakaoraki/docker-lineage-cicd with lineaos4microg/docker-lineage-cicd if needed)

    Bash:
    docker run \
    -e "BRANCH_NAME=lineage-18.1" \
    -e "DEVICE_LIST=starlte" \
    -e "INCLUDE_PROPRIETARY=false" \
    -e "SIGN_BUILDS=true" \
    -v "~/android/build/src:/srv/src" \
    -v "~/android/build/zips:/srv/zips" \
    -v "~/android/build/logs:/srv/logs" \
    -v "~/android/build/ccache:/srv/ccache" \
    -v "~/android/build/keys:/srv/keys" \
    -v "~/android/build/manifests:/srv/local_manifests" \
    pakaoraki/docker-lineage-cicd

    9. When build is done, create a new release on your OTA repo: choose a tag and upload recovery.img and zips file.

    you will need to create a starlte.json that match to your build and release information:
    Code:
    {
       "response": [
          {
             "datetime": 1627204505,
             "filename": "lineage-18.1-20210725-UNOFFICIAL-starlte.zip",
             "id": "39b85208c5c30edfafd983673a703d60",
             "romtype": "UNOFFICIAL",
             "size": 608774193,
             "url": "https://github.com/<username>/OTA/releases/download/<tag>/lineage-18.1-20210725-UNOFFICIAL-starlte.zip",
             "version": "18.1"
          }
       ]
    }

    <tag>: the tag you use when creating the release on Github.
    <username>: your username.

    Then, upload starlte.json to your OTA repository.

    It's possible that I forget something but you get the global idea.
    4

    @ElPakoTech

    Thanks for your work!
    I will test the build and give you feedback.

    Nice , if we have a maintained LOS with current security patches.
    Have you a paypal adress, that i can buy you a beer?

    Regards
    dreas
    I will do my own build anyway if there is no official support so I'm happy to share it. No need to tips but thanks :)
    4
    5th July security update ready on this build if you are compiling your own.
    How to check when its available besides going thru the make process and checking
    ~/android/build/core/version_defaults.mk
    once complete for the security update date ?

    Also checking the
    //source.android.com/security/bulletin
    for the monthly date and
    https://lineageos.org/blog/
    changelog
    isnt helpful. How to know what patch is ready to build before I go thru the whole process ???

    Need to keep the device patched to the latest at all times to be able to use as a daily for work :p
    To check for security update version of Lineage 18.1 before building your own: https://github.com/LineageOS/android_build/blob/lineage-18.1/core/version_defaults.mk#L243

    There is a build with July security update and an upstreamed kernel here: https://forum.xda-developers.com/t/rom-s9-s9-unofficial-lineageos-18-1-weekly.4302901/

    I am upstreaming the kernel daily and building these new builds daily as well.
    4
    Don't mean to be a jerk, simply stating my choices. The person who made this unoffical rom has been online several days this past week and has given us zero communication on future updates.

    I'll be heading to arrow os soon.
    In open source nobody owes anything to anyone. People are working in their free time. Which is kind of obvious.