[ROM][7.1][UNOFFICIAL][MSM8610][CUSTOM] LineageOS 14.1 for LG L FINO

Do you use LineageOS on your L Fino? How do you use your L Fino

  • Yes, I use it as my primary everyday phone

    Votes: 56 72.7%
  • Yes, I use it as a music player/backup phone/other

    Votes: 14 18.2%
  • No I do not use LineageOS

    Votes: 7 9.1%

  • Total voters
    77
Search This thread

christpp

Senior Member
Nov 16, 2008
575
782
Athens
logo.png


LineageOS 14.1 FOR LG L FINO

NOTICE: THE DEVELOPERS OF THIS ROM DO NOT SHARE ANY RESPONSIBILITY FOR DAMAGED DEVICES, AFTER INSTALLING, OR IN THE PROCESS OF INSTALLING THIS SOFTWARE. MODIFYING YOUR DEVICE IN ANY WAY VOIDS YOUR WARRANTY. PLEASE CONTINUE AT YOUR OWN RISK.


SUPPORTED DEVICES
  • LG L70pn (D290n)
  • LG L70pds (D295)

FEATURES
  • All the device hardware is fully supported and working
  • Official LineageOS's Snap camera application and Jelly web browser
  • Adoptable Storage support
  • Doze mode

CUSTOM FEATURES
  • Substratum Theme Engine support
  • MicroG support
  • Custom kernel with Upstream additions and several security fixes
  • Custom PowerHAL, based on Nick D2's PowerHAL for msm8226 devices.
  • F2FS formatted /data partition
  • Sony's DASH open source sensor library

CODE REPOSITORIES

BUG REPORTING

If you find a bug, please report it by posting a reply on this forum thread. Always try to include a logcat in your bug report. If an App misbehaves, take the logcat while that App is open and you try to reproduce the issue. You can learn how to get a logcat here.


FIRST TIME INSTALLATION INSTRUCTIONS
  • Backup sensitive data
  • Get and install TWRP for your device variant, see this thread and DOWNLOADS section below for TWRP recovery images with full F2FS support
  • Obtain the latest zip from the DOWNLOADS section below
  • Do a full wipe before installing. On TWRP, go to Wipe -> Advanced Wipe and select ART Cache, Data, Cache, System. If you were using Adoptable Storage on a previous ROM, it won't get recognized by the new ROM, in this case select External Storage too. This will erase all the data stored on your SD card.
  • Flash the zip using TWRP
  • Go back to the main recovery screen, then go to Wipe -> Advanced Wipe -> Select data partition only -> Repair or Change -> Change Filesystem -> F2FS
  • Reboot and enjoy

DOWNLOADS

Latest build is: lineage-14.1-20190112-UNOFFICIAL
Latest builds can be downloaded from the links below:

TWRP 3.1.0 recovery images, with full F2FS support and based on the project's custom kernel:

Boot Images with inverted storage | Last Updated: 19/01/2019
Install these boot images if you want to use your external Micro SD card as the data partition. Internal data partition will not be available if you install these boot images. Your Micro SD card must have only one partition formatted in f2fs filesystem. You can install these images through TWRP recovery (make sure you have the latest version installed, as previous versions have a bug when installing .img files). Also make sure you install the boot image after installing the ROM zip.
You will have to re-flash the inverted memory boot image after every ROM update.
To install the boot image through TWRP, go to Install->Install Image->Select the image file->Select boot->Flash.

EXTRA DOWNLOADS
  • AddonSU : Use this to enable Super User access. Flash through TWRP recovery.
  • OpenGApps : Use this to enable Google Apps and Google Play Services on your ROM. Due to insufficient system partition free space, only pico package can be installed. Select ARM->7.1->pico. Flash through TWRP recovery.
  • Substratum Theme Engine : Install this application if you want to use Substratum Themes. It can work rootless on this ROM.

GUIDES [External Links]

SPECIAL THANKS
  • @g-pl for contributing to the kernel/device code
  • @D1stRU3T0R for helping syncing the kernel with latest upstream version
  • @FaBMak and @Arcline for providing translations for the Update Notifications application
  • @mountaser halak for conducting stress tests for the PowerHAL and for building flashable zips for this project
  • @proudlytm for testing and bug reporting and building the TWRP recovery for L Fino
  • @Quarx2k for the msm8226 kernel
  • @vm03 for his work on getting CyanogenMod on msm8610 devices
  • The CyanogenMod/LineageOS team

XDA:DevDB Information
UNOFFICIAL LineageOS 14.1 PORT FOR LG L FINO, ROM for the LG L Fino

Contributors
christpp, mountaser halak, g-pl, proudlytm
Source Code: http://github.com/LineageOS

ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.4.x
Based On: LineageOS

Version Information
Status: Beta

Created 2016-12-06
Last Updated 2019-02-10
 

Attachments

  • 1.png
    1.png
    44 KB · Views: 10,101
  • 2.png
    2.png
    88.6 KB · Views: 9,953
  • 4.png
    4.png
    45.9 KB · Views: 9,916
  • 5.png
    5.png
    54.1 KB · Views: 9,384
Last edited:

christpp

Senior Member
Nov 16, 2008
575
782
Athens
CHANGELOG:
Also checkout the official distribution Changelog
  • lineage-14.1-20190112-UNOFFICIAL
    • Sync with LineageOS/Substratum Sources
    • Kernel: Add Kernel Mode NEON Support
    • Kernel: Crypto: Add NEON optimized SHA1, SHA512, SHA256 and AES routines
    • Kernel: Binder: Disable preemption while holding the global Binder Lock
  • lineage-14.1-20181221-UNOFFICIAL
    • Sync with LineageOS/Substratum Sources
    • Kernel: sched/fair: Implement fast idling of CPUs when the system is partially loaded
  • lineage-14.1-20181012-UNOFFICIAL
    • Sync with LineageOS/Substratum Sources
  • lineage-14.1-20180705-UNOFFICIAL
    • Sync with LineageOS/Substratum Sources
  • lineage-14.1-20180506-UNOFFICIAL
    • Sync with LineageOS/Substratum Sources
    • Kernel: Address around 30 CVEs
    • System: Enable cpuset CGROUP support
  • lineage-14.1-20180315-UNOFFICIAL
    • Sync with LineageOS/Substratum Sources
    • Kernel: dm-crypt: Multi-Proccessor/Parallelization Patch Backport
    • Kernel: sched: Do not schedule realtime tasks on CPUs currently servicing Interrupts.
    • Kernel: GPU: Fix some direct references to HZ
    • Kernel: Disable Intelli-hotplug
    • System: Build.prop: Enable 'sys.use_fifo_ui' property
    • System: Switch the external SD card I/O scheduler back to BFQ
    • System: Media Codecs: Use Google's decoder for MP3 files
  • lineage-14.1-20180217-UNOFFICIAL
    • Sync with LineageOS/Substratum Sources
    • Kernel: Scheduling updates for some low-latency functions on GPU, mmc and crypto
  • lineage-14.1-20180127-UNOFFICIAL
    • Sync with LineageOS/Substratum Sources
    • Kernel: Fix 20 more CVEs
    • Kernel: Set HZ to 500 and enable CONFIG_SCHED_HRTICK
    • System: Audio: Disable audio offload
  • lineage-14.1-20180104-UNOFFICIAL
    • Sync with LineageOS/Substratum Sources
    • Kernel: Fix 20 more CVEs
    • Kernel: Revert "Remove CPU boost on interrupt/wakeup"
    • Kernel: Tweak Virtual Memory management
  • lineage-14.1-20171205-UNOFFICIAL
    • Sync with LineageOS/Substratum Sources
    • Kernel: Fix a bunch of CVEs
    • System: Reduce ART Heap sizes
  • lineage-14.1-20171109-UNOFFICIAL
    • Sync with LineageOS/Substratum sources
    • Kernel: Remove CPU boost on interrupt/wakeup
    • Kernel: Enable Westwood+ TCP congestion algorithm and set as default
    • Kernel: Fix a number of CVEs
    • System: Enable microG support
    • System: Update Notifications: Add Bulgarian translation and update strings.
  • lineage-14.1-20171012-UNOFFICIAL
    • Sync with LineageOS/Substratum sources
    • Kernel: GPU: Overclock to 480MHz
    • Kernel: block: Introduce ZEN I/O Scheduler
    • Kernel: Disable some USB driver debug code
    • Kernel: HZ: Set CONFIG_HZ to 300
    • Kernel: defconfig: Enable CONFIG_CCSTACK_PROTECTOR_STRONG
    • Kernel: Address multiple CVEs
    • System: Overlay: CarrierConfig: Enable config_enable_mms_with_mobile_data_off
  • lineage-14.1-20170926-UNOFFICIAL
    • Sync with LineageOS/Substratum sources
    • Kernel: Sync with upstream v3.4.113
    • Kernel: F2FS: Disable CONFIG_F2FS_CHECK_FS
    • System: Dialer: Change recording stream
  • lineage-14.1-20170818-UNOFFICIAL
    • Sync with LineageOS/Substratum sources
    • System: Update Notifications: Fix translations
  • lineage-14.1-20170727-UNOFFICIAL
    • Kernel: Cpufreq: Introduce 192 MHz core frequency
    • System: Enable full Substratum theme engine support
    • System: PowerHAL: Get back to using Interactive governor
    • System: Update Notifications: Add pt-BR translation (credit to @FaBMak)
  • lineage-14.1-20170711-UNOFFICIAL
    • System: ART: Enable interpret-only filter to reduce vm cache size
    • System: Mixer_paths: Camcorder: Use speaker-mic for audio recording
    • System: Update Notifications: Move to System Settings and simplify code
    • L70pds: Cleanup system apps
  • lineage-14.1-20170703-UNOFFICIAL
    • Sync with LineageOS sources
    • Kernel: Introduce and enable PegasusQ cpu governor
    • Kernel: Multiple CVEs fixed
    • System: Set external SD card I/O scheduler to ROW
    • System: Change cache partition type back to ext4
    • System:powerHAL: Configure for PegasusQ governor
  • lineage-14.1-20170606-UNOFFICIAL
    • Sync with LineageOS sources
    • Kernel: Fix potential refcount leak in su check
    • Kernel: Fix multiple security holes / buffer overflows
  • lineage-14.1-20170518-UNOFFICIAL
    • Kernel: Only expose su when daemon is running
    • Kernel: f2fs: Sync with upstream f2fs-stable 3.10.y [taken from g-pl's kernel repository]
    • System: Change cache and data partitions to f2fs
    • System: Kill Gello Browser and introduce Jelly as an alternative lightweight browser
    • System: Introduce Update Notify Service
      NOTICE: A full wipe and manual format of cache and data partitions to f2fs is needed to boot this package. See this post
  • lineage-14.1-20170503-UNOFFICIAL
    • CMActions: Add option to pulse only if device is on a flat surface
    • System: Reduce camcorder mic volume to limit sound distortion
    • System: FS: Change Cache partition to F2FS.
  • lineage-14.1-20170419-UNOFFICIAL
    • Sync with LineageOS repositories
  • lineage-14.1-20170405-UNOFFICIAL
    • System: Disable Sony's Timekeep
    • CMActions: Move to Display Settings and cleanup the code (based on official motorola_msm8226 commits)
  • lineage-14.1-20170314-UNOFFICIAL
    • Kernel: Set cpu input boost frequency to 787 MHz
    • Kernel: Switch back to simplified version of intelli-plug
  • lineage-14.1-20170308-UNOFFICIAL
    • System: Enable Sony's Timekeep
    • Sensors: Use Sony's DASH sensor HAL
    • Kernel: Introduce simple hotplug daemon
  • lineage-14.1-20170221-UNOFFICIAL
    • Kernel: Enable SDcardFS support
    • Kernel: Enable F2FS and sync with upstream stable 3.4.y
    • Kernel: ZRAM and ZSMALLOC: rebase from 3.15
    • Kernel: Enable Linaro's Power Efficient Workqueues
    • Kernel: Improvements on GPU and lowmemorykiller
    • Kernel: Enable CONFIGFS filesystem
    • System: Fix Fm recording
    • System: Enable FFmpeg Codecs [FLAC support]
    • System: ZRAM: Switch to lz4 compression, use multiple cores if needed
  • lineage-14.1-20170213-UNOFFICIAL
    • Kernel:intelli_hotplug: Run all work on a single, freezable workqueue with one worker.
    • System: Re-enable FMRadio app
  • lineage-14.1-20170209-UNOFFICIAL
    • Rebrand to LineageOS since CyanogenMod is now abandoned.
    • Kernel: ext4: Multiple bug-fixes/backports
    • Kernel: Resolve possible deadlocks in scheduler and cpu-boost driver.
    • Overlay: Change doze pulse timings and increase ambient display fade-out time to avoid possible kernel hangs.
  • cm14.1-20161206-UNOFFICIAL
    • Initial build
 
Last edited:

christpp

Senior Member
Nov 16, 2008
575
782
Athens
SD CARD FORMATTING/SPEED TWEAKING GUIDE




NOTICE: I WILL NOT SHARE ANY RESPONSIBILITY FOR BROKEN DEVICES OR SD CARDS, OR LOST DATA AS A RESULT OF FOLLOWING THIS GUIDE. PLEASE CONTINUE AT YOUR OWN RISK.

Before reading this, please keep in mind that the L Fino seems to be not powerful enough to handle adoptable storage easily. This is a hardware limitation rather than a software one. So, getting a huge SD card and trying to extend the internal storage by adopting it won't get the job done. Google's adoptable storage mechanism is actually really heavy for devices, even devices more capable than the L Fino can't cope with it. There are though some tweaks that might get adoptable storage performance more acceptable.

PART 1 : FORMATTING THE SD CARD AS ADOPTABLE

I will describe a procedure that involves giving commands to the device through a shell, everything can be done either through adb or through a terminal app on the device. Root privilledges will be needed. Be warned that after this procedure you will loose all the data on the SD card, so backup any important data.

Open an adb shell or the terminal app on your device.

The android partition tool needs to find an empty partition table on the SD card, otherwise it will break and the re-partitioning will never be completed. Issue the following command to become superuser:

Code:
su

Now, give the following command to enter the fdisk utility, with the SD card selected:

Code:
fdisk /dev/block/mmcblk1
Fdisk will provide its own command prompt. There, to create an empty partition table, issue:

Code:
o

Then, to write changes to the disk issue:

Code:
w
Reboot the device so the kernel will read the new partition table

Re-enter an adb shell or the terminal app

Issue the following commands:

Code:
su

Code:
sm list-disks adoptable
Checkout the output. It should only output one line, which contains the disk label for the SD card. Let's assume this label is 'disk:179_128'

On this stage there are two things you can do:
  1. Convert the whole SD card to adoptable
  2. Convert a part of the SD card to adoptable, leaving the rest as portable

I would advice going with the second option, because it has some advantages: It leaves space for putting rom zips and other flashable files on the portable storage, which is the only one that TWRP recovery can currently read and also makes it possible to have music and other documents on the portable storage. Portable storage is always read faster than adoptable.

So, if you want to convert the whole SD card to adoptable, issue this command:

Code:
sm partition <DISK_LABEL> private
where <DISK_LABEL> is the output of the previous command, in our example 'disk:179_128' , so the command becomes sm partition disk:179_128 private


Otherwise, if you want a dual partitioning, issue this:

Code:
sm partition <DISK_LABEL> mixed <PERCENTAGE_OF_PORTABLE_STORAGE>

<DISK_LABEL> should be replaced as above and <PERCENTAGE_OF_PORTABLE_STORAGE> is the whole SD card space percentage that will be given to portable storage. For example, if I need 80% of my SD card to become portable, the command will become : sm partition disk:179_128 mixed 80

Check the output of the above commands. If they do not output anything, it means that the procedure was successfull. Otherwise, you will have to retry everything from the beginning.

Reboot the device and it should recognise the partitions.


PART 2. TWEAKING KERNEL SETTINGS TO GET ACCEPTABLE PERFORMANCE

There are many factors that can affect the performance of adoptable storage, including the number of apps installed on it, the type of apps, the SD card speed rating and the SD card size. On the kernel side, there are some variables that can be tweaked which could lead to better performance. The ideal values for these variables also depend on the above factors, so they actually are specific on each "device setup". If you are interested in finding the best values for your usage purposes, you will have to experiment by changing these values yourself.

Kernel I/O scheduler:
This rom comes with BFQ I/O scheduler enabled at boot. This is the scheduler used by official LineageOS roms and it can handle normal loads adequatelly. It was enabled at some point on cm-13.0 on our device, and actually improved device responsiveness a lot. That though does not mean that it is the best scheduler for each use case. Other available schedulers on the current kernel are: noop, deadline, row, cfq, fiops . If you want to try a kernel I/O scheduler that is not available in the current kernel, please open a feature request and I will add it.

To change the scheduler, you can use one of the available apps on the play store, or from the terminal (as superuser):
Code:
echo 'scheduler' > /sys/block/mmcblk1/queue/scheduler
where 'scheduler' is the scheduler name.

Code:
cat /sys/block/mmcblk1/queue/scheduler
gives the currently selected scheduler (the one included in "[ ]").

Each kernel I/O scheduler has its own variables that can be changed at runtime.
A guide that describes kernel I/O schedulers and what each scheduler-specific variable does can be found here . This guide also describes read ahead buffer, discussed below.

Read Ahead Buffer:
This is a cache of files opened recently and it is used to speed up opening them again if needed. The ideal value for this variable depends mainly on the SD card size. This rom has the value set by default to 2048 KB. Note that larger Read Ahead Buffer does not mean better performance. Performance is limited at very high values and might even drop significantly. If the value is set too high it might cause read/write errors and reduce the SD card lifetime.

To change the read ahead buffer, you can use an app from the play store , or from the terminal (as superuser):

Code:
echo 'size' > /sys/block/mmcblk1/queue/read_ahead_kb
where 'size' is the size in kilobytes

That is all that I am currently aware of about the adoptable storage subject. I will update the post if I have something new to share.
If somebody has some more information to share for tweaking adoptable storage, please share it with us and I will update the post.

Thank you
 
Last edited:

Ky$h

Senior Member
Oct 11, 2014
207
82
Visakhapatnam
Wow that was quick!
Screenshots!!
 

Attachments

  • Screenshot_20161207-083702.png
    Screenshot_20161207-083702.png
    44 KB · Views: 2,459
  • Screenshot_20161207-084149.png
    Screenshot_20161207-084149.png
    195.7 KB · Views: 2,547
  • Screenshot_20161207-084227.png
    Screenshot_20161207-084227.png
    88.6 KB · Views: 2,479
  • Screenshot_20161207-084339.png
    Screenshot_20161207-084339.png
    131.1 KB · Views: 2,369
  • Screenshot_20161207-084447.png
    Screenshot_20161207-084447.png
    31.9 KB · Views: 2,251
  • Screenshot_20161207-084459.png
    Screenshot_20161207-084459.png
    45.9 KB · Views: 2,225
  • Screenshot_20161207-084951.png
    Screenshot_20161207-084951.png
    54.1 KB · Views: 2,183
Last edited:
  • Like
Reactions: ercerd and christpp

Ky$h

Senior Member
Oct 11, 2014
207
82
Visakhapatnam
A few things I've noticed:
#1: Not able to install apks through CM file manager. But it works in ES File Explorer
#2: might not be related to the ROM, but in Allo, while in the chat window, any notification received comes out like a distorted radio noise.
 
  • Like
Reactions: ercerd

christpp

Senior Member
Nov 16, 2008
575
782
Athens
A few things I've noticed:
#1: Not able to install apks through CM file manager. But it works in ES File Explorer
#2: might not be related to the ROM, but in Allo, while in the chat window, any notification received comes out like a distorted radio noise.

Hey, thanks for testing this and reporting issues! I have these issues too and I believe that they are CyanogenMod bugs. I will take a look at the Github repos to find some more information about these. If they are device-specific, I will try to resolve them.

Also, your screenshots have been included the first post, thank you
 
Last edited:
  • Like
Reactions: hamed.rahmani1989

Tonyy32

Senior Member
Aug 7, 2016
71
21
Buenos Aires
cm 14.1 is ready, great news! :):good:

A few things I've noticed:
#1: Not able to install apks through CM file manager. But it works in ES File Explorer
#2: might not be related to the ROM, but in Allo, while in the chat window, any notification received comes out like a distorted radio noise.
A have file manager bug on other phone running cm 14.1 too so it's not specific to our phone only.
 

gpopac

Senior Member
Jan 12, 2013
50
10
News. About once per day, my phone shuts down and I have to pull out the battery. L70PN version.
PS. I will try to access it from adb, but I am never home when this happens.
 
  • Like
Reactions: oleg1991

gpopac

Senior Member
Jan 12, 2013
50
10
No, it was a clean install, with everything reformatted. Maybe adoptable storage is to blame for this? I just started using it.
What partition scheme are you using, the default one or the one used for CM 13 with more space for system and data?
 

gpopac

Senior Member
Jan 12, 2013
50
10
I’ll try to reformat partitions, although there seems to be enough space with this layout on every partition.

EDIT. It didn’t help. I will try to remove adoptable storage. Maybe my MicroSD is bad. Here is my logcat, maybe something is usefull, but I just don’t see it...
 
Last edited:

christpp

Senior Member
Nov 16, 2008
575
782
Athens
I’ll try to reformat partitions, although there seems to be enough space with this layout on every partition.

EDIT. It didn’t help. I will try to remove adoptable storage. Maybe my MicroSD is bad. Here is my logcat, maybe something is usefull, but I just don’t see it...

Hey,

This behavior is caused by a kernel deadlock. It is introduced by the changes made to the kernel in order to enable kernel-based power and cpu hot-plugging management. The kernel deadlocks when the phone is coming out from suspend. Phone is working normally until the power button is pressed to get it out of suspend (I think this won't affect phone calls coming in, I would not rely on the phone for an alarm though :D). When this happens, it is sometimes possible to make the phone reboot by holding the power button for some time. Till now, I haven't been able to sort out where in code this deadlock is arising from. I am in the process of backporting/upgrading kernel code to get this fixed. I have already patched many potential deadlocks in kernel code.

A new release will be built when I manage to get this fixed (hopefully soon).

Thank you
 

gpopac

Senior Member
Jan 12, 2013
50
10
Thanks christpp! I was going to blame the new kernel, since the problem reoccurred after disabling the adoptable storage. I think this line explains the problem:
Code:
W libsuspend: Error writing 'on' to /sys/power/state: Invalid argument
 

Top Liked Posts

  • There are no posts matching your filters.
  • 35
    logo.png


    LineageOS 14.1 FOR LG L FINO

    NOTICE: THE DEVELOPERS OF THIS ROM DO NOT SHARE ANY RESPONSIBILITY FOR DAMAGED DEVICES, AFTER INSTALLING, OR IN THE PROCESS OF INSTALLING THIS SOFTWARE. MODIFYING YOUR DEVICE IN ANY WAY VOIDS YOUR WARRANTY. PLEASE CONTINUE AT YOUR OWN RISK.


    SUPPORTED DEVICES
    • LG L70pn (D290n)
    • LG L70pds (D295)

    FEATURES
    • All the device hardware is fully supported and working
    • Official LineageOS's Snap camera application and Jelly web browser
    • Adoptable Storage support
    • Doze mode

    CUSTOM FEATURES
    • Substratum Theme Engine support
    • MicroG support
    • Custom kernel with Upstream additions and several security fixes
    • Custom PowerHAL, based on Nick D2's PowerHAL for msm8226 devices.
    • F2FS formatted /data partition
    • Sony's DASH open source sensor library

    CODE REPOSITORIES

    BUG REPORTING

    If you find a bug, please report it by posting a reply on this forum thread. Always try to include a logcat in your bug report. If an App misbehaves, take the logcat while that App is open and you try to reproduce the issue. You can learn how to get a logcat here.


    FIRST TIME INSTALLATION INSTRUCTIONS
    • Backup sensitive data
    • Get and install TWRP for your device variant, see this thread and DOWNLOADS section below for TWRP recovery images with full F2FS support
    • Obtain the latest zip from the DOWNLOADS section below
    • Do a full wipe before installing. On TWRP, go to Wipe -> Advanced Wipe and select ART Cache, Data, Cache, System. If you were using Adoptable Storage on a previous ROM, it won't get recognized by the new ROM, in this case select External Storage too. This will erase all the data stored on your SD card.
    • Flash the zip using TWRP
    • Go back to the main recovery screen, then go to Wipe -> Advanced Wipe -> Select data partition only -> Repair or Change -> Change Filesystem -> F2FS
    • Reboot and enjoy

    DOWNLOADS

    Latest build is: lineage-14.1-20190112-UNOFFICIAL
    Latest builds can be downloaded from the links below:

    TWRP 3.1.0 recovery images, with full F2FS support and based on the project's custom kernel:

    Boot Images with inverted storage | Last Updated: 19/01/2019
    Install these boot images if you want to use your external Micro SD card as the data partition. Internal data partition will not be available if you install these boot images. Your Micro SD card must have only one partition formatted in f2fs filesystem. You can install these images through TWRP recovery (make sure you have the latest version installed, as previous versions have a bug when installing .img files). Also make sure you install the boot image after installing the ROM zip.
    You will have to re-flash the inverted memory boot image after every ROM update.
    To install the boot image through TWRP, go to Install->Install Image->Select the image file->Select boot->Flash.

    EXTRA DOWNLOADS
    • AddonSU : Use this to enable Super User access. Flash through TWRP recovery.
    • OpenGApps : Use this to enable Google Apps and Google Play Services on your ROM. Due to insufficient system partition free space, only pico package can be installed. Select ARM->7.1->pico. Flash through TWRP recovery.
    • Substratum Theme Engine : Install this application if you want to use Substratum Themes. It can work rootless on this ROM.

    GUIDES [External Links]

    SPECIAL THANKS
    • @g-pl for contributing to the kernel/device code
    • @D1stRU3T0R for helping syncing the kernel with latest upstream version
    • @FaBMak and @Arcline for providing translations for the Update Notifications application
    • @mountaser halak for conducting stress tests for the PowerHAL and for building flashable zips for this project
    • @proudlytm for testing and bug reporting and building the TWRP recovery for L Fino
    • @Quarx2k for the msm8226 kernel
    • @vm03 for his work on getting CyanogenMod on msm8610 devices
    • The CyanogenMod/LineageOS team

    XDA:DevDB Information
    UNOFFICIAL LineageOS 14.1 PORT FOR LG L FINO, ROM for the LG L Fino

    Contributors
    christpp, mountaser halak, g-pl, proudlytm
    Source Code: http://github.com/LineageOS

    ROM OS Version: 7.x Nougat
    ROM Kernel: Linux 3.4.x
    Based On: LineageOS

    Version Information
    Status: Beta

    Created 2016-12-06
    Last Updated 2019-02-10
    14
    It's great to have Nougat on our device. :):good: CyanogenMod is replaced by LineageOS. Is there any differences between them?

    LineageOS continues from where Cyanogenmod left off. Most differences are cosmetic. Anyway, this project will continue as a LineageOS project since CyanogenMod won't be receiving any support from the community. I am in the process of fixing some critical bugs, as soon as I take care of them I will update everything and make a LineageOS based build.

    Thank you
    11
    CHANGELOG:
    Also checkout the official distribution Changelog
    • lineage-14.1-20190112-UNOFFICIAL
      • Sync with LineageOS/Substratum Sources
      • Kernel: Add Kernel Mode NEON Support
      • Kernel: Crypto: Add NEON optimized SHA1, SHA512, SHA256 and AES routines
      • Kernel: Binder: Disable preemption while holding the global Binder Lock
    • lineage-14.1-20181221-UNOFFICIAL
      • Sync with LineageOS/Substratum Sources
      • Kernel: sched/fair: Implement fast idling of CPUs when the system is partially loaded
    • lineage-14.1-20181012-UNOFFICIAL
      • Sync with LineageOS/Substratum Sources
    • lineage-14.1-20180705-UNOFFICIAL
      • Sync with LineageOS/Substratum Sources
    • lineage-14.1-20180506-UNOFFICIAL
      • Sync with LineageOS/Substratum Sources
      • Kernel: Address around 30 CVEs
      • System: Enable cpuset CGROUP support
    • lineage-14.1-20180315-UNOFFICIAL
      • Sync with LineageOS/Substratum Sources
      • Kernel: dm-crypt: Multi-Proccessor/Parallelization Patch Backport
      • Kernel: sched: Do not schedule realtime tasks on CPUs currently servicing Interrupts.
      • Kernel: GPU: Fix some direct references to HZ
      • Kernel: Disable Intelli-hotplug
      • System: Build.prop: Enable 'sys.use_fifo_ui' property
      • System: Switch the external SD card I/O scheduler back to BFQ
      • System: Media Codecs: Use Google's decoder for MP3 files
    • lineage-14.1-20180217-UNOFFICIAL
      • Sync with LineageOS/Substratum Sources
      • Kernel: Scheduling updates for some low-latency functions on GPU, mmc and crypto
    • lineage-14.1-20180127-UNOFFICIAL
      • Sync with LineageOS/Substratum Sources
      • Kernel: Fix 20 more CVEs
      • Kernel: Set HZ to 500 and enable CONFIG_SCHED_HRTICK
      • System: Audio: Disable audio offload
    • lineage-14.1-20180104-UNOFFICIAL
      • Sync with LineageOS/Substratum Sources
      • Kernel: Fix 20 more CVEs
      • Kernel: Revert "Remove CPU boost on interrupt/wakeup"
      • Kernel: Tweak Virtual Memory management
    • lineage-14.1-20171205-UNOFFICIAL
      • Sync with LineageOS/Substratum Sources
      • Kernel: Fix a bunch of CVEs
      • System: Reduce ART Heap sizes
    • lineage-14.1-20171109-UNOFFICIAL
      • Sync with LineageOS/Substratum sources
      • Kernel: Remove CPU boost on interrupt/wakeup
      • Kernel: Enable Westwood+ TCP congestion algorithm and set as default
      • Kernel: Fix a number of CVEs
      • System: Enable microG support
      • System: Update Notifications: Add Bulgarian translation and update strings.
    • lineage-14.1-20171012-UNOFFICIAL
      • Sync with LineageOS/Substratum sources
      • Kernel: GPU: Overclock to 480MHz
      • Kernel: block: Introduce ZEN I/O Scheduler
      • Kernel: Disable some USB driver debug code
      • Kernel: HZ: Set CONFIG_HZ to 300
      • Kernel: defconfig: Enable CONFIG_CCSTACK_PROTECTOR_STRONG
      • Kernel: Address multiple CVEs
      • System: Overlay: CarrierConfig: Enable config_enable_mms_with_mobile_data_off
    • lineage-14.1-20170926-UNOFFICIAL
      • Sync with LineageOS/Substratum sources
      • Kernel: Sync with upstream v3.4.113
      • Kernel: F2FS: Disable CONFIG_F2FS_CHECK_FS
      • System: Dialer: Change recording stream
    • lineage-14.1-20170818-UNOFFICIAL
      • Sync with LineageOS/Substratum sources
      • System: Update Notifications: Fix translations
    • lineage-14.1-20170727-UNOFFICIAL
      • Kernel: Cpufreq: Introduce 192 MHz core frequency
      • System: Enable full Substratum theme engine support
      • System: PowerHAL: Get back to using Interactive governor
      • System: Update Notifications: Add pt-BR translation (credit to @FaBMak)
    • lineage-14.1-20170711-UNOFFICIAL
      • System: ART: Enable interpret-only filter to reduce vm cache size
      • System: Mixer_paths: Camcorder: Use speaker-mic for audio recording
      • System: Update Notifications: Move to System Settings and simplify code
      • L70pds: Cleanup system apps
    • lineage-14.1-20170703-UNOFFICIAL
      • Sync with LineageOS sources
      • Kernel: Introduce and enable PegasusQ cpu governor
      • Kernel: Multiple CVEs fixed
      • System: Set external SD card I/O scheduler to ROW
      • System: Change cache partition type back to ext4
      • System:powerHAL: Configure for PegasusQ governor
    • lineage-14.1-20170606-UNOFFICIAL
      • Sync with LineageOS sources
      • Kernel: Fix potential refcount leak in su check
      • Kernel: Fix multiple security holes / buffer overflows
    • lineage-14.1-20170518-UNOFFICIAL
      • Kernel: Only expose su when daemon is running
      • Kernel: f2fs: Sync with upstream f2fs-stable 3.10.y [taken from g-pl's kernel repository]
      • System: Change cache and data partitions to f2fs
      • System: Kill Gello Browser and introduce Jelly as an alternative lightweight browser
      • System: Introduce Update Notify Service
        NOTICE: A full wipe and manual format of cache and data partitions to f2fs is needed to boot this package. See this post
    • lineage-14.1-20170503-UNOFFICIAL
      • CMActions: Add option to pulse only if device is on a flat surface
      • System: Reduce camcorder mic volume to limit sound distortion
      • System: FS: Change Cache partition to F2FS.
    • lineage-14.1-20170419-UNOFFICIAL
      • Sync with LineageOS repositories
    • lineage-14.1-20170405-UNOFFICIAL
      • System: Disable Sony's Timekeep
      • CMActions: Move to Display Settings and cleanup the code (based on official motorola_msm8226 commits)
    • lineage-14.1-20170314-UNOFFICIAL
      • Kernel: Set cpu input boost frequency to 787 MHz
      • Kernel: Switch back to simplified version of intelli-plug
    • lineage-14.1-20170308-UNOFFICIAL
      • System: Enable Sony's Timekeep
      • Sensors: Use Sony's DASH sensor HAL
      • Kernel: Introduce simple hotplug daemon
    • lineage-14.1-20170221-UNOFFICIAL
      • Kernel: Enable SDcardFS support
      • Kernel: Enable F2FS and sync with upstream stable 3.4.y
      • Kernel: ZRAM and ZSMALLOC: rebase from 3.15
      • Kernel: Enable Linaro's Power Efficient Workqueues
      • Kernel: Improvements on GPU and lowmemorykiller
      • Kernel: Enable CONFIGFS filesystem
      • System: Fix Fm recording
      • System: Enable FFmpeg Codecs [FLAC support]
      • System: ZRAM: Switch to lz4 compression, use multiple cores if needed
    • lineage-14.1-20170213-UNOFFICIAL
      • Kernel:intelli_hotplug: Run all work on a single, freezable workqueue with one worker.
      • System: Re-enable FMRadio app
    • lineage-14.1-20170209-UNOFFICIAL
      • Rebrand to LineageOS since CyanogenMod is now abandoned.
      • Kernel: ext4: Multiple bug-fixes/backports
      • Kernel: Resolve possible deadlocks in scheduler and cpu-boost driver.
      • Overlay: Change doze pulse timings and increase ambient display fade-out time to avoid possible kernel hangs.
    • cm14.1-20161206-UNOFFICIAL
      • Initial build
    8
    Does our device support f2fs?

    I believe the kernel supports it, so f2fs should be usable. Haven't tried it though.

    Also, I would like to inform everyone that the progress on this rom port would be really slow, since the proximity issue turned out to be really big ajd difficult to resolve. I hope I will have it sorted out soon.

    Thanks
    7
    update-20171109

    This update includes the following changes:



    • Kernel: Remove CPU boost on interrupt/wakeup. This feature was added by the LG developers only for the Fino (!!!). It was boosting the CPU frequency on interrupts and on device wake up (to speed the device up a little and increase responsiveness). That just shows how badly stock ROM was developed. Anyway, I have removed all references to this, since with all custom kernel changes it is not needed. I have been using my Fino without this 'feature' for around 2 weeks with no issues at all. Device manager shows that the phone now makes more use of frequencies other than 1.19 GHz.
    • Kernel: More security fixes. This includes around 30 commits. There is a chance that something misbehaves after the changes. As always, if you find any bugs, let me know.
    • Kernel: Enable Westwood+ TCP congestion algorithm and set as default. This is a request by @D1stRU3T0R . Westwood+ outperforms the default algorithm used on google kernels on most benchmarks.
    • System: Enable microG support. This is a feature request by @Arcline . To learn more about microG, click here. It was added just yesterday, so I am not sure if it works correctly. Gapps should also work normally if you need to use that package instead. Just don't put both Gapps and microG together, bad things will happen. Keep in mind that this ROM only supports microG, microG does not come pre-installed on it. To install it, see this .
    • System: Update Notifications: Update Translations. This includes new Bulgarian translation by @Arcline (thanks!). Also, thanks to @FaBMak for updating the Portuguese strings so they match with new default ones. Please let me know if translations are broken, because I could not test them personally.

    That's all for now. The bug with the status bar icon tuner (Force closing) still exists for some reason. I am looking into it as well as all other known bugs.

    LineageOS 15 port is on hold for the moment, the 15.0 distribution is not that mature anyway. I will keep working on it (currently it does not boot, kernel panics early).

    Thank you