[Moto G 2015 Android Development] MSe1969:
This thread is discontinued - LineageOS 17.1 (Android 10) definitely has reached the boundary, of what an old medium range device can handle. Therefore, I have decided to go back to LineageOS 16.0 (see below - I have re-opened the linked LineageOS 16.0 thread).

This thread is dedicated to provide hardened Lineage-OS 17.1 builds with microG included for the Motorola Moto G 2015 (Osprey) with current security patches.

You can consider this thread as a successor of my LineageOS 16.0 Osprey thread

Different from my 16.0 thread, I do not offer a "standard variant", as there is an official LineageOS 17.1 version available for the Osprey device.

Security hardened microG build

Download here

Build is signed

Pre-installed microG and F-Droid like the LineageOS for microG project (own fork)

Pre-installed AuroraStore

Bromite as default browser

eSpeak TTS engine (FOSS TTS solution)

Additional security hardening features listed below

Cloudflare as default DNS (instead of Google)

Privacy-preferred default settings

Optional blocking of Facebook- and Google-Tracking (Settings - Network & Internet)

Optional disable captive portal detection or choose from various providers (default is GrapheneOS and not Google; Settings - Network & Internet)

Firewall UI (under Trust)

Increased max. password length of 64

No submission of IMSI/phone number to Google when GPS is in use

Default hosts file with many blocked ad/tracking sites

Privacy-enhanced Bromite SystemWebView

Extra control of sensor access for additionally installed user apps (Special access under app permissions)

Constified JNI method tables

Current release levels

Security string: 2021-12-05

AOSP tag: 10.0.0_r41

Bromite Webview: M96

Source-code and build instructions

Kernel: https://github.com/LineageOS/android_kernel_motorola_msm8916/tree/lineage-17.1 (official LineageOS)

Build manifest: https://github.com/lin17-microG/local_manifests/tree/lin-17.1-microG

Installation Instructions

YOU ARE RESPONSIBLE SOLELY YOURSELF FOR ANY ACTIONS YOU DO WITH YOUR DEVICE !!!

Please note - I won't explain any single aspect (e.g. how to install 'fastboot' on your PC or troubleshoot USB connectivity issues under Windows). Search the net and consult the search engine of your choice or look here in XDA, there is plenty information available.

Pre-Requisites

Get familiar with the hardware keys of the Motorola Moto G 2015 (osprey) device, especially how to enter fastboot mode (switch phone off hold power + volume down together for about 3 seconds) and recovery mode (in fastboot mode, switch with volume key to the reboot recovery option and select with power key)

Activate the Developer options (Settings, about phone: tap 7 times on the build number), get into the new menu Developer options and activate, if available, the option "OEM unlocking")

Have fastboot and adb installed on your PC and make sure, you can connect via USB to your device in fastboot mode and via adb

Download the most current .ZIP file of this ROM and place it to your phone's internal memory or SD card

An unlocked bootloader (read the warnings carefully and backup your data!)

Install TWRP recovery

If you come from stock ROM and have just unlocked your boot loader, this is the next thing to do. If you have already a working custom recovery on your device, there is no necessity to replace it. However - I recommend to use the official TWRP recovery from the TWRP site. The following instructions are based on TWRP.

To install TWRP, download the TWRP.img file (Note: replace "TWRP.img" in the following instructions with the real file name) from this section to your PC, connect the phone via USB to your PC, get it into 'fastboot mode' and enter the following command on your PC:

fastboot flash recovery TWRP.img

Afterwards, directly boot into 'recovery mode' (enter fastboot reboot on your PC and use the right hardware keys to get into recovery mode) - I recommend not to boot the phone's Android system after having flashed TWRP. Once TWRP has been launched, you may decide to reboot your phone and install the ROM at any time later. But the first boot after flashing TWRP should be TWRP in recovery mode.

Advanced Wipe

ONLY perform the steps described here, if you come from Stock ROM or a different Custom ROM!

Boot into recovery mode. In TWRP, choose "Wipe", "Advanced" and spefify "Dalvik", "System", "Cache" and "Data" to be wiped. Make sure NOT to wipe "Internal memory" or "SD Card". Swipe to confirm the deletion and get back into the main menu.

NO GApps!

DO NOT

attempt to flash GApps on this build! This build is "Google-free" comes with pre-installed AuroraStore and microG.

If you absolutely want Gapps, download and flash the official LineageOS build for this device instead.

Install the ROM

In the TWRP main menu, choose "Install". A file manager appears to let you navigate to your internal memory (path /sdcard) or your SD card (path /external_sd). Choose the .ZIP file of the ROM and swipe to flash. If you update from a previous version of the ROM, you don't need to perform a wipe. If you come from a different ROM (or stock firmware), make sure that you have performed the Wipe steps above. When finished flashing, return to the main menu, choose "Reboot" and then "System", which will cause your phone to boot into our Lineage OS 17.1 - be patient, the first boot after flashing a new ROM takes quite long!

microG

After the first installation of this ROM, you need to setup microG.

Please read the instructions given on the LineageOS for microG site, section "Post Install - UnifiedNlp"

Dealing with signed builds

Please note, that my build is

signed with an own key

. When you come from a different build, you cannot directly "dirty-flash" this build. You have to perform a "clean flash".

Bug reports:

If you have a problem please create a post with these information:

Original Kernel shipped with this rom:

Build Date:

And try to get log as described here

Credits

Android Open Source project (AOSP)

LineageOS project

althafvly

chil360

microG project

csagan5 (Bromite)

Whyorean (AuroraStore)