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

[ROM][UNOFFICIAL][8.1.0] LineageOS 15.1 [BETA] [12.03.2018]

Search This thread

ChronoMonochrome

Senior Member
Jan 29, 2014
2,276
4,919
Stavropol
Code:
/*
 * Your (probably expired) warranty is now void.
 *
 * I am not responsible for bricked devices, dead SD cards,
 * thermonuclear war, or you getting fired because the alarm app failed. Please
 * do some research if you have any concerns about features included in this ROM
 * before flashing it! YOU are choosing to make these modifications, and if
 * you point the finger at me for messing up your device, I will laugh at you.
 */

IMPORTANT INFORMATION


What is working:
  • Boots
  • Audio (playback && recording)
  • Bluetooth
  • Graphics
  • Camera (photos only)
  • Sensors
  • RIL
  • Wifi
  • USB
  • Video playback (HW/SW)

What is not working:

  • GPS
  • Video recording
  • maybe yet something

Download:


Older releases:


Installation order:

The installation below requires a repartition of the phone internal sdcard in order this ROM fit on /system partition. DO NOT proceed an installation if you are unsure what you're doing and how to deal with a possible consequencies.
  • before installation make sure you have a TWRP recovery
  • install chrono kernel (both ROM and the corresponding kernel are located in the same directory - see ROM link below)
  • reboot recovery
  • flash ReParted zip. This will wipe system, data and cache partitions!
  • install ROM
  • install SuperSU
  • install chrono kernel again
*please note a possibly undesirable effect of the repartition: cache partition will be decreased to 15 MB and some ROMs that rely upon this partition won't boot. To restore original sdcard partition layout, flash stock 4.1.2 ROM (with PIT file).


Credits:



Special Thanks:


  • @isaak, @enkflr, @Pdevo, @prometej-zg for donating this phone!
    [*]@S.AMU for providing FTP-Server


Source code:
XDA:DevDB Information
LineageOS 15.1, ROM for the Samsung Galaxy S Advance I9070

Contributors
ChronoMonochrome, SergeyL
Source Code: https://github.com/ChronoMonochrome/android/tree/cm-15.1

ROM OS Version: 8.x Oreo
ROM Kernel: Linux 3.4.x
ROM Firmware Required: TWRP recovery

Version Information
Status: Beta

Created 2018-03-11
Last Updated 2018-12-31
 

ChronoMonochrome

Senior Member
Jan 29, 2014
2,276
4,919
Stavropol
Reserved

Changelog


9.08.2018 - build #2
  • sources updates - thanks @SergeyL for patches
  • system time fixes (thanks @rINanDO, @millosr and @mickybart)
  • wifi autoconnection fix
  • video recording fix
  • fix IMEI not showed (thanks @rINanDO , @Ziyan, @MWisBest)
  • change default CPU governor to Interactive
  • wifi background scan disabled for a better battery life
  • unified (codina / janice) release *
* release folder now contains two kernel zip's - for codina (Ace 2) and janice (S Advance). Do not forget to flash the kernel after ROM installation, accordingly to your phone model.

12.03.2018 - build #1
  • initial release
 
Last edited:
  • Like
Reactions: No-Lags and enkflr

ErackGamer

Member
Jan 2, 2017
34
21
Buenos Aires
So, my way to do it was this one (the only way I got it to boot):

1- Went back to Stock Firmware, Jelly Bean. I bricked my janice so I had to

2-Booted into stock recovery and flashed this TempCWM

3-From the CWM, I flashed the kernel to get the TWRP recovery

4-Rebooted to get TWRP

5-Flashed ReParted.zip, the ROM and reflashed the Kernel. This one is important, if you don't there's a chance it won't boot

6-Enjoy Oreo

As a few notes:
-The ROM takes a while to install, be patient
-Both TWRP and CWM don't detect the external SD card, so you should copy the ZIP files to the internal storage
-ROM doesn't include GAPPS, if you want them I recommend going to opengapps.org and get the pico ones for ARM. Just bare functionality and from there you install what you need.

Thanks Chrono for giving us Oreo when we had lost hope
 
Last edited:
  • Like
Reactions: crow69

ErackGamer

Member
Jan 2, 2017
34
21
Buenos Aires
So I've been using it for a little while now and it runs surprisingly fast. At least faster that others Android 5+ ROMs in the forum. It has pretty fast boot times too.

Some stuff that I noticed:
-I can't change CPU frequency via kernel tuner. Edit: I think it may have somthing to do with me losing root
-I can't install APKs from the system. I have to install the from Play Store or ADB
-System UI has a little tendency to stop responding
Edit1: After 12h of usage it only entered deep sleep for 7s according to kernel tuner
Edit2: I lose root after rebooting the phone, have to flash SuperSU from recovery.

Will edit if I find anything else. Still, pretty good job so far Chrono
 
Last edited:

ErackGamer

Member
Jan 2, 2017
34
21
Buenos Aires
Hey @ChronoMonochrome I was viewing the logcat from adb and found that this is repeated quite often, especially when the phone lags or stops responding: Error opening /dev/memcg/apps/uid_10009/pid_3083/memory.soft_limit_in_bytes; errno=2

Like here:
Code:
03-21 15:57:59.142  1934  1934 E lowmemorykiller: Error opening /dev/memcg/apps/uid_10074/pid_4271/memory.soft_limit_in_bytes; errno=2
03-21 15:57:59.142  2170  2182 W SchedPolicy: add_tid_to_cgroup failed to write '4271' (Permission denied); fd=3
03-21 15:57:59.143  1934  1934 E lowmemorykiller: Error opening /dev/memcg/apps/uid_10076/pid_5919/memory.soft_limit_in_bytes; errno=2
03-21 15:57:59.143  2170  2182 W SchedPolicy: add_tid_to_cgroup failed to write '5537' (Permission denied); fd=27
03-21 15:57:59.143  1934  1934 E lowmemorykiller: Error opening /dev/memcg/apps/uid_10062/pid_5537/memory.soft_limit_in_bytes; errno=2
03-21 15:57:59.144  1934  1934 E lowmemorykiller: Error opening /dev/memcg/apps/uid_10018/pid_5318/memory.soft_limit_in_bytes; errno=2
03-21 15:57:59.158  1934  1934 E lowmemorykiller: Error opening /dev/memcg/apps/uid_10074/pid_4271/memory.soft_limit_in_bytes; errno=2
03-21 15:57:59.158  2170  2182 W SchedPolicy: add_tid_to_cgroup failed to write '4271' (Permission denied); fd=27
03-21 15:57:59.159  1934  1934 E lowmemorykiller: Error opening /dev/memcg/apps/uid_10019/pid_5723/memory.soft_limit_in_bytes; errno=2
03-21 15:57:59.159  2170  2182 W SchedPolicy: add_tid_to_cgroup failed to write '5723' (Permission denied); fd=27
03-21 15:57:59.160  1934  1934 E lowmemorykiller: Error opening /dev/memcg/apps/uid_10076/pid_5919/memory.soft_limit_in_bytes; errno=2
03-21 15:57:59.160  1934  1934 E lowmemorykiller: Error opening /dev/memcg/apps/uid_10062/pid_5537/memory.soft_limit_in_bytes; errno=2
03-21 15:57:59.161  1934  1934 E lowmemorykiller: Error opening /dev/memcg/apps/uid_10062/pid_5537/memory.soft_limit_in_bytes; errno=2
03-21 15:57:59.247  1934  1934 E lowmemorykiller: Error opening /dev/memcg/apps/uid_10009/pid_3083/memory.soft_limit_in_bytes; errno=2
03-21 15:58:05.456  1934  1934 I chatty  : uid=0(root) /system/bin/lmkd identical 72 lines
03-21 15:58:05.478  1934  1934 E lowmemorykiller: Error opening /dev/memcg/apps/uid_10009/pid_3083/memory.soft_limit_in_bytes; errno=2
03-21 15:58:05.479  2170  2184 E memtrack: Couldn't load memtrack module
03-21 15:58:05.479  2170  2184 W android.os.Debug: failed to get memory consumption info: -1
03-21 15:58:05.533  1934  1934 E lowmemorykiller: Error opening /dev/memcg/apps/uid_10009/pid_3083/memory.soft_limit_in_bytes; errno=2

It may be important, I don't know
 
Last edited:

#Henkate

Senior Member
Feb 1, 2012
3,485
3,121
25
フェアリーテイル
Can you tell me which recovery should i use, every time i flash a recovery my phone gets stuck in bootloop

I've installed LOS 11 by following those steps. If you have further questions about LOS 11 or something else which isn't related to this thread, please ask in the correct section or make a new thread under Q&A, so this thread would be clean.
 
Last edited:
  • Like
Reactions: crow69 and gt610

Top Liked Posts

  • There are no posts matching your filters.
  • 22
    Code:
    /*
     * Your (probably expired) warranty is now void.
     *
     * I am not responsible for bricked devices, dead SD cards,
     * thermonuclear war, or you getting fired because the alarm app failed. Please
     * do some research if you have any concerns about features included in this ROM
     * before flashing it! YOU are choosing to make these modifications, and if
     * you point the finger at me for messing up your device, I will laugh at you.
     */

    IMPORTANT INFORMATION


    What is working:
    • Boots
    • Audio (playback && recording)
    • Bluetooth
    • Graphics
    • Camera (photos only)
    • Sensors
    • RIL
    • Wifi
    • USB
    • Video playback (HW/SW)

    What is not working:

    • GPS
    • Video recording
    • maybe yet something

    Download:


    Older releases:


    Installation order:

    The installation below requires a repartition of the phone internal sdcard in order this ROM fit on /system partition. DO NOT proceed an installation if you are unsure what you're doing and how to deal with a possible consequencies.
    • before installation make sure you have a TWRP recovery
    • install chrono kernel (both ROM and the corresponding kernel are located in the same directory - see ROM link below)
    • reboot recovery
    • flash ReParted zip. This will wipe system, data and cache partitions!
    • install ROM
    • install SuperSU
    • install chrono kernel again
    *please note a possibly undesirable effect of the repartition: cache partition will be decreased to 15 MB and some ROMs that rely upon this partition won't boot. To restore original sdcard partition layout, flash stock 4.1.2 ROM (with PIT file).


    Credits:



    Special Thanks:


    • @isaak, @enkflr, @Pdevo, @prometej-zg for donating this phone!
      [*]@S.AMU for providing FTP-Server


    Source code:
    XDA:DevDB Information
    LineageOS 15.1, ROM for the Samsung Galaxy S Advance I9070

    Contributors
    ChronoMonochrome, SergeyL
    Source Code: https://github.com/ChronoMonochrome/android/tree/cm-15.1

    ROM OS Version: 8.x Oreo
    ROM Kernel: Linux 3.4.x
    ROM Firmware Required: TWRP recovery

    Version Information
    Status: Beta

    Created 2018-03-11
    Last Updated 2018-12-31
    7
    New build is up!

    Changelog

    9.08.2018 - build #2
    • sources updates - thanks @SergeyL for patches
    • system time fixes (thanks @rINanDO, @millosr and @mickybart)
    • wifi autoconnection fix
    • video recording fix
    • fix IMEI not showed (thanks @rINanDO , @Ziyan, @MWisBest)
    • change default CPU governor to Interactive
    • wifi background scan disabled for a better battery life
    • unified (codina / janice) release *
    * release folder now contains two kernel zip's - for codina (Ace 2) and janice (S Advance). Do not forget to flash the kernel after ROM installation, accordingly to your phone model.
    5
    As far as I know, @ChronoMonochrome is quite busy with LOS 15.1 for Galaxy S III.
    It would be great whether some of the improvements on that device can be theoretically applied to this ROM, despite the hardware diversity.
    That should be possible for some S3 stuff to work for u8500 devices family too. The most promising thing is Contiguous Memory Allocator (this one can help on freeing up a reserved RAM) - as I've got a device that has this feature working and now I know what changes are required on the device-specific side, I'll probably try soon this here as well. Though I couldn't get it to work on S3 fully stable yet (this feature requires considerably big changes to the whole memory management subsystem).

    P.s. I've returned to u8500 development after a long break. LineageOS 16.0 is finally available for this device! :)
    https://forum.xda-developers.com/galaxy-s-advance/development/rom-lineageos-16-0-t3884837
    In any case, I'd like to report this link, that needs to be updated in OP:

    Updated.

    Firstly thank you very much @ChronoMonochrome for that nice ROM :)

    But does anyone got Magisk working with this ROM? I get the error that the boot image is Sony ELF32 format:

    - Unpacking boot image
    ! Sony ELF32 format detected
    ! Please use BootBridge from @AdrianDC to flash Magisk
    - Unmounting partitions

    Is it safe to use that Tool for Sony on our janice?

    Magisk won't work with u8500 custom boot.img kernel format. You can try with SuperSU, however I can't recall if that working or not (but since I've mentioned it in OP I guess it should be working).
    However after messing up with the dangerous sbl bootloader partition, my janice bricked. What a joke. (I was trying to change the Download Mode screen lmao)
    Oh, sad to hear, I've missed this post somehow.
    I'll check for these tweaks soon.
    4
    Get the most out of your janice

    I'm a fairly new happy user of janice (S Advance) running ChronoMonochrome's LOS15.1. I've been using this thing for weeks to few months I guess, as my daily driver.
    However after messing up with the dangerous sbl bootloader partition, my janice bricked. What a joke. (I was trying to change the Download Mode screen lmao)
    I will be continuing exams in a few days time, so I thought to share my device's configuration, personalization and tweaks, before I forget. Perhaps it could be useful to other users.
    These are just my sharing, thus is not perfect and also, use at your own risk; Everything is tested working at my phone (actually these tweaks are made for my personal use thus I have been using it for some time aldy)
    Correct me if there's anything wrong! :)

    1. Custom Boot and Charging Splash Screen

    By the word splash screen means the first picture you see when you turn on your phone.
    I decided to change the boot splash because when I'm exploring the PARAMFS partition, I saw the korea variant's boot splash - a DOCOMO logo. It looks pretty minimal and simple, have a look below :
    5c054dd2221e8.jpg

    On how to change the boot splash, you can search up the forum, there's a dedicated instructions for janice.
    However, after changing the boot splash, I felt like something is left out - the charging splash! :3 Since most custom rom's charging animation is based on AOSP's, and also partly inspired by the Nexus 7's charging splash, I decided to change the charging splash too! There's no documentation on this plus I have no hex editing knowledge thus it is a 100% dangerous adventure. However I'm fortunate to have things work in just one attempt only :33333
    5c054ee29d831.jpg

    Thus, I'm sharing my edited PARAMFS over here, hope you guys like it!
    Code:
    https://goo.gl/hfR11w
    (under directory janice/misc/paramfs)

    ***USE AT YOUR OWN RISK*** You should have some knowledge on dd flashing before proceeding. Make sure you are dd-ing to the right partition!


    2. ZRAM

    This LOS15.1 comes with ZRAM preconfigured. ZRAM is a kind of swap, except that it works by compressing the memory and store in your physical ram, instead of a physical swap partition in your emmc. I suggest you to read some brief intro about ZRAM before proceeding.
    By default the one that comes with ChronoKernel 5.10 has a swappiness value of 60 (which is the common default value) and a size of 250MB. At least for me, it seems not quite enough to cater my needs, thus I modified the values : (zram script is in /system/etc/init.d folder)
    Code:
    SIZE : 512 (i think you can play around 256-512MB)
    SWAPPINESS : 90
    The above values did give me some noticeable improvement. I don't know if it works well for you, I suggest you to experiment with different values over the two parameters.


    3. build.prop Tweaks

    Overall the build.prop is good enough, there are plenty of tweaks inside. I further tweaked it as per my personal preference :
    Code:
    ro.config.low_ram=false (alarm and DND works for me at least, no clock issue, on ChronoKernel 5.10. with this you get multitasking feature and auto DND while in call)
    debug.composition.type=gpu
    video.accelerate.hw=1


    4. Filesystem
    I always format /system and /data into f2fs on every custom rom installation, if the ROM supports. For the ChronoKernel 5.10, you didn't have the option to format as F2FS. Thus :
    1. you can at least get F2Fs on /data by using TWRP 2.8 to format /data beforehand, then install ChronoKernel 5.10 and proceed with ROM installation
    2. you are ok enough to do 'manual' stuffs, you can follow this guide here
    Next, let's talk about trimming.
    I'm in a rush now (need to study for exam :3) thus, look up the internet for what is trimming :3
    If your setup is F2FS, trimming is already enabled through the mount options in fstab (you can check on it, the option is something with the word 'discard')
    If your setup is ext4, I'm not sure if fstrim is enabled, you however can manually trim yourself on a hourly or daily basis :
    Code:
    [I]Create file as /system/etc/init.d/99fstrim[/I]
    
    #!/system/bin/sh
    nohup watch -n 3600 fstrim /data &
    # nohup watch -n 3600 fstrim /data > /data/local/tmp/fstrim.log &
    # 3600 is 1 hour in seconds
    # the second line is with logging enabled, choose one of those two line to use based on your personal preference

    5. NOGAPPS

    There's a gapps alternative named MicroG, it is actually quite nice replacement over microg, if you didn't rely on Google Login that much (microg won't work with some apps that depends on Google Login).
    You can lookup google for ale5000's Unofficial MicroG installer with Google Sync Add-On (Contacts and Calendar Sync) installer.
    Wait, dun proceed yet! Here I have something to share as a precaution!!!
    1. This LOS15.1's signature spoofing doesn't seems to work well...? My thought is that it is related to odexed framework that comes in this LOS15.1. So DON'T USE MICROG WITH this ROM's built in signature spoofing feature! Don't flip the switch on in developer options ---- pretend like it never exists! Else you will end up in a bootloop, if microg is granted spoofing permission.
    2. You can use xposed method as a workaround : there's a module on xposed for you to spoof GmsCore signature for microg.
    3. NanoDroid has a on-device patcher to enable signature spoofing, but I never tried it, you can give it a try. Be noted that it will took quite sometime to patch, be patience and give it around 5-10 minutes time. It took around 10mins for me to patch on a Samsung Trend Plus aka S Duos 2.


    6. For Xposed Users

    Here's a really useful one. If you happen to use Xposed on this ROM, you are highly recommended to continue reading this section.
    Due to changes in Oreo's ART runtime, xposed works in a different way that apps performance MIGHT be affected if Xposed Framework is active.
    I don't know if this is fully affected by xposed, but at least with xposed running, you will experience slow app startup upon first start after app installation. Or even, all the time your app is actually performing slower.
    Thus, xposed module app has a built-in feature called 'Optimize Apps'. It actually triggers dexopt to optimize apps. The same process is triggered by Android system itself during phone idle while it is charging. But, I don't think you're going to wait until it dexopt on phone idle right? :)
    So, here are my recommendations :
    1. Upon successful new app installation, perform App Optimization thru Xposed app twice.
    2. Launch the installed app, after it launched, wait it settle down a while and close it.
    3. Rerun optimization twice again. And you are good to go!
    By performing the above steps you should notice the difference between before optimize and after optimize.


    EDIT : 7. ChronoKernelSettings (almost forget abt it xD)

    When I first use janice I was like wow seriously this phone's kernel has an app?!
    Ok here are some really useful stuffs (useful than those written above xP)
    Those stuffs that I didn't mention, just leave it like how it initially is.

    A. CPU
    Code:
    Freq limit on screen idle : disabled
    CPU Low freq : 400 or 200
    CPU High freq : 1245 (only use this value with Lionheart governor!!! Others please stick with 1200 max)
    CPU Governor : Lionheart (enable it thru Modules)
    I/O Sched Int : Noop
    I/O sched ext : Noop
    Set on boot : think yourself hahaha

    B. Power
    Code:
    Charging Current Control : Enabled
    Current Value : 900mA
    
    *********TWEAK********
    ***USE AT OWN RISK***
    Use a root file explorer, go to /data/data/com.mars_army.chronokernelsetings
    inside has a file named shared_prefs.xml (Can't remember the exact name)
    Open it, find the charging current parameters. 
    You can edit it with a 100mA increment, you can go as far as 1500mA. 
    After this, do not touch the charging current control settings in ChronoKernelSettings app anymore. It will apply the value as normally after boot.

    C. I/O
    Code:
    Nothing here actually, just change the I/O read ahead buffer for sdcard according to your sdcard capacity (google regarding this)
    I leave all other options disabled over here.

    D. Screen
    Code:
    APE-OPP : 50
    DDR-OPP : 100
    *not sure abt these values, you need to experiment this yourself

    E. GPU
    Code:
    MALI AUTOBOOST : Disabled
    Mali Freq : 600MHz
    Mali L2 Readahead : maximum available (i forget the values dy :3)
    Mali Preallocated memory : max available



    EDIT : 8. Calling Tweaks (also forget xDD)

    There's a massive delay starting the screen when receiving incoming call while phone is idle. You can slightly improve this by switching off Vibrate on call. Furthermore, with my above CPU tweaks, you should get a fairly quick respond of starting the screen upon receiving call, around 1-2 or 3 seconds after start ringing. By the word idle here means deepsleep (dozing).


    So I think that's all, I'm wondering if someone is going to have a look at this lengthy stuff haha.
    With above configs, my janice performs pretty well, can even multitask, watch 480p videos smooth, Instagram with smooth video playback, Messenger runs well with chathead, and ofc, browsing on the memory eater Google Chrome!
    That's all for my adventure on Samsung S Advance :))
    3
    The ChronoKernel settings shows a toast "Your device is not support" although it works fine.
    Overall, with further performance tweaking, device is running quite smooth (for such an old device). Glad to see such old phone getting oreo.
    My installation with GAPPS seems couldn't pass thru setup wizard, it stucks at Checking for Updates. For those who face the same thing can remove sim and skip wifi connection.
    F2FS works :yay: Dudes are recommended to clock the cpu higher to make system more smoother.

    EDIT : Some minor bugs forget to tell
    - LiveDisplay not working
    - No auto brightness?
    - Phone seems not locking (pressing home button to wake skips insecure and secure lockscreen !!! ) (this seems to be a major bug xDD)

    EDIT 2 :
    For the locking issue, it seems to be that the device is not locking automatically. Because the above situation seems applies to auto screen off locking only. Manually lock using power button has no such problem.
    Just to sum up :
    - Auto lock device after screen timeout is not working (lockscreen not showing up)
    - Manual lock device is working (lockscreen shows up)

    EDIT 3 : ALARM NOT WORKING ! BEWARE !!
    EDIT 4 : Fix for alarm, status bar clock not in sync, and potentially fix lockscreen issue
    - edit build.prop
    - set ro.config.low_ram=false
    - reboot. Enjoy your alarm :)
    * performance decrease should be expected after setting lowram flag to false
    EDIT 5 (sorry for too much edit :p) : Alarm only works with screen on