[OFFICIAL][ROM][PAYTON]LineageOS 19.1 (Android 12.1)

Search This thread

ThE_MarD

Recognized Developer
Dec 10, 2014
3,231
3,704
Grande Prairie
LeEco Le Max 2
Moto X4
@rseiler , the method I was talking about doesn't involve the Lineage Updater at all. It's just how to manually install the update via Lineage Recovery and how to reinstall any addons afterwards too.

Using the Lineage Updater? It backs up addons before flashing the OTA update via recovery. Manually updating builds via Lineage Recovery does not do that. It just flashes the image from the ROM zip so it is indeed very different. It's pretty much the same procedure if you use TWRP to manually install a ROM update too.
 

rseiler

Senior Member
Jun 24, 2012
232
69
@ThE_MarD Ah, you must be talking about the "How to upgrade from the previous version via Lineage Recovery" one, which is basically the standard sideload method like when installing LOS in the first place.

I thought you meant the "HOW TO UPDATE LINEAGEOS WITH LINEAGE RECOVERY" one, which involves Wget and Updater. That's the one I was looking at and sort of puzzling over how it would really be different (aside from the downloading part) from just using Updater in the first place.
 

nfsllow

Senior Member
Mar 27, 2015
51
14
@ThE_MarD Thanks for maintaining lineageOs for X4

I'm having issues running JioSaavn app, it reboots the phone when it hits the main screen of the app. Attached logs, let me know if any extra info is needed

Build: lineage_payton-userdebug 12 SQ3A.220605.009.A1 3d0f1ca61e
 

Attachments

  • logcat_all.txt
    8.3 MB · Views: 13

ThE_MarD

Recognized Developer
Dec 10, 2014
3,231
3,704
Grande Prairie
LeEco Le Max 2
Moto X4
Heyyo @nfsllow , hmm looking through the logcat? I see a few errors about app data, so it might have a corrupt install. Please bring up app info on the app, force stop, then go into storage and cache and then clear storage and try the app again and hopefully that will get the app working
 

rseiler

Senior Member
Jun 24, 2012
232
69
@rseiler @skiwarz

These are the steps I took to restore LTE to the device on LOS 19.1

Hello again. Since we may be the only two people who followed that procedure, you may be in a unique position to clarify a hunch I have. Have you used LOS's Updater function successfully since doing that procedure? If so, my theory is shot.

It consistently fails for me with this infamous message. What you can't really see in that photo is that the other choice is Retry and that it doesn't work. I don't know if it should be saying Slot A up top or not. That may be a sign of the problem.

Now, I did figure out (the hard way) how to get out of that without resetting: since you're in Recovery, you can sideload the ROM (same version as what just failed), reboot to recovery, and then sideload Gapps (if you use them), but the next time you run Updater, guess what.

All this isn't a fluke, either: I retraced the steps on a separate X4. It's repeatable, and I'm beginning to wonder if it's somehow related to the way in which the OEM ROM was flashed. Perhaps that created a dicey slotting scenario (not that I understand slots at all, mind you).

Update:

BTW, I did just notice that there's a typo:

fastboot.exe flash fsg fsg.bin

Instead of:

fastboot.exe flash fsg fsg.mbn

That's apparently the modem file and I assume is unrelated to the above, but who knows.
 
Last edited:
  • Like
Reactions: jmichael2497

nfsllow

Senior Member
Mar 27, 2015
51
14
Heyyo @nfsllow , hmm looking through the logcat? I see a few errors about app data, so it might have a corrupt install. Please bring up app info on the app, force stop, then go into storage and cache and then clear storage and try the app again and hopefully that will get the app working
even if i do that its still the same, phone reboots
 

ThE_MarD

Recognized Developer
Dec 10, 2014
3,231
3,704
Grande Prairie
LeEco Le Max 2
Moto X4
@rseiler , I just tried OTA via Lineage Updater from June 14 to 21 build and it worked fine for me.

No mods, just LineageOS 0614 and MindTheGApps 12.0.1 arm64 0605

IMG_20220625_085305.jpg


IMG_20220625_120743.jpg

IMG_20220625_121342.jpg


@nfsllow hmm, I'll try and ask on x4 Telegram groups if someone has an idea as I can't test the app myself
 
Last edited:
  • Like
Reactions: nfsllow

rseiler

Senior Member
Jun 24, 2012
232
69
@rseiler , I just tried OTA via Lineage Updater from June 14 to 21 build and it worked fine for me.

No mods, just LineageOS 0614 and MindTheGApps 12.0.1 arm64 0605

Thanks. We would have seen a lot of chatter in this forum if Updater turned out to be a problem for the general populace as of late, which makes me wonder if where I and one other user started from is influencing things now. Because that's the one unique path that separates us from what the vast majority has done. This is why it would be key to know if he's seeing the problem.

This is the post (and note the correction I made in my last post):

So, it's a major divergence, since it's flashing that and skipping copy-partitions-20210323_1922.zip. It's my only theory at this point, but I don't really know if it makes technical sense.
 

ThE_MarD

Recognized Developer
Dec 10, 2014
3,231
3,704
Grande Prairie
LeEco Le Max 2
Moto X4
@rseiler I did use that copy partitions long ago yeah, but I haven't changed device firmware since 17.1 so I wouldn't need to run it again for 18.1 or 19

Like the post you linked, there is a chance your device firmware might have issues. You could try to reflash it and see what happens?
 

shar88

Senior Member
Jun 14, 2014
90
19
Is there a way to completely back up and restore all the phone partitions?

I'd like to try flashing LOS 19.1 again and getting a logcat cause I'm pretty sure wifi calling is broken, at least for t-mobile. I'm currently on LOS 18.1 and its working great, but I don't want to have to go through the hassle of reinstalling 18.1 and setting up everything just to grab a logcat.

I guess I should also ask if anyone else is using wifi calling, and if so, on t-mobile. It also seems like it could be a carrier issue from googling it, but seems strange it would work under LOS 18.1 and not 19.1.
 

Knuxyl

Senior Member
May 20, 2009
237
99
Google Pixel 5
@rseiler
I cannot see that image because the host tracks the viewers browser and sells that information and my server blocks that kind of behavior.

The modem firmware would not at all affect this. Copy partitions does nothing with it.

I fixed the typo in the post about what to flash. The fsg should've been fsg.mbn, not fsg.bin. Regardless, if you've flashed before this shouldn't affect it.

I opened up the script, here is what it's doing
Code:
if [ "$1" != "lanchon-magic" ]; then
    export FLASHIZE_VERSION='2016-04-06'
    log=''
    if [ -f /tmp/flashize-log ]; then
        log="$(cat /tmp/flashize-log)"
        if [ -z "$log" ]; then
            log=/tmp/flashize.log
        fi
    fi
    if [ "$log" == "-" ]; then
        log=""
    fi
    out="/proc/self/fd/$2"
    zip="$3"
    if [ -n "$log" ]; then
        if [ "${log::1}" != "/" ]; then
            logzip="$zip"
            if [ "$logzip" == "/tmp/update.zip" ] || [ "$logzip" == "/sideload/package.zip" ]; then
                # if sideloading, for relative logfile naming purposes pretend that the zip is:
                logzip=/tmp/flashize.zip
            fi
            if [ "$log" == ":" ]; then
                log="$(basename "$logzip" .zip).log"
            fi
            log="$(dirname "$logzip")/$log"
        fi
        mkdir -p "$(dirname "$log")"
    fi
    print() {
        local s="$1"
        if [ -n "$log" ]; then
            >>"$log" echo "$s"
        fi
        if [ -z "$s" ]; then s=" "; fi
        >$out echo "ui_print $s"
        >$out echo "ui_print"
    }
    print
    if [ -n "$log" ]; then
        >"$log"
    fi
    set -o pipefail
    /sbin/sh "$0" "lanchon-magic" "$zip" 2>&1 | (
        IFS=""
        while read -r line; do print "$line"; done
    )
    code=$?
    print
    if [ "$code" -eq "0" ]; then
        print "[OK]";
    else
        print "[ERROR $code]";
    fi
    log=""
    print
    exit $code
fi
shift
[ ! -f /tmp/flashize-debug ] || set -x

#####################################################

# Partitions ignored
IGNORED=" dtbo_a dtbo_b system_a system_b boot_a boot_b vbmeta_a vbmeta_b "

suffix_active=$(getprop ro.boot.slot_suffix)

if [[ "$suffix_active" == "_a" ]]; then
  suffix_swap="_b"
else
  suffix_swap="_a"
fi


for active in /dev/block/bootdevice/by-name/*$suffix_active; do
    partition=$(basename $active)
    if [[ "${IGNORED/$partition}" = "$IGNORED" ]]; then
        echo "Partition $partition"
          inactive=$(echo $active | sed "s/${suffix_active}\$/${suffix_swap}/");
        part_active=$(readlink -fn $active);
        part_inactive=$(readlink -fn $inactive);
        if [[ -n "$part_active" && -n "$part_active" && "$active" != "$part_active" && "$inactive" != "$part_inactive" ]]; then
          blockdev --setrw $part_inactive
          dd if=$part_active of=$part_inactive bs=4k
        fi
    fi
done

The actual script starts below the
#####################################################
Everything above it is just logs and such.

What the script is doing is going through all the partitions below that match the current slot
dtbo_a dtbo_b system_a system_b boot_a boot_b vbmeta_a vbmeta_b
and copying it to the inactive slot. The if [[ "${IGNORED/$partition}" = "IGNORED" ]]; seems wrong though. I could be wrong, but I would've put that in a for loop. The readlink just stores the actual device path from a symlink. The script is very simple to read, just figure out what those are doing and you can get an idea of whats going on and maybe fix it. The blockdev --setrw is setting the inactive partition to RW (read/write) and then dd has the active partition as if (input file) and the inactive partition as of (output file). Everything looks fine but that if statement looks wrong to me. The = operator is typically for assignment, not comparisons. I would think it should be == but I also don't know what the / in a bash array variable does. I also cannot find documentation on the -n inside the statement. I have no idea what that does. The closest I found was -N which checks if it was modified, but capitalization should matter so that's not it.

This really has me thinking that lineageos is loading files from the inactive slot and the actualy update file they provide has bad firmware files mixed in it, seemingly from an AT&T or TMobile build.

I can't seem to get payload dumper working to check what is included in lineage, but if all those commands above are correct, then the problem is with what lineage is packing with its files. That could explain why if lineage's files aren't copied to the inactive partition it's works fine, but breaks OTA.

I don't know, I'm not too interested in this phone and I'm downgrading back to 18 anyways due to privacy and security concerns with Android 12, but I should've shared enough information to trace where this problem is coming from.
 
Last edited:

rseiler

Senior Member
Jun 24, 2012
232
69
@rseiler

The modem firmware would not at all affect this. Copy partitions does nothing with it.

The error is just the "Can't load Android system. Your data may be corrupt." one, and it's triggered by the LOS Updater (after it reboots to do the install), which is why I was wondering if the Updater has worked for you since you did the install that you described back on p.3.

(As opposed to upgrading in Recovery, which doesn't show the problem.).

Like you I didn't use copy-partitions in the first place., so if it is related to the problem it can only be from not having used it. Since you also didn't use it, the Updater working for you would put that question to rest but leave me with absolutely no idea what this reproducible problem could be.
 

Knuxyl

Senior Member
May 20, 2009
237
99
Google Pixel 5
The error is just the "Can't load Android system. Your data may be corrupt." one, and it's triggered by the LOS Updater (after it reboots to do the install), which is why I was wondering if the Updater has worked for you since you did the install that you described back on p.3.

(As opposed to upgrading in Recovery, which doesn't show the problem.).

Like you I didn't use copy-partitions in the first place., so if it is related to the problem it can only be from not having used it. Since you also didn't use it, the Updater working for you would put that question to rest but leave me with absolutely no idea what this reproducible problem could be.

It's more than likely the issue considering no one else is having the problem. I went to try the update to verify but I have already rolled back to Android 11. Sorry

It's weird though because the copy partitions isn't creating new partitions or changing the layouts, it's literally just coping the data over. I'm willing to bet the script is just screwy and needs some corrections.

I am at a loss with all this. All I know is my phone can work like a phone when I don't flash copy partitions, and it doesn't work when I do.
 

rseiler

Senior Member
Jun 24, 2012
232
69
It's more than likely the issue considering no one else is having the problem. I went to try the update to verify but I have already rolled back to Android 11. Sorry

No problem, I appreciate your trying to work through this stuff.

You'll never guess what I found. It's for another phone, but it basically confirms the theory, though somewhat testily. No, I never tried "Retry" 7 or 8 times(!), and I don't really get why it would ever work if it doesn't after 2 or 3 or 4. Anyway, read through to the end of the thread for the surprise: you can apply copy-partitions after the fact and don't have to start over yet again. I'll be trying that tomorrow. Update: Confirmed working.
https://www.reddit.com/r/LineageOS/comments/hindsm
 
Last edited:
  • Like
Reactions: jmichael2497

ThE_MarD

Recognized Developer
Dec 10, 2014
3,231
3,704
Grande Prairie
LeEco Le Max 2
Moto X4
Heyyo @shar88 , you can use TWRP to backup and restore. If you check the TWRP thread I have a guide on how to do that. I do recommend nuking your lockscreen security before doing a backup as file-based encryption can be pretty picky.

@Knuxyl , the only partitions that copy partitions ignores is as your post shows, boot, system and vbmeta partitions. Everything else gets cloned which means modem partition does too.

The whole point of the copy partitions zip is for a/b partitioned devices to have matching device firmware in both slots to try and prevent issues caused by unmatched firmware.

The fastboot flashable stock ROMs like those found for payton on lolinet? They only flash slot A and set the active slot to A. They do not do anything with B slot, so B would still have whatever unknown device firmware version on it.

From flash-all.bat
Code:
@ECHO OFF
:: Copyright 2012 The Android Open Source Project
::
:: Licensed under the Apache License, Version 2.0 (the "License");
:: you may not use this file except in compliance with the License.
:: You may obtain a copy of the License at
::
::      http://www.apache.org/licenses/LICENSE-2.0
::
:: Unless required by applicable law or agreed to in writing, software
:: distributed under the License is distributed on an "AS IS" BASIS,
:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
:: See the License for the specific language governing permissions and
:: limitations under the License.
fastboot flash partition gpt.bin
fastboot flash bootloader bootloader.img
fastboot reboot-bootloader
ping -n 9 127.0.0.1 >nul
Fastboot --set-active=a
fastboot flash modem_a NON-HLOS.bin
fastboot flash fsg_a fsg.mbn
fastboot erase modemst1
fastboot erase modemst2
fastboot flash bluetooth_a BTFM.bin
fastboot flash dsp_a dspso.bin
fastboot flash logo_a logo.bin
fastboot flash boot_a boot.img
fastboot flash system_a system.img_sparsechunk.00
fastboot flash system_a system.img_sparsechunk.01
fastboot flash system_a system.img_sparsechunk.02
fastboot flash system_a system.img_sparsechunk.03
fastboot flash system_a system.img_sparsechunk.04
fastboot flash system_a system.img_sparsechunk.05
fastboot flash system_a system.img_sparsechunk.06
fastboot flash system_b system_other.img
fastboot flash oem_a oem.img
fastboot erase carrier
fastboot erase userdata
fastboot erase ddr
fastboot reboot
echo Press any key to exit...
pause >nul
exit
 
  • Like
Reactions: jmichael2497

Knuxyl

Senior Member
May 20, 2009
237
99
Google Pixel 5
Heyyo @shar88 , you can use TWRP to backup and restore. If you check the TWRP thread I have a guide on how to do that. I do recommend nuking your lockscreen security before doing a backup as file-based encryption can be pretty picky.

@Knuxyl , the only partitions that copy partitions ignores is as your post shows, boot, system and vbmeta partitions. Everything else gets cloned which means modem partition does too.

The whole point of the copy partitions zip is for a/b partitioned devices to have matching device firmware in both slots to try and prevent issues caused by unmatched firmware.

The fastboot flashable stock ROMs like those found for payton on lolinet? They only flash slot A and set the active slot to A. They do not do anything with B slot, so B would still have whatever unknown device firmware version on it.

From flash-all.bat
Code:
@ECHO OFF
:: Copyright 2012 The Android Open Source Project
::
:: Licensed under the Apache License, Version 2.0 (the "License");
:: you may not use this file except in compliance with the License.
:: You may obtain a copy of the License at
::
::      http://www.apache.org/licenses/LICENSE-2.0
::
:: Unless required by applicable law or agreed to in writing, software
:: distributed under the License is distributed on an "AS IS" BASIS,
:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
:: See the License for the specific language governing permissions and
:: limitations under the License.
fastboot flash partition gpt.bin
fastboot flash bootloader bootloader.img
fastboot reboot-bootloader
ping -n 9 127.0.0.1 >nul
Fastboot --set-active=a
fastboot flash modem_a NON-HLOS.bin
fastboot flash fsg_a fsg.mbn
fastboot erase modemst1
fastboot erase modemst2
fastboot flash bluetooth_a BTFM.bin
fastboot flash dsp_a dspso.bin
fastboot flash logo_a logo.bin
fastboot flash boot_a boot.img
fastboot flash system_a system.img_sparsechunk.00
fastboot flash system_a system.img_sparsechunk.01
fastboot flash system_a system.img_sparsechunk.02
fastboot flash system_a system.img_sparsechunk.03
fastboot flash system_a system.img_sparsechunk.04
fastboot flash system_a system.img_sparsechunk.05
fastboot flash system_a system.img_sparsechunk.06
fastboot flash system_b system_other.img
fastboot flash oem_a oem.img
fastboot erase carrier
fastboot erase userdata
fastboot erase ddr
fastboot reboot
echo Press any key to exit...
pause >nul
exit
thats not true, system_b is flashed.
in that case though we can just add _b to all flash files excluding system and we wouldnt need copy partitions then. this doesnt explain why copy partitions breaks lte band 13.
im sote sure whwre u got that flash file but i just go by the flashfile.xml and make my own script, using something found on the internet is not guaranteed to work.
 

ThE_MarD

Recognized Developer
Dec 10, 2014
3,231
3,704
Grande Prairie
LeEco Le Max 2
Moto X4
@Knuxyl , system_b is flashed with system_other which is just a basic partition flash to prepare it for OTA is all. It isn't a full flash. You'll see in that script that system_a flashes multiple sparse images as Motorola breaks up their system image into multiple files. System_other is 67MB so it's definitely not a full system image. The sparse system images for partition a adds up to 3.31GB.

It's too late in Payton's lifecycle to change a flashall file and expect all users to always use it if they flash fbrom. Besides, copy partitions script works without issues on other A/B partitioned devices so I don't see how it could break payton as I haven't heard of anyone else losing an LTE band by flashing it.

Anyways, I don't see how copy partitions would break any LTE band as those are usually hardware locked, not software locked. You can always try a different region of stock ROM and then run copy partitions and see if something changes?
 

leetripper

Senior Member
Mar 18, 2016
57
15
@Knuxyl , system_b is flashed with system_other which is just a basic partition flash to prepare it for OTA is all. It isn't a full flash. You'll see in that script that system_a flashes multiple sparse images as Motorola breaks up their system image into multiple files. System_other is 67MB so it's definitely not a full system image. The sparse system images for partition a adds up to 3.31GB.

It's too late in Payton's lifecycle to change a flashall file and expect all users to always use it if they flash fbrom. Besides, copy partitions script works without issues on other A/B partitioned devices so I don't see how it could break payton as I haven't heard of anyone else losing an LTE band by flashing it.

Anyways, I don't see how copy partitions would break any LTE band as those are usually hardware locked, not software locked. You can always try a different region of stock ROM and then run copy partitions and see if something changes?
Had the same problem losing LTE on my XT1900-7. Flashed to stock with this ROM, which I kept for this purpose: XT1900-7_PAYTON_RETEU_DS_9.0_PPWS29.69-37-2_subsidy-DEFAULT_regulatory-DEFAULT_CFC.xml.zip
I realized that there was still no LTE. Used this one instead: PAYTON_RETAIL_9.0_PPW29.69-40-4_subsidy-DEFAULT_regulatory-DEFAULT_CFC.xml.zip
Now it worked again and I could flash copy partitions and LOS and everything works fine...
 

nfsllow

Senior Member
Mar 27, 2015
51
14
Had the same problem losing LTE on my XT1900-7. Flashed to stock with this ROM, which I kept for this purpose: XT1900-7_PAYTON_RETEU_DS_9.0_PPWS29.69-37-2_subsidy-DEFAULT_regulatory-DEFAULT_CFC.xml.zip
I realized that there was still no LTE. Used this one instead: PAYTON_RETAIL_9.0_PPW29.69-40-4_subsidy-DEFAULT_regulatory-DEFAULT_CFC.xml.zip
Now it worked again and I could flash copy partitions and LOS and everything works fine...
Oh, i had this problem, the firmware on net is outdated. Download Lenovo Rescue App and install the firmware it provides. Then backup efs and persist after it. Flash custom rom and if no LTE, restore efs and persist. It should work
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    I can't really tell if you're saying that it coincided with the battery or the ROM, but if it's the battery I'd see if it happens with the old one now, even if its life wouldn't be as good. At least you'd know if any battery can receive a charge. If it's the ROM, see about the Jul 12 one, though I note these two things that will be in next week's build:
    1
    Anyone has experimented battery problem after flash The New weekly (05/july)rom?
    I was having battery drain issues ever since I installed the 20220621 build. The latest build is 20220712, and the issue is now resolved.
  • 8
    2okPze5.png



    Code:
    /*
    
    * Your 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.
    
    */



    LineageOS is a free, community built, aftermarket firmware distribution of Android 10, which is designed to increase performance and reliability over stock Android for your device.



    LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.



    All the source code for LineageOS is available in the LineageOS Github repo. And if you would like to contribute to LineageOS, please visit out Gerrit Code Review. You can also view the Changelog for a full list of changes & features.



    Introduction

    This is the official Lineage OS thread for the Motorola Moto X4, codename payton.



    We support all the T-Mobile, International, and Project Fi variants, as their bootloaders are unlockable, while we can't support the Verizon and AT&T variants, as their bootloaders are permanently locked.



    How to install via Lineage Recovery

    Please follow the official instructions



    HOW TO UPDATE LINEAGEOS WITH LINEAGE RECOVERY

    Please follow the official LineageOS Wiki instructions for our device




    How to install via TWRP

    1. Boot the newest TWRP .img from the Official TWRP Project Site.
    2. IF YOU ARE COMING FROM STOCK AND WANT TO INSTALL CUSTOM ROMS FOR FIRST TIME, INSTALL "Copy Partitions Zip" FROM POST #2
    3. In TWRP, click "Wipe", "Format Data", then type "yes" as prompted.
    4. ADB sideload the newest weekly
    5. (Optionally) You can flash the newest TWRP Installer also found at the Official TWRP Project Site if you wish to maintain TWRP, though the pre-installed Lineage Recovery instance will do everything you need it to in most cases. We don't recommend or support the use of the TWRP installer, as it is overwritten on every update (will need to be re-installed every update), and has no addon.d-v2 persistence.
    6. Click "Reboot", then choose "Recovery", this will boot you to either Lineage Recovery or TWRP depending on your choice to install TWRP or not. It is necessary to reboot between ROM flash and GApps/Addon flash due to verity/slot-swap logic.
    7. (Optionally) Flash GApps
    8. Reboot


    How to upgrade from the previous version via Lineage Recovery

    Please follow the official instructions



    How to upgrade from the previous version via TWRP

    1. Boot the newest TWRP .img from the Official TWRP Project Site.
    2. IF YOU ARE COMING FROM STOCK AND WANT TO INSTALL CUSTOM ROMS FOR FIRST TIME, INSTALL "Copy Partitions Zip" FROM POST #2
    3. In TWRP, click "Wipe", then select "advanced" and select "cache" and wipe.
    4. ADB sideload the newest weekly build or copy it to your device and install the zip
    5. (Optionally) You can flash the newest TWRP Installer also found at the Official TWRP Project Site if you wish to maintain TWRP, though the pre-installed Lineage Recovery instance will do everything you need it to in most cases. We don't recommend or support the use of the TWRP installer, as it is overwritten on every update (will need to be re-installed every update), and has no addon.d-v2 persistence.
    6. Click "Reboot", then choose "Recovery", this will boot you to either Lineage Recovery or TWRP depending on your choice to install TWRP or not. It is necessary to reboot between ROM flash and GApps/Addon flash due to verity/slot-swap logic.
    7. (Optionally) Flash GApps
    8. Reboot


    Notes

    Official Lineage OS builds will not pass CTS/SafetyNet -- due to the AVB flag's "red" status. (Magisk works fine, though is not supported.)
    Official Lineage OS builds ship with full treble compatibility, with VNDK runtime enforcement! This means that unlike most "ported treble" you'll see, ours is just as it would be from the OEM, and can run any GSI (yes, even Pie!) without need for hacks or additional flashable zips. We relabeled /oem as /vendor (as /oem isn't used in custom ROM's anyway). To use a GSI, flash official Lineage, then flash your GSI, it's that simple! Flashing a factory image will likely write over /oem and remove the mock vendor image. Please don't report GSI bugs here, report them instead to the GSI's maker.


    Download


    Official:

    Unofficial test builds:



    Google Apps (GApps)

    MindTheGapps:


    GCam Mods



    Contributors

    erfanoabdi, SevenRock, ThE_MarD, Moto sdm660 devs, the Lineage Team

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

    ROM Firmware Required: Official Pie
    4
    Important extra links

    Payton Stock firmware:

    Copy partitions link for download can be found on the LineageOS Wiki install instructions for Payton page here:
    4
    Heyyo, a new test build is going up! lineage-19.1-20220416-UNOFFICIAL-payton contains Moto Camera 2 app and fixes for offline charging as well


    VERY special thanks to SevenRock for doing the majority of the LOS 19.1 trees for Moto sdm660 and payton (y)
    3
    I only boot to TWRP temporary for "some" operations. Usually, Lineage recovery is installed permanent and has no issues at all with OTA updates done with System Updater. Reboot after update and everything is fine, no thinking about slots and so on.
    3
    @Knuxyl , system_b is flashed with system_other which is just a basic partition flash to prepare it for OTA is all. It isn't a full flash. You'll see in that script that system_a flashes multiple sparse images as Motorola breaks up their system image into multiple files. System_other is 67MB so it's definitely not a full system image. The sparse system images for partition a adds up to 3.31GB.

    It's too late in Payton's lifecycle to change a flashall file and expect all users to always use it if they flash fbrom. Besides, copy partitions script works without issues on other A/B partitioned devices so I don't see how it could break payton as I haven't heard of anyone else losing an LTE band by flashing it.

    Anyways, I don't see how copy partitions would break any LTE band as those are usually hardware locked, not software locked. You can always try a different region of stock ROM and then run copy partitions and see if something changes?
    Had the same problem losing LTE on my XT1900-7. Flashed to stock with this ROM, which I kept for this purpose: XT1900-7_PAYTON_RETEU_DS_9.0_PPWS29.69-37-2_subsidy-DEFAULT_regulatory-DEFAULT_CFC.xml.zip
    I realized that there was still no LTE. Used this one instead: PAYTON_RETAIL_9.0_PPW29.69-40-4_subsidy-DEFAULT_regulatory-DEFAULT_CFC.xml.zip
    Now it worked again and I could flash copy partitions and LOS and everything works fine...