[G4 Android Development] steadfasterX:
New builds are cooking...

PREPARE - this update is BiiiiiiiiG

I have added a test in my jenkins build process to ensure that the unified device tree is working as it should.

Unifying our device tree makes it much easier to maintain and to add other not-yet added models - while it comes with the risk something goes wrong when it comes to blobs.

Nevertheless:

This is the 6th round first of my unified device tree so I would highly recommend doing the following (I have done that in my manual builds but you get it from jenkins - so there is a tiny little chance of bad luck .. ):

Pre-Cautions | Flashing instructions

Recommended: Backup (system, userdata in TWRP, your internal storage which contains your photos etc elsewhere)

Required: Do a "REGULAR CLEAN FLASH" (see bottom of this post)

Flash LOS - DO

NOT

choose to reboot afterwards - stay in TWRP.

TWRP menu: "Mount" --> choose "System"

From a terminal execute:

adb shell md5sum /system/etc/firmware/venus.mbn

Compare the value (last 4 characters is fully enough) with these:

If you flash:

h815, f500, h818, h819 it should be: d1f6fe863643b1e8d1e597762474928c

h810, h811, h812, ls991, us991, vs986 it should be: 78e5cf520d0de4a413ef1cfa7bbbe713

WARNING: If that checksum is NOT as it should be: DO NOT PANIC! simply FLASH the PREVIOUS LOS version BEFORE booting!

. This will ensure you will not blow a fuse.

While the above test should be considered safe: If you are unsure about this procedure:

WAIT before flashing

until someone (or I) had done the above quick test from the builds jenkins is providing at my leech server.

Whenever an error occurs while flashing in TWRP (e.g "E1001: Failed to update system image.Updater process ended with ERROR: 7")

or if the above checksum does not match:

provide the recovery.log (FAQ #4 A)!!

... then flash the previous LOS version to get back to life - without harming your device.

if instead (as we all expect) all went well and you had opengapps before - ensure you reflash gapps

Cooking order & LIVE cooking view

H815

H811

H815 UsU

VS986

H812

H810

Live - View:

https://lets.binbash.it:8800/job/LG-G4/job/LOS-16.0/job/Build all LGE-G4 models/workflow-stage/

Noteworthy Changes:

enabled pstore commit#1, commit#2, commit#3 (pstore = debug kernel panics/oops happened in a ROM)

This is a 2-site change if you want to make use of it in TWRP you must install the latest TWRP "PREVIEW" release as well (TWRP is only able to show pstore logs when the ROM is able to write them so I needed to fix pstore in the ROM first (see above commits #1 + #2 )).

Besides those 2 patches these kernel configs were set: PSTORE

All details & how to verify: see

FAQ #6

From now on when you encounter a kernel panic and you are able to reboot

without

taking out the battery (taking out the battery will erase RAM and so the logs would get lost):

1) reboot (without taking out the battery!) to either TWRP or (if you have root access) to your ROM

2) grab what you need from here: /sys/fs/pstore/ (e.g. adb pull /sys/fs/pstore/)

fixed battery draining caused by torch crashing the camera: on boot, randomly and when "enable torch for power button" configured in android settings

kernel: security fixes, IPA revamp, several other improvements here and there

fixed: WiFi & BT MAC changed on every boot in rare cases (e.g. after a format data in TWRP)

new: translations for torch (if you miss any let me know the 2-letter country code and the translation for "flashlight"), removed the LOS owned flashlight completely from status bar / tile (both require a factory reset or full clean flash if you wanna them)

fixed: build F-Droid without unifiednlp and its backends (might be of interest for you [MENTION=3525490]zeduck[/MENTION])

wrild: fixed no-SIM handling, several optimizations for better detection and handling of rild issues, complete re-work of dontaudit handling for wrild

WOOF: proudly presenting a brand new and (hopefully) intelligent watchdog for rild (part of wrild.sh).

The main purpose of this watchdog is detecting and solving issues with no cell service and/or unusual high load on the rild process (rare but sometimes happens) which causing a lot of battery drain if that occured.

When the watchdog needs to bite rild it will write logs to /sdcard/Download/wdlog/ which you should provide (adb pull /sdcard/Download/wdlog/) if you ever see them :)

This watchdog was a massive amount of work and ofc included all selinux stuff around as well - encrypted / unencrypted devices are both working

All the details how this watchdog works and how you can watch what he does check out the

commit message

PLATFORM_SECURITY_PATCH = 2019-08-01

fixed: timing perfected for rild service on boot

fixed: several selinux denials

changed kernel branch to android-9.0_sfx to workaround issues with cypher (still syncing from there but allowing me to revert, add whatever I need as well)

Full details:

kernel: commits

g4-common tree: commits

g4 unified tree: commits

closed issues (if any): github issue tracker

IMPORTANT:

If you encounter issues try this first:

adb shell
su
(or adb root when enabled)
setenforce permissive

Try again and if the issue is gone when in permissive mode:

provide me a logcat as described

here

On step 3 I need the SELINUX log (option D)

Taking a backup before is recommended -

always

As usual a "REGULAR CLEAN FLASH" is

RECOMMENDED

.

See the FAQ #2 of this thread how to do a "regular clean flash": https://xdaforums.com/g4/development/rom-lineageos-16-0-t3929082/post79502871

Keep in mind that almost all pie ROM's sharing the same common device tree (or main parts of it), same model device trees and for sure the same kernel - so you can enjoy most fixes for any pie ROM available..

The above fixes are brought to you by the Suicide Squirrel Team :victory:

ok enough of words, just

one

more thing:

flash and enjoy this biting (woof), battery saving and simply wonderful new LOS version -

ever

:D