Custom GSI installation possible? - Moto G8 (Moto G Fast) Questions & Answers

Im wondering if a custom GSI installation is possible
Checking the app "Treble info" says the phone supports the modern version of project treble
And im wondering if anything else has to be done for a GSI to work (for example flashing another file before the GSI)
or just simply flash it via twrp or ADB?
and if its possible, The installation of an android 12 GSI would be possible?

Generic system images | Android Open Source Project
source.android.com
Well you need to flash a vbmeta.img, with a special command. Details are in the link above.
Vbmeta.img is usually available in the stock ROM, but if it fails or does not exist, use the Google official vbmeta. https://dl.google.com/developers/android/qt/images/gsi/vbmeta.img

Related

Question Installation of LineageOS for MicroG does not work

Hi all, after have lost hours and hours traying to install the latest LineageOS for MicroG, I made a facotry reset of the Oneplus 9 Pro (to Android 11), than updated de devices to the latest update (incl. Android 12 and all avaiable updates) and THAN trayed to install LineageOS for MicroG following strictly the Manual of LineageOS (link). It seams to be perfect, until the first start of LIneageOS. I see the first setup screen (Welcome to LineageOS), on the left corner "Emergency call) and on the right the START button, but the screen doesent react andt on the upper right corner I see an empty battery icon. What can I do?? I'm at the end of my knowledge.
In a step of Installing LineageOS (without MicroG) it is necessary to install the dtbo and vendor boot partitions. Maybe the problem is here?
What I have installed:
- dtbo.img (20220823)
- vendor_boot.img (20220823)
- lineage-19.1-20220820-microG-lemonadep-recovery.img
- lineage-19.1-20220824-microG-lemonadep.zip
In Recovery I see "Version 19.1 (20220824)" is installed.
PS: The volume up and down button works...
(unwanted post)
enoironline said:
Hi all, after have lost hours and hours traying to install the latest LineageOS for MicroG, I made a facotry reset of the Oneplus 9 Pro (to Android 11), than updated de devices to the latest update (incl. Android 12 and all avaiable updates) and THAN trayed to install LineageOS for MicroG following strictly the Manual of LineageOS (link). It seams to be perfect, until the first start of LIneageOS. I see the first setup screen (Welcome to LineageOS), on the left corner "Emergency call) and on the right the START button, but the screen doesent react andt on the upper right corner I see an empty battery icon. What can I do?? I'm at the end of my knowledge.
In a step of Installing LineageOS (without MicroG) it is necessary to install the dtbo and vendor boot partitions. Maybe the problem is here?
What I have installed:
- dtbo.img (20220823)
- vendor_boot.img (20220823)
- lineage-19.1-20220820-microG-lemonadep-recovery.img
- lineage-19.1-20220824-microG-lemonadep.zip
In Recovery I see "Version 19.1 (20220824)" is installed.
Click to expand...
Click to collapse
boot is equivalent to recovery
you must be on lastest official firmware
there are also spare firmware you can flash to get aligned
Psk.It said:
boot is equivalent to recovery
you must be on lastest official firmware
there are also spare firmware you can flash to get aligned
Click to expand...
Click to collapse
How can I be on latest official firmware? Before installing LIneageOS for MicroG I installed all possible Updates of the stock Version of Oneplus, than during the installation process I installed the two vendor-files as described in the manual. Do you have links to the spare firmware or better Installation guides?
enoironline said:
How can I be on latest official firmware? Before installing LIneageOS for MicroG I installed all possible Updates of the stock Version of Oneplus, than during the installation process I installed the two vendor-files as described in the manual. Do you have links to the spare firmware or better Installation guides?
Click to expand...
Click to collapse
If you installed C62 (or latest version for your device) you should be OK
(you can try reading other rom theads, some have the link to spare firmware)
for set-up, i prefer taking dtbo, vendor_boot and boot images from payload.bin file already in the rom.zip (using payload_dumper tool)
once "preliminary set-up" is done, reboot to recovery, then format data and sideload the rom
if you need extra flashing (magisk, kernel, what else) reboot recovery and sideload it
Psk.It said:
If you installed C62 (or latest version for your device) you should be OK
(you can try reading other rom theads, some have the link to spare firmware)
for set-up, i prefer taking dtbo, vendor_boot and boot images from payload.bin file already in the rom.zip (using payload_dumper tool)
once "preliminary set-up" is done, reboot to recovery, then format data and sideload the rom
if you need extra flashing (magisk, kernel, what else) reboot recovery and sideload it
Click to expand...
Click to collapse
that is certainly purposeful, but much too difficult for my most modest knowledge.
Ironically, I installed the normal LineageOS without MicroG in the meantime (to be able to use the device) and it works reasonably stable. As soon as I know what I have to install additionally when, I'll probably do again first a factory reset to the original operating system of oneplus, all updates and then I try it again with lineageos for microG. Remains to be seen what else I need to install and when :-/ It's frustrating to cannot follow an official Installation guide without having souch issues.
I can't understand why it has to be so difficult and full of detours that one can't do it if one doesn't have in-depth knowledge. Really a pity.
enoironline said:
that is certainly purposeful, but much too difficult for my most modest knowledge.
Ironically, I installed the normal LineageOS without MicroG in the meantime (to be able to use the device) and it works reasonably stable. As soon as I know what I have to install additionally when, I'll probably do again first a factory reset to the original operating system of oneplus, all updates and then I try it again with lineageos for microG. Remains to be seen what else I need to install and when :-/ It's frustrating to cannot follow an official Installation guide without having souch issues.
I can't understand why it has to be so difficult and full of detours that one can't do it if one doesn't have in-depth knowledge. Really a pity.
Click to expand...
Click to collapse
unfortunately official lineage build does not support signature spoofing, this means you need gapps (Nick gapps is the most used , you can check-out also mind-gapps)
crDroid and riceOS are a couple of roms that allow signature spoofing, you will be abile.to run micrpG on those
about payload_dumper just google it, it's a tool for unpagkage images from the a rom file
about increase of complications, we all must thank you Google 1st and OnePlus (or Oppo) in second place
Psk.It said:
for set-up, i prefer taking dtbo, vendor_boot and boot images from payload.bin file already in the rom.zip (using payload_dumper tool)
once "preliminary set-up" is done, reboot to recovery, then format data and sideload the rom
if you need extra flashing (magisk, kernel, what else) reboot recovery and sideload it
Click to expand...
Click to collapse
I'm looking right now, interesting. You wrote, you prefer taking dtbo, vendor_boot AND Boot Images from payload.bin. When to load dtbo and vendor_boot is describet in the installation guide of lineageOS, but when do you use/install the from you mentioned boot image?
enoironline said:
I'm looking right now, interesting. You wrote, you prefer taking dtbo, vendor_boot AND Boot Images from payload.bin. When to load dtbo and vendor_boot is describet in the installation guide of lineageOS, but when do you use/install the from you mentioned boot image?
Click to expand...
Click to collapse
Instead of recovery
basically:
dump payload
flash btbo
flash vendor_boot
(someone suggest to reboot in fastboot)
flash boot
from fastboot menu go to recovery
finally sideload the zip
enoironline said:
Hi all, after have lost hours and hours traying to install the latest LineageOS for MicroG, I made a facotry reset of the Oneplus 9 Pro (to Android 11), than updated de devices to the latest update (incl. Android 12 and all avaiable updates) and THAN trayed to install LineageOS for MicroG following strictly the Manual of LineageOS (link). It seams to be perfect, until the first start of LIneageOS. I see the first setup screen (Welcome to LineageOS), on the left corner "Emergency call) and on the right the START button, but the screen doesent react andt on the upper right corner I see an empty battery icon. What can I do?? I'm at the end of my knowledge.
In a step of Installing LineageOS (without MicroG) it is necessary to install the dtbo and vendor boot partitions. Maybe the problem is here?
What I have installed:
- dtbo.img (20220823)
- vendor_boot.img (20220823)
- lineage-19.1-20220820-microG-lemonadep-recovery.img
- lineage-19.1-20220824-microG-lemonadep.zip
In Recovery I see "Version 19.1 (20220824)" is installed.
Click to expand...
Click to collapse
Hey just wanted you to know that I had the exact same problem, I posted about it here:
https://www.reddit.com/r/LineageOS/comments/wyr4v9
and after a few failed attempts I basically had to hose and reset to stock with MSM (which was hard since I don't have a Win computer, but that's a solution for another day).
I think the other poster is right, you do need to flash firmware first before installing. Have you tried this? I'll try it tonight and report back, as I need to get this running before Monday.
hyve9 said:
Hey just wanted you to know that I had the exact same problem, I posted about it here:
https://www.reddit.com/r/LineageOS/comments/wyr4v9
and after a few failed attempts I basically had to hose and reset to stock with MSM (which was hard since I don't have a Win computer, but that's a solution for another day).
I think the other poster is right, you do need to flash firmware first before installing. Have you tried this? I'll try it tonight and report back, as I need to get this running before Monday.
Click to expand...
Click to collapse
Actually I have the plan to go back to Stock with MSM, than reinstall all updates of the original Oneplus 9 Pro, than reinstall the actual version of LineageOS MicroG (20220824) after dumping payload and flashing dtbo, vendor_boot and boot like psk.lt wrote.
wondering what you will accive.
Psk.It said:
Instead of recovery
basically:
dump payload
flash btbo
flash vendor_boot
(someone suggest to reboot in fastboot)
flash boot
from fastboot menu go to recovery
finally sideload the zip
Click to expand...
Click to collapse
I'm trying to dump payload. I installed the latest Python version, than downloaded payload_dumper from this link , done what described on the website and now in cmd I have the Message:
File "C:\Users\X\Desktop\Payload_dumper\payload_dumper.py", line 67
<title>payload_dumper/payload_dumper.py at master · vm03/payload_dumper · GitHub</title>
SyntaxError: invalid character '·' (U+00B7)
Do I understand it right, that the script of the tool has an error? Do you have a link of a Payload_dumper Tool that works and from where I can download it? I also found this link and in the text you can download the Tool from here , but I do not trust 100% this sources :-/
enoironline said:
I'm trying to dump payload. I installed the latest Python version, than downloaded payload_dumper from this link , done what described on the website and now in cmd I have the Message:
File "C:\Users\X\Desktop\Payload_dumper\payload_dumper.py", line 67
<title>payload_dumper/payload_dumper.py at master · vm03/payload_dumper · GitHub</title>
SyntaxError: invalid character '·' (U+00B7)
Do I understand it right, that the script of the tool has an error? Do you have a link of a Payload_dumper Tool that works and from where I can download it? I also found this link and in the text you can download the Tool from here , but I do not trust 100% this sources :-/
Click to expand...
Click to collapse
I made It! Using the tool from this website (link to the tool) I was able to extract all files. Now I can start.
Last LineageOS for MicroG Version (20220824) finaly INSTALLED (what a fight!).
Many thanks to Psk.lt and hyve9 for your help!
A quick guide for newbes like me:
Install on a PC:
- adb
- the last qualcolm driver ect
- python
download on the PC:
- MSN Tool to go back to stock OS
- payload Dumper Tool (THANK YOU PSK!!!)
- the newest LineageOS for MicroG Version
On the Oneplus 9 Pro:
- With MSN Tool back to Stock OS
- Install all possible Updates (in my device it was C61!)
- Install Oxygen Updater from an app Store or apk
- Install the REALLY last Update for your device (in my Case C62)
- download the last LineageOS for MicroG Version (.zip)
- open the .zip file and copy out the payload.bin file
Than like Psk.lt wrote, with the Payload Dumper dump the payload-file and extract btbo, vendor_boot and boot files
Safe the following files under adb
- btbo
- vendor_boot
- boot
- the lineageOS for MicroG file
Start with the installation like described in the LineageOS guide, but
- use the own btbo and vendor_boot files
- for recovery, insted of using the recovery-file from LineageOS for microG, use the boot file (extractet with Payload dumper)
- finally sideload the LineageOS for MicroG file (.zip)
End
A question: in the future can I use the oxygen Updater under LineageOS for MicroG to install all the newest updates, or does it work only if using the stock OS?
enoironline said:
A question: in the future can I use the oxygen Updater under LineageOS for MicroG to install all the newest updates, or does it work only if using the stock OS?
Click to expand...
Click to collapse
you should use embedded updater (settings - system - update) but you will not be able to copy the zip if you don't have root
If you want backup the updated zip, you should sideload via pc
enoironline said:
Last LineageOS for MicroG Version (20220824) finaly INSTALLED (what a fight!).
Click to expand...
Click to collapse
Let me know how you are liking it, im debating it or CRDroid.
ajolly said:
Let me know how you are liking it, im debating it or CRDroid.
Click to expand...
Click to collapse
I'm using LineageOS with MicroG since the End of last year and had never real problems, only the installation progress is complicated (if you follow only the official installation guides of LineageOS and from LOS-MicroG). Last week I had LineageOS without MicroG installed and I must say, I did not really missed the MicroG functions, maybe because the apps I'm using do not need necessarely the functions of MicroG / would mainly need the messaging function, but can still run and function without. It dipend what you want to accive with the OS, if you want to be compleetly G-free under LineageOS, than you have to change at your own a few more things like DNS setting, systemwebview... I can't compare LinOS-MicroG with CRDroid, beacause I never used it.
What I do not like in V 19.1 vs 18.X is the bigger format of the quick setting tiles. I know that it's possible to change it, but I have to find out how to do it in the simplest way.
A function that I miss in LineageOS (for MicroG) is a Sandbox function like in Graphene, but using Shelter helps, even if not as good as a Sandbox.
What I really don't like is the fact, that LineageOS for MicroG doesn't ships Updates with the firmware, and their Installation Guide is not really helpful (do what is described by LineageOS... and it's not really what you have to do).
What I really like is how long the battery life lasts, at least with V18 and it has surely to do with my user's habits. Now to find out how it will be under V19.1.
Over all: I like it and do not want to replace it (for now).

❗📢🔔 Do you want to run the latest Android build? Are you brave? Help me test some theories. Project Lazarus! EXPERTS ONLY🔔📢❗

WARNING: This is an EXPERIMENT for EXPERTS ONLY and is NOT for beginners or the faint of heart. If results are good, a guide will be forthcoming to use these methods to update obsolete devices.
As many of us are aware, older devices often get left out in the cold when it comes to updates. Users of the Pixel series are well aware of this - devices are generally only supported for 3 years after their release. This means that users of the OG Pixel through the Pixel 4/4XL no longer receive any updates.
However, I think I may have found a way to get around this. To combat fragmentation, AOSP introduced Project Treble as a modular solution for Android builds on various devices. The idea here is that the device-specific software would be kept separate from the kernel and system images, which would be generic, meaning that any kernel or system image could potentially run on any device. The device and vendor specific code are supposed to be contained to partitions such as /vendor_boot, /product, etc.
So, my thinking here is we may be able to manually update the kernel and/or system images on obsolete devices, thereby giving them a bit more life.
Your mission, if you choose to accept it, is to help me develop a way that older Android devices can be easily and painlessly updated to the latest Android builds.
Prerequisites:
Any Project Treble compliant device (Use this app to determine whether your device is compliant)
Unlocked bootloader
Knowledge of ADB/fastboot, device partitions, partition images, and what to do when something goes wrong
Now, the fun part.
Android Preview Generic System Image testing (should work on most devices)
Note: these builds are NOT up to date with current Pixel builds.
Download a Developer GSI release (make sure you're using the correct architecture for your device, use the GMS flavor if you want Gapps)
Extract system.img from the release zip and flash to /system (Not sure if vbmeta will be necessary)
More instructions here
AOSP Generic System Image testing
Note: These builds do NOT include GMS; you'll need to flash the GApps package of your choice. They ARE however updated continually.
Download a GSI from Android Continuous Integration:
master - Updated continuously. Builds below may be updated less frequently.
Android 13
Android 12
Android 11
Android 10
Extract system.img and flash to /system
If desired, flash the GApps package of your choice - unless someone can suggest otherwise, I believe this can only be done through TWRP
NikGapps
LiteGapps
MindTheGapps
Generic Kernel Image testing (may not work for all)
Download a Generic Kernel Image release that corresponds to your Android build (android12-5.10 is the 5.10 kernel for Android 12)
Extract boot.img from the release zip and flash to /boot
Pixel system "upgrade" (These are updated monthly, should work same as a GSI)
Download a full factory image for a newer device (Pixel 6, 7) from Factory Images for Nexus and Pixel Devices
DO NOT attempt to flash bootloader or radio images not intended for your device, this will result in a brick!
Extract system.img from the update image.zip and flash it to /system
Pixel feature "upgrade" (Most likely to have issues)
Download a full factory image for a newer device as described above
Again, DO NOT attempt to flash bootloader or radio images that are not for your device, this will result in a brick!
Extract system.img, system_ext.img, product.img from the update image.zip and flash them to their corresponding partitions
Feel free to try any one or combination of the above, and please share your results in this format:
Device
Original firmware/build
Type of experiment
Findings and notes
Other stuff:
To gain root, just patch your boot image in Magisk, then flash to /boot.
Samsung users: It's highly recommended that you use TWRP. However, if TWRP is not available, you can patch your stock recovery to enable Fastbootd, which will allow you to flash partitions directly from ADB command line.
Tried some experimenting on my Pixel 2
Is it possible to use fastboot update to update the device using the zip? No, fastboot update apparently expects to see a full update image starting with boot.img. Android-info.txt can be blank
Flashing system.img directly failed too, probably requires resizing /system
Tried to use this guide to resize system. Ended up nuking something important, device would no longer boot any image due to an authentication failure. Tried to flash factory firmware, after flashing bootloader and commanding reboot device is now stuck in EDL mode...but doesn't respond to EDL commands. Maybe only Pixel 3 and above are GSI ready?
Invitations for expert input:
@Lughnasadh
@Az Biker
@Namelesswonder
@roirraW "edor" ehT
@ipdev
Feel free to tag anyone else you think can provide some input and answer questions on this, as well as point out when something obviously won't work[/user]
V0latyle said:
WARNING: This is an EXPERIMENT for EXPERTS ONLY and is NOT for beginners or the faint of heart. If results are good, a guide will be forthcoming to use these methods to update obsolete devices.
As many of us are aware, older devices often get left out in the cold when it comes to updates. Users of the Pixel series are well aware of this - devices are generally only supported for 3 years after their release. This means that users of the OG Pixel through the Pixel 4/4XL no longer receive any updates.
However, I think I may have found a way to get around this. To combat fragmentation, AOSP introduced Project Treble as a modular solution for Android builds on various devices. The idea here is that the device-specific software would be kept separate from the kernel and system images, which would be generic, meaning that any kernel or system image could potentially run on any device. The device and vendor specific code are supposed to be contained to partitions such as /vendor_boot, /product, etc.
So, my thinking here is we may be able to manually update the kernel and/or system images on obsolete devices, thereby giving them a bit more life.
Your mission, if you choose to accept it, is to help me develop a way that older Android devices can be easily and painlessly updated to the latest Android builds.
Prerequisites:
Any Project Treble compliant device (Use this app to determine whether your device is compliant)
Unlocked bootloader
Knowledge of ADB/fastboot, device partitions, partition images, and what to do when something goes wrong
Now, the fun part.
Android Preview Generic System Image testing (should work on most devices)
Note: these builds are NOT up to date with current Pixel builds.
Download a Developer GSI release (make sure you're using the correct architecture for your device, use the GMS flavor if you want Gapps)
Extract system.img from the release zip and flash to /system (Not sure if vbmeta will be necessary)
More instructions here
AOSP Generic System Image testing
Note: These builds do NOT include GMS; you'll need to flash the GApps package of your choice. They ARE however updated continually.
Download a GSI from Android Continuous Integration:
master - Updated continuously. Builds below may be updated less frequently.
Android 13
Android 12
Android 11
Android 10
Extract system.img and flash to /system
If desired, flash the GApps package of your choice - unless someone can suggest otherwise, I believe this can only be done through TWRP
NikGapps
LiteGapps
MindTheGapps
Generic Kernel Image testing (may not work for all)
Download a Generic Kernel Image release that corresponds to your Android build (android12-5.10 is the 5.10 kernel for Android 12)
Extract boot.img from the release zip and flash to /boot
Pixel system "upgrade" (These are updated monthly, should work same as a GSI)
Download a full factory image for a newer device (Pixel 6, 7) from Factory Images for Nexus and Pixel Devices
DO NOT attempt to flash bootloader or radio images not intended for your device, this will result in a brick!
Extract system.img from the update image.zip and flash it to /system
Pixel feature "upgrade" (Most likely to have issues)
Download a full factory image for a newer device as described above
Again, DO NOT attempt to flash bootloader or radio images that are not for your device, this will result in a brick!
Extract system.img, system_ext.img, product.img from the update image.zip and flash them to their corresponding partitions
Feel free to try any one or combination of the above, and please share your results in this format:
Device
Original firmware/build
Type of experiment
Findings and notes
Other stuff:
To gain root, just patch your boot image in Magisk, then flash to /boot.
Samsung users: It's highly recommended that you use TWRP. However, if TWRP is not available, you can patch your stock recovery to enable Fastbootd, which will allow you to flash partitions directly from ADB command line.
Click to expand...
Click to collapse
This is very interesting. Definitely would like to see the results.
What command did you use to try to flash the system.img and did you try to flash from fastboot or fastbootd?
V0latyle said:
Tried some experimenting on my Pixel 2
Is it possible to use fastboot update to update the device using the zip? No, fastboot update apparently expects to see a full update image starting with boot.img. Android-info.txt can be blank
Flashing system.img directly failed too, probably requires resizing /system
Tried to use this guide to resize system. Ended up nuking something important, device would no longer boot any image due to an authentication failure. Tried to flash factory firmware, after flashing bootloader and commanding reboot device is now stuck in EDL mode...but doesn't respond to EDL commands. Maybe only Pixel 3 and above are GSI ready?
Click to expand...
Click to collapse
You typically have to erase your system.img before flashing a new one, as well as the other partitions you've listed
Yeedatoy said:
What command did you use to try to flash the system.img and did you try to flash from fastboot or fastbootd?
Click to expand...
Click to collapse
Bootloader
fastboot flash system <system.img>
Yeedatoy said:
You typically have to erase your system.img before flashing a new one, as well as the other partitions you've listed
Click to expand...
Click to collapse
Yeah, I tried this. Unfortunately nothing more I can do now, bootloader is corrupted
tested on gogole pixel (sailfish) all has fine i expand system partition from this guide https://forum.xda-developers.com/t/guide-expand-the-system-partition-on-pixel-xl-pixel.4097839/
eased system and boot and flashed new one but after that it bootloop
did some one try this generic kernel (boot.img) or it need to run em with disable dm-verity ?
loonbgg said:
all has fine i expand system partition from this guide https://forum.xda-developers.com/t/guide-expand-the-system-partition-on-pixel-xl-pixel.4097839/
eased system boot but after that flashed them but it bootlopp
did some one try this generic kernel (boot.img) or it need to run em with disable dm-verity ?
Click to expand...
Click to collapse
Please follow the format in the OP:
Device
Original firmware/build
Type of experiment
Findings and notes
Click to expand...
Click to collapse
I believe the GKI may include its own vbmeta image.
@ieatabiscuit Here's more information on GSIs, although I cannot emphasize enough how important it is to know what you're doing especially on devices that do not support Treble out of the box.
V0latyle said:
@ieatabiscuit Here's more information on GSIs, although I cannot emphasize enough how important it is to know what you're doing especially on devices that do not support Treble out of the box.
Click to expand...
Click to collapse
Doesn't all the pixels support Treble? At least that's what googling it says.
ieatabiscuit said:
Doesn't all the pixels support Treble? At least that's what googling it says.
Click to expand...
Click to collapse
I honestly do not know. I think it's only the Pixel 3 and up. The previous versions follow a similar format (ramdisk and kernel in boot partition) but either I'm an idiot or installing a GSI is more complicated than it is on Treble devices
Here's something that may help someone. It directly references a detail about the pixel2/2xl in troubleshooting.
ieatabiscuit said:
Here's something that may help someone. It directly references a detail about the pixel2/2xl in troubleshooting.
Click to expand...
Click to collapse
Good find.
I wish I hadn't bricked my Pixel 2...lol
I'll probably be doing this on my Pixel 5 when official support ends.
V0latyle said:
Good find.
I wish I hadn't bricked my Pixel 2...lol
I'll probably be doing this on my Pixel 5 when official support ends.
Click to expand...
Click to collapse
What are the differences between a GSI on your pixel 5 vs LOS on the same hardware? I have my 5 running LOS right now. When I tinker with my 2xl I'll post results, and what not.
ieatabiscuit said:
What are the differences between a GSI on your pixel 5 vs LOS on the same hardware? I have my 5 running LOS right now. When I tinker with my 2xl I'll post results, and what not.
Click to expand...
Click to collapse
A GSI does not include a kernel and is meant to be used "by itself" with the stock kernel. LineageOS is generally developed as a "whole" OS, including kernel and recovery, so it's not just a system image.
There are LOS GSIs though.
Device: Taimen
Firmware/build: OEM Dec build stock ROM/kernel
Experiment: Repartition and install GSI
Outcome: Soft brick with flashing system.img, but success repartitioning. Flashing a full ROM unbricks
ieatabiscuit said:
Device: Taimen
Firmware/build: OEM Dec build stock ROM/kernel
Experiment: Repartition and install GSI
Outcome: Soft brick with flashing system.img, but success repartitioning. Flashing a full ROM unbricks
Click to expand...
Click to collapse
Did you try booting TWRP to install the GSI?
V0latyle said:
Did you try booting TWRP to install the GSI?
Click to expand...
Click to collapse
Not yet, I'm trying that next
ieatabiscuit said:
Not yet, I'm trying that next
Click to expand...
Click to collapse
Same as doing it through fastboot: I get a system corrupted error, then it powers off/reboots to bootloader. Reflashing stock fixes this, and sets up for the next experiment.

❗📢🔔 Do you want to run the latest Android build? Are you brave? Help me test some theories. Project Lazarus! EXPERTS ONLY🔔📢❗

WARNING: This is an EXPERIMENT for EXPERTS ONLY and is NOT for beginners or the faint of heart. If results are good, a guide will be forthcoming to use these methods to update obsolete devices.
As many of us are aware, older devices often get left out in the cold when it comes to updates. Users of the Pixel series are well aware of this - devices are generally only supported for 3 years after their release. This means that users of the OG Pixel through the Pixel 4/4XL no longer receive any updates.
However, I think I may have found a way to get around this. To combat fragmentation, AOSP introduced Project Treble as a modular solution for Android builds on various devices. The idea here is that the device-specific software would be kept separate from the kernel and system images, which would be generic, meaning that any kernel or system image could potentially run on any device. The device and vendor specific code are supposed to be contained to partitions such as /vendor_boot, /product, etc.
So, my thinking here is we may be able to manually update the kernel and/or system images on obsolete devices, thereby giving them a bit more life.
Your mission, if you choose to accept it, is to help me develop a way that older Android devices can be easily and painlessly updated to the latest Android builds.
Prerequisites:
Any Project Treble compliant device (Use this app to determine whether your device is compliant)
Unlocked bootloader
Knowledge of ADB/fastboot, device partitions, partition images, and what to do when something goes wrong
Now, the fun part.
Android Preview Generic System Image testing (should work on most devices)
Note: these builds are NOT up to date with current Pixel builds.
Download a Developer GSI release (make sure you're using the correct architecture for your device, use the GMS flavor if you want Gapps)
Extract system.img from the release zip and flash to /system (Not sure if vbmeta will be necessary)
More instructions here
AOSP Generic System Image testing
Note: These builds do NOT include GMS; you'll need to flash the GApps package of your choice. They ARE however updated continually.
Download a GSI from Android Continuous Integration:
master - Updated continuously. Builds below may be updated less frequently.
Android 13
Android 12
Android 11
Android 10
Extract system.img and flash to /system
If desired, flash the GApps package of your choice - unless someone can suggest otherwise, I believe this can only be done through TWRP
NikGapps
LiteGapps
MindTheGapps
Generic Kernel Image testing (may not work for all)
Download a Generic Kernel Image release that corresponds to your Android build (android12-5.10 is the 5.10 kernel for Android 12)
Extract boot.img from the release zip and flash to /boot
Pixel system "upgrade" (These are updated monthly, should work same as a GSI)
Download a full factory image for a newer device (Pixel 6, 7) from Factory Images for Nexus and Pixel Devices
DO NOT attempt to flash bootloader or radio images not intended for your device, this will result in a brick!
Extract system.img from the update image.zip and flash it to /system
Pixel feature "upgrade" (Most likely to have issues)
Download a full factory image for a newer device as described above
Again, DO NOT attempt to flash bootloader or radio images that are not for your device, this will result in a brick!
Extract system.img, system_ext.img, product.img from the update image.zip and flash them to their corresponding partitions
Feel free to try any one or combination of the above, and please share your results in this format:
Device
Original firmware/build
Type of experiment
Findings and notes
Other stuff:
To gain root, just patch your boot image in Magisk, then flash to /boot.
Samsung users: It's highly recommended that you use TWRP. However, if TWRP is not available, you can patch your stock recovery to enable Fastbootd, which will allow you to flash partitions directly from ADB command line.
Tried some experimenting on my Pixel 2
Is it possible to use fastboot update to update the device using the zip? No, fastboot update apparently expects to see a full update image starting with boot.img. Android-info.txt can be blank
Flashing system.img directly failed too, probably requires resizing /system
Tried to use this guide to resize system. Ended up nuking something important, device would no longer boot any image due to an authentication failure. Tried to flash factory firmware, after flashing bootloader and commanding reboot device is now stuck in EDL mode...but doesn't respond to EDL commands. Maybe only Pixel 3 and above are GSI ready?
Invitations for expert input:
@Lughnasadh
@Az Biker
@Namelesswonder
@roirraW "edor" ehT
@ipdev
Feel free to tag anyone else you think can provide some input and answer questions on this, as well as point out when something obviously won't work[/user]
V0latyle said:
WARNING: This is an EXPERIMENT for EXPERTS ONLY and is NOT for beginners or the faint of heart. If results are good, a guide will be forthcoming to use these methods to update obsolete devices.
As many of us are aware, older devices often get left out in the cold when it comes to updates. Users of the Pixel series are well aware of this - devices are generally only supported for 3 years after their release. This means that users of the OG Pixel through the Pixel 4/4XL no longer receive any updates.
However, I think I may have found a way to get around this. To combat fragmentation, AOSP introduced Project Treble as a modular solution for Android builds on various devices. The idea here is that the device-specific software would be kept separate from the kernel and system images, which would be generic, meaning that any kernel or system image could potentially run on any device. The device and vendor specific code are supposed to be contained to partitions such as /vendor_boot, /product, etc.
So, my thinking here is we may be able to manually update the kernel and/or system images on obsolete devices, thereby giving them a bit more life.
Your mission, if you choose to accept it, is to help me develop a way that older Android devices can be easily and painlessly updated to the latest Android builds.
Prerequisites:
Any Project Treble compliant device (Use this app to determine whether your device is compliant)
Unlocked bootloader
Knowledge of ADB/fastboot, device partitions, partition images, and what to do when something goes wrong
Now, the fun part.
Android Preview Generic System Image testing (should work on most devices)
Note: these builds are NOT up to date with current Pixel builds.
Download a Developer GSI release (make sure you're using the correct architecture for your device, use the GMS flavor if you want Gapps)
Extract system.img from the release zip and flash to /system (Not sure if vbmeta will be necessary)
More instructions here
AOSP Generic System Image testing
Note: These builds do NOT include GMS; you'll need to flash the GApps package of your choice. They ARE however updated continually.
Download a GSI from Android Continuous Integration:
master - Updated continuously. Builds below may be updated less frequently.
Android 13
Android 12
Android 11
Android 10
Extract system.img and flash to /system
If desired, flash the GApps package of your choice - unless someone can suggest otherwise, I believe this can only be done through TWRP
NikGapps
LiteGapps
MindTheGapps
Generic Kernel Image testing (may not work for all)
Download a Generic Kernel Image release that corresponds to your Android build (android12-5.10 is the 5.10 kernel for Android 12)
Extract boot.img from the release zip and flash to /boot
Pixel system "upgrade" (These are updated monthly, should work same as a GSI)
Download a full factory image for a newer device (Pixel 6, 7) from Factory Images for Nexus and Pixel Devices
DO NOT attempt to flash bootloader or radio images not intended for your device, this will result in a brick!
Extract system.img from the update image.zip and flash it to /system
Pixel feature "upgrade" (Most likely to have issues)
Download a full factory image for a newer device as described above
Again, DO NOT attempt to flash bootloader or radio images that are not for your device, this will result in a brick!
Extract system.img, system_ext.img, product.img from the update image.zip and flash them to their corresponding partitions
Feel free to try any one or combination of the above, and please share your results in this format:
Device
Original firmware/build
Type of experiment
Findings and notes
Other stuff:
To gain root, just patch your boot image in Magisk, then flash to /boot.
Samsung users: It's highly recommended that you use TWRP. However, if TWRP is not available, you can patch your stock recovery to enable Fastbootd, which will allow you to flash partitions directly from ADB command line.
Click to expand...
Click to collapse
This is very interesting. Definitely would like to see the results.
What command did you use to try to flash the system.img and did you try to flash from fastboot or fastbootd?
V0latyle said:
Tried some experimenting on my Pixel 2
Is it possible to use fastboot update to update the device using the zip? No, fastboot update apparently expects to see a full update image starting with boot.img. Android-info.txt can be blank
Flashing system.img directly failed too, probably requires resizing /system
Tried to use this guide to resize system. Ended up nuking something important, device would no longer boot any image due to an authentication failure. Tried to flash factory firmware, after flashing bootloader and commanding reboot device is now stuck in EDL mode...but doesn't respond to EDL commands. Maybe only Pixel 3 and above are GSI ready?
Click to expand...
Click to collapse
You typically have to erase your system.img before flashing a new one, as well as the other partitions you've listed
Yeedatoy said:
What command did you use to try to flash the system.img and did you try to flash from fastboot or fastbootd?
Click to expand...
Click to collapse
Bootloader
fastboot flash system <system.img>
Yeedatoy said:
You typically have to erase your system.img before flashing a new one, as well as the other partitions you've listed
Click to expand...
Click to collapse
Yeah, I tried this. Unfortunately nothing more I can do now, bootloader is corrupted
tested on gogole pixel (sailfish) all has fine i expand system partition from this guide https://forum.xda-developers.com/t/guide-expand-the-system-partition-on-pixel-xl-pixel.4097839/
eased system and boot and flashed new one but after that it bootloop
did some one try this generic kernel (boot.img) or it need to run em with disable dm-verity ?
loonbgg said:
all has fine i expand system partition from this guide https://forum.xda-developers.com/t/guide-expand-the-system-partition-on-pixel-xl-pixel.4097839/
eased system boot but after that flashed them but it bootlopp
did some one try this generic kernel (boot.img) or it need to run em with disable dm-verity ?
Click to expand...
Click to collapse
Please follow the format in the OP:
Device
Original firmware/build
Type of experiment
Findings and notes
Click to expand...
Click to collapse
I believe the GKI may include its own vbmeta image.
@ieatabiscuit Here's more information on GSIs, although I cannot emphasize enough how important it is to know what you're doing especially on devices that do not support Treble out of the box.
V0latyle said:
@ieatabiscuit Here's more information on GSIs, although I cannot emphasize enough how important it is to know what you're doing especially on devices that do not support Treble out of the box.
Click to expand...
Click to collapse
Doesn't all the pixels support Treble? At least that's what googling it says.
ieatabiscuit said:
Doesn't all the pixels support Treble? At least that's what googling it says.
Click to expand...
Click to collapse
I honestly do not know. I think it's only the Pixel 3 and up. The previous versions follow a similar format (ramdisk and kernel in boot partition) but either I'm an idiot or installing a GSI is more complicated than it is on Treble devices
Here's something that may help someone. It directly references a detail about the pixel2/2xl in troubleshooting.
ieatabiscuit said:
Here's something that may help someone. It directly references a detail about the pixel2/2xl in troubleshooting.
Click to expand...
Click to collapse
Good find.
I wish I hadn't bricked my Pixel 2...lol
I'll probably be doing this on my Pixel 5 when official support ends.
V0latyle said:
Good find.
I wish I hadn't bricked my Pixel 2...lol
I'll probably be doing this on my Pixel 5 when official support ends.
Click to expand...
Click to collapse
What are the differences between a GSI on your pixel 5 vs LOS on the same hardware? I have my 5 running LOS right now. When I tinker with my 2xl I'll post results, and what not.
ieatabiscuit said:
What are the differences between a GSI on your pixel 5 vs LOS on the same hardware? I have my 5 running LOS right now. When I tinker with my 2xl I'll post results, and what not.
Click to expand...
Click to collapse
A GSI does not include a kernel and is meant to be used "by itself" with the stock kernel. LineageOS is generally developed as a "whole" OS, including kernel and recovery, so it's not just a system image.
There are LOS GSIs though.
Device: Taimen
Firmware/build: OEM Dec build stock ROM/kernel
Experiment: Repartition and install GSI
Outcome: Soft brick with flashing system.img, but success repartitioning. Flashing a full ROM unbricks
ieatabiscuit said:
Device: Taimen
Firmware/build: OEM Dec build stock ROM/kernel
Experiment: Repartition and install GSI
Outcome: Soft brick with flashing system.img, but success repartitioning. Flashing a full ROM unbricks
Click to expand...
Click to collapse
Did you try booting TWRP to install the GSI?
V0latyle said:
Did you try booting TWRP to install the GSI?
Click to expand...
Click to collapse
Not yet, I'm trying that next
ieatabiscuit said:
Not yet, I'm trying that next
Click to expand...
Click to collapse
Same as doing it through fastboot: I get a system corrupted error, then it powers off/reboots to bootloader. Reflashing stock fixes this, and sets up for the next experiment.

❗📢🔔 Do you want to run the latest Android build? Are you brave? Help me test some theories. Project Lazarus! EXPERTS ONLY🔔📢❗

WARNING: This is an EXPERIMENT for EXPERTS ONLY and is NOT for beginners or the faint of heart. If results are good, a guide will be forthcoming to use these methods to update obsolete devices.
As many of us are aware, older devices often get left out in the cold when it comes to updates. Users of the Pixel series are well aware of this - devices are generally only supported for 3 years after their release. This means that users of the OG Pixel through the Pixel 4/4XL no longer receive any updates.
However, I think I may have found a way to get around this. To combat fragmentation, AOSP introduced Project Treble as a modular solution for Android builds on various devices. The idea here is that the device-specific software would be kept separate from the kernel and system images, which would be generic, meaning that any kernel or system image could potentially run on any device. The device and vendor specific code are supposed to be contained to partitions such as /vendor_boot, /product, etc.
So, my thinking here is we may be able to manually update the kernel and/or system images on obsolete devices, thereby giving them a bit more life.
Your mission, if you choose to accept it, is to help me develop a way that older Android devices can be easily and painlessly updated to the latest Android builds.
Prerequisites:
Any Project Treble compliant device (Use this app to determine whether your device is compliant)
Unlocked bootloader
Knowledge of ADB/fastboot, device partitions, partition images, and what to do when something goes wrong
Now, the fun part.
Android Preview Generic System Image testing (should work on most devices)
Note: these builds are NOT up to date with current Pixel builds.
Download a Developer GSI release (make sure you're using the correct architecture for your device, use the GMS flavor if you want Gapps)
Extract system.img from the release zip and flash to /system (Not sure if vbmeta will be necessary)
More instructions here
AOSP Generic System Image testing
Note: These builds do NOT include GMS; you'll need to flash the GApps package of your choice. They ARE however updated continually.
Download a GSI from Android Continuous Integration:
master - Updated continuously. Builds below may be updated less frequently.
Android 13
Android 12
Android 11
Android 10
Extract system.img and flash to /system
If desired, flash the GApps package of your choice - unless someone can suggest otherwise, I believe this can only be done through TWRP
NikGapps
LiteGapps
MindTheGapps
Generic Kernel Image testing (may not work for all)
Download a Generic Kernel Image release that corresponds to your Android build (android12-5.10 is the 5.10 kernel for Android 12)
Extract boot.img from the release zip and flash to /boot
Pixel system "upgrade" (These are updated monthly, should work same as a GSI)
Download a full factory image for a newer device (Pixel 6, 7) from Factory Images for Nexus and Pixel Devices
DO NOT attempt to flash bootloader or radio images not intended for your device, this will result in a brick!
Extract system.img from the update image.zip and flash it to /system
Pixel feature "upgrade" (Most likely to have issues)
Download a full factory image for a newer device as described above
Again, DO NOT attempt to flash bootloader or radio images that are not for your device, this will result in a brick!
Extract system.img, system_ext.img, product.img from the update image.zip and flash them to their corresponding partitions
Feel free to try any one or combination of the above, and please share your results in this format:
Device
Original firmware/build
Type of experiment
Findings and notes
Other stuff:
To gain root, just patch your boot image in Magisk, then flash to /boot.
Samsung users: It's highly recommended that you use TWRP. However, if TWRP is not available, you can patch your stock recovery to enable Fastbootd, which will allow you to flash partitions directly from ADB command line.
Tried some experimenting on my Pixel 2
Is it possible to use fastboot update to update the device using the zip? No, fastboot update apparently expects to see a full update image starting with boot.img. Android-info.txt can be blank
Flashing system.img directly failed too, probably requires resizing /system
Tried to use this guide to resize system. Ended up nuking something important, device would no longer boot any image due to an authentication failure. Tried to flash factory firmware, after flashing bootloader and commanding reboot device is now stuck in EDL mode...but doesn't respond to EDL commands. Maybe only Pixel 3 and above are GSI ready?
Invitations for expert input:
@Lughnasadh
@Az Biker
@Namelesswonder
@roirraW "edor" ehT
@ipdev
Feel free to tag anyone else you think can provide some input and answer questions on this, as well as point out when something obviously won't work[/user]
V0latyle said:
WARNING: This is an EXPERIMENT for EXPERTS ONLY and is NOT for beginners or the faint of heart. If results are good, a guide will be forthcoming to use these methods to update obsolete devices.
As many of us are aware, older devices often get left out in the cold when it comes to updates. Users of the Pixel series are well aware of this - devices are generally only supported for 3 years after their release. This means that users of the OG Pixel through the Pixel 4/4XL no longer receive any updates.
However, I think I may have found a way to get around this. To combat fragmentation, AOSP introduced Project Treble as a modular solution for Android builds on various devices. The idea here is that the device-specific software would be kept separate from the kernel and system images, which would be generic, meaning that any kernel or system image could potentially run on any device. The device and vendor specific code are supposed to be contained to partitions such as /vendor_boot, /product, etc.
So, my thinking here is we may be able to manually update the kernel and/or system images on obsolete devices, thereby giving them a bit more life.
Your mission, if you choose to accept it, is to help me develop a way that older Android devices can be easily and painlessly updated to the latest Android builds.
Prerequisites:
Any Project Treble compliant device (Use this app to determine whether your device is compliant)
Unlocked bootloader
Knowledge of ADB/fastboot, device partitions, partition images, and what to do when something goes wrong
Now, the fun part.
Android Preview Generic System Image testing (should work on most devices)
Note: these builds are NOT up to date with current Pixel builds.
Download a Developer GSI release (make sure you're using the correct architecture for your device, use the GMS flavor if you want Gapps)
Extract system.img from the release zip and flash to /system (Not sure if vbmeta will be necessary)
More instructions here
AOSP Generic System Image testing
Note: These builds do NOT include GMS; you'll need to flash the GApps package of your choice. They ARE however updated continually.
Download a GSI from Android Continuous Integration:
master - Updated continuously. Builds below may be updated less frequently.
Android 13
Android 12
Android 11
Android 10
Extract system.img and flash to /system
If desired, flash the GApps package of your choice - unless someone can suggest otherwise, I believe this can only be done through TWRP
NikGapps
LiteGapps
MindTheGapps
Generic Kernel Image testing (may not work for all)
Download a Generic Kernel Image release that corresponds to your Android build (android12-5.10 is the 5.10 kernel for Android 12)
Extract boot.img from the release zip and flash to /boot
Pixel system "upgrade" (These are updated monthly, should work same as a GSI)
Download a full factory image for a newer device (Pixel 6, 7) from Factory Images for Nexus and Pixel Devices
DO NOT attempt to flash bootloader or radio images not intended for your device, this will result in a brick!
Extract system.img from the update image.zip and flash it to /system
Pixel feature "upgrade" (Most likely to have issues)
Download a full factory image for a newer device as described above
Again, DO NOT attempt to flash bootloader or radio images that are not for your device, this will result in a brick!
Extract system.img, system_ext.img, product.img from the update image.zip and flash them to their corresponding partitions
Feel free to try any one or combination of the above, and please share your results in this format:
Device
Original firmware/build
Type of experiment
Findings and notes
Other stuff:
To gain root, just patch your boot image in Magisk, then flash to /boot.
Samsung users: It's highly recommended that you use TWRP. However, if TWRP is not available, you can patch your stock recovery to enable Fastbootd, which will allow you to flash partitions directly from ADB command line.
Click to expand...
Click to collapse
This is very interesting. Definitely would like to see the results.
What command did you use to try to flash the system.img and did you try to flash from fastboot or fastbootd?
V0latyle said:
Tried some experimenting on my Pixel 2
Is it possible to use fastboot update to update the device using the zip? No, fastboot update apparently expects to see a full update image starting with boot.img. Android-info.txt can be blank
Flashing system.img directly failed too, probably requires resizing /system
Tried to use this guide to resize system. Ended up nuking something important, device would no longer boot any image due to an authentication failure. Tried to flash factory firmware, after flashing bootloader and commanding reboot device is now stuck in EDL mode...but doesn't respond to EDL commands. Maybe only Pixel 3 and above are GSI ready?
Click to expand...
Click to collapse
You typically have to erase your system.img before flashing a new one, as well as the other partitions you've listed
Yeedatoy said:
What command did you use to try to flash the system.img and did you try to flash from fastboot or fastbootd?
Click to expand...
Click to collapse
Bootloader
fastboot flash system <system.img>
Yeedatoy said:
You typically have to erase your system.img before flashing a new one, as well as the other partitions you've listed
Click to expand...
Click to collapse
Yeah, I tried this. Unfortunately nothing more I can do now, bootloader is corrupted
tested on gogole pixel (sailfish) all has fine i expand system partition from this guide https://forum.xda-developers.com/t/guide-expand-the-system-partition-on-pixel-xl-pixel.4097839/
eased system and boot and flashed new one but after that it bootloop
did some one try this generic kernel (boot.img) or it need to run em with disable dm-verity ?
loonbgg said:
all has fine i expand system partition from this guide https://forum.xda-developers.com/t/guide-expand-the-system-partition-on-pixel-xl-pixel.4097839/
eased system boot but after that flashed them but it bootlopp
did some one try this generic kernel (boot.img) or it need to run em with disable dm-verity ?
Click to expand...
Click to collapse
Please follow the format in the OP:
Device
Original firmware/build
Type of experiment
Findings and notes
Click to expand...
Click to collapse
I believe the GKI may include its own vbmeta image.
@ieatabiscuit Here's more information on GSIs, although I cannot emphasize enough how important it is to know what you're doing especially on devices that do not support Treble out of the box.
V0latyle said:
@ieatabiscuit Here's more information on GSIs, although I cannot emphasize enough how important it is to know what you're doing especially on devices that do not support Treble out of the box.
Click to expand...
Click to collapse
Doesn't all the pixels support Treble? At least that's what googling it says.
ieatabiscuit said:
Doesn't all the pixels support Treble? At least that's what googling it says.
Click to expand...
Click to collapse
I honestly do not know. I think it's only the Pixel 3 and up. The previous versions follow a similar format (ramdisk and kernel in boot partition) but either I'm an idiot or installing a GSI is more complicated than it is on Treble devices
Here's something that may help someone. It directly references a detail about the pixel2/2xl in troubleshooting.
ieatabiscuit said:
Here's something that may help someone. It directly references a detail about the pixel2/2xl in troubleshooting.
Click to expand...
Click to collapse
Good find.
I wish I hadn't bricked my Pixel 2...lol
I'll probably be doing this on my Pixel 5 when official support ends.
V0latyle said:
Good find.
I wish I hadn't bricked my Pixel 2...lol
I'll probably be doing this on my Pixel 5 when official support ends.
Click to expand...
Click to collapse
What are the differences between a GSI on your pixel 5 vs LOS on the same hardware? I have my 5 running LOS right now. When I tinker with my 2xl I'll post results, and what not.
ieatabiscuit said:
What are the differences between a GSI on your pixel 5 vs LOS on the same hardware? I have my 5 running LOS right now. When I tinker with my 2xl I'll post results, and what not.
Click to expand...
Click to collapse
A GSI does not include a kernel and is meant to be used "by itself" with the stock kernel. LineageOS is generally developed as a "whole" OS, including kernel and recovery, so it's not just a system image.
There are LOS GSIs though.
Device: Taimen
Firmware/build: OEM Dec build stock ROM/kernel
Experiment: Repartition and install GSI
Outcome: Soft brick with flashing system.img, but success repartitioning. Flashing a full ROM unbricks
ieatabiscuit said:
Device: Taimen
Firmware/build: OEM Dec build stock ROM/kernel
Experiment: Repartition and install GSI
Outcome: Soft brick with flashing system.img, but success repartitioning. Flashing a full ROM unbricks
Click to expand...
Click to collapse
Did you try booting TWRP to install the GSI?
V0latyle said:
Did you try booting TWRP to install the GSI?
Click to expand...
Click to collapse
Not yet, I'm trying that next
ieatabiscuit said:
Not yet, I'm trying that next
Click to expand...
Click to collapse
Same as doing it through fastboot: I get a system corrupted error, then it powers off/reboots to bootloader. Reflashing stock fixes this, and sets up for the next experiment.

❗📢🔔 Do you want to run the latest Android build? Are you brave? Help me test some theories. Project Lazarus! EXPERTS ONLY🔔📢❗

WARNING: This is an EXPERIMENT for EXPERTS ONLY and is NOT for beginners or the faint of heart. If results are good, a guide will be forthcoming to use these methods to update obsolete devices.
As many of us are aware, older devices often get left out in the cold when it comes to updates. Users of the Pixel series are well aware of this - devices are generally only supported for 3 years after their release. This means that users of the OG Pixel through the Pixel 4/4XL no longer receive any updates.
However, I think I may have found a way to get around this. To combat fragmentation, AOSP introduced Project Treble as a modular solution for Android builds on various devices. The idea here is that the device-specific software would be kept separate from the kernel and system images, which would be generic, meaning that any kernel or system image could potentially run on any device. The device and vendor specific code are supposed to be contained to partitions such as /vendor_boot, /product, etc.
So, my thinking here is we may be able to manually update the kernel and/or system images on obsolete devices, thereby giving them a bit more life.
Your mission, if you choose to accept it, is to help me develop a way that older Android devices can be easily and painlessly updated to the latest Android builds.
Prerequisites:
Any Project Treble compliant device (Use this app to determine whether your device is compliant)
Unlocked bootloader
Knowledge of ADB/fastboot, device partitions, partition images, and what to do when something goes wrong
Now, the fun part.
Android Preview Generic System Image testing (should work on most devices)
Note: these builds are NOT up to date with current Pixel builds.
Download a Developer GSI release (make sure you're using the correct architecture for your device, use the GMS flavor if you want Gapps)
Extract system.img from the release zip and flash to /system (Not sure if vbmeta will be necessary)
More instructions here
AOSP Generic System Image testing
Note: These builds do NOT include GMS; you'll need to flash the GApps package of your choice. They ARE however updated continually.
Download a GSI from Android Continuous Integration:
master - Updated continuously. Builds below may be updated less frequently.
Android 13
Android 12
Android 11
Android 10
Extract system.img and flash to /system
If desired, flash the GApps package of your choice - unless someone can suggest otherwise, I believe this can only be done through TWRP
NikGapps
LiteGapps
MindTheGapps
Generic Kernel Image testing (may not work for all)
Download a Generic Kernel Image release that corresponds to your Android build (android12-5.10 is the 5.10 kernel for Android 12)
Extract boot.img from the release zip and flash to /boot
Pixel system "upgrade" (These are updated monthly, should work same as a GSI)
Download a full factory image for a newer device (Pixel 6, 7) from Factory Images for Nexus and Pixel Devices
DO NOT attempt to flash bootloader or radio images not intended for your device, this will result in a brick!
Extract system.img from the update image.zip and flash it to /system
Pixel feature "upgrade" (Most likely to have issues)
Download a full factory image for a newer device as described above
Again, DO NOT attempt to flash bootloader or radio images that are not for your device, this will result in a brick!
Extract system.img, system_ext.img, product.img from the update image.zip and flash them to their corresponding partitions
Feel free to try any one or combination of the above, and please share your results in this format:
Device
Original firmware/build
Type of experiment
Findings and notes
Other stuff:
To gain root, just patch your boot image in Magisk, then flash to /boot.
Samsung users: It's highly recommended that you use TWRP. However, if TWRP is not available, you can patch your stock recovery to enable Fastbootd, which will allow you to flash partitions directly from ADB command line.
Tried some experimenting on my Pixel 2
Is it possible to use fastboot update to update the device using the zip? No, fastboot update apparently expects to see a full update image starting with boot.img. Android-info.txt can be blank
Flashing system.img directly failed too, probably requires resizing /system
Tried to use this guide to resize system. Ended up nuking something important, device would no longer boot any image due to an authentication failure. Tried to flash factory firmware, after flashing bootloader and commanding reboot device is now stuck in EDL mode...but doesn't respond to EDL commands. Maybe only Pixel 3 and above are GSI ready?
Invitations for expert input:
@Lughnasadh
@Az Biker
@Namelesswonder
@roirraW "edor" ehT
@ipdev
Feel free to tag anyone else you think can provide some input and answer questions on this, as well as point out when something obviously won't work[/user]
V0latyle said:
WARNING: This is an EXPERIMENT for EXPERTS ONLY and is NOT for beginners or the faint of heart. If results are good, a guide will be forthcoming to use these methods to update obsolete devices.
As many of us are aware, older devices often get left out in the cold when it comes to updates. Users of the Pixel series are well aware of this - devices are generally only supported for 3 years after their release. This means that users of the OG Pixel through the Pixel 4/4XL no longer receive any updates.
However, I think I may have found a way to get around this. To combat fragmentation, AOSP introduced Project Treble as a modular solution for Android builds on various devices. The idea here is that the device-specific software would be kept separate from the kernel and system images, which would be generic, meaning that any kernel or system image could potentially run on any device. The device and vendor specific code are supposed to be contained to partitions such as /vendor_boot, /product, etc.
So, my thinking here is we may be able to manually update the kernel and/or system images on obsolete devices, thereby giving them a bit more life.
Your mission, if you choose to accept it, is to help me develop a way that older Android devices can be easily and painlessly updated to the latest Android builds.
Prerequisites:
Any Project Treble compliant device (Use this app to determine whether your device is compliant)
Unlocked bootloader
Knowledge of ADB/fastboot, device partitions, partition images, and what to do when something goes wrong
Now, the fun part.
Android Preview Generic System Image testing (should work on most devices)
Note: these builds are NOT up to date with current Pixel builds.
Download a Developer GSI release (make sure you're using the correct architecture for your device, use the GMS flavor if you want Gapps)
Extract system.img from the release zip and flash to /system (Not sure if vbmeta will be necessary)
More instructions here
AOSP Generic System Image testing
Note: These builds do NOT include GMS; you'll need to flash the GApps package of your choice. They ARE however updated continually.
Download a GSI from Android Continuous Integration:
master - Updated continuously. Builds below may be updated less frequently.
Android 13
Android 12
Android 11
Android 10
Extract system.img and flash to /system
If desired, flash the GApps package of your choice - unless someone can suggest otherwise, I believe this can only be done through TWRP
NikGapps
LiteGapps
MindTheGapps
Generic Kernel Image testing (may not work for all)
Download a Generic Kernel Image release that corresponds to your Android build (android12-5.10 is the 5.10 kernel for Android 12)
Extract boot.img from the release zip and flash to /boot
Pixel system "upgrade" (These are updated monthly, should work same as a GSI)
Download a full factory image for a newer device (Pixel 6, 7) from Factory Images for Nexus and Pixel Devices
DO NOT attempt to flash bootloader or radio images not intended for your device, this will result in a brick!
Extract system.img from the update image.zip and flash it to /system
Pixel feature "upgrade" (Most likely to have issues)
Download a full factory image for a newer device as described above
Again, DO NOT attempt to flash bootloader or radio images that are not for your device, this will result in a brick!
Extract system.img, system_ext.img, product.img from the update image.zip and flash them to their corresponding partitions
Feel free to try any one or combination of the above, and please share your results in this format:
Device
Original firmware/build
Type of experiment
Findings and notes
Other stuff:
To gain root, just patch your boot image in Magisk, then flash to /boot.
Samsung users: It's highly recommended that you use TWRP. However, if TWRP is not available, you can patch your stock recovery to enable Fastbootd, which will allow you to flash partitions directly from ADB command line.
Click to expand...
Click to collapse
This is very interesting. Definitely would like to see the results.
What command did you use to try to flash the system.img and did you try to flash from fastboot or fastbootd?
V0latyle said:
Tried some experimenting on my Pixel 2
Is it possible to use fastboot update to update the device using the zip? No, fastboot update apparently expects to see a full update image starting with boot.img. Android-info.txt can be blank
Flashing system.img directly failed too, probably requires resizing /system
Tried to use this guide to resize system. Ended up nuking something important, device would no longer boot any image due to an authentication failure. Tried to flash factory firmware, after flashing bootloader and commanding reboot device is now stuck in EDL mode...but doesn't respond to EDL commands. Maybe only Pixel 3 and above are GSI ready?
Click to expand...
Click to collapse
You typically have to erase your system.img before flashing a new one, as well as the other partitions you've listed
Yeedatoy said:
What command did you use to try to flash the system.img and did you try to flash from fastboot or fastbootd?
Click to expand...
Click to collapse
Bootloader
fastboot flash system <system.img>
Yeedatoy said:
You typically have to erase your system.img before flashing a new one, as well as the other partitions you've listed
Click to expand...
Click to collapse
Yeah, I tried this. Unfortunately nothing more I can do now, bootloader is corrupted
tested on gogole pixel (sailfish) all has fine i expand system partition from this guide https://forum.xda-developers.com/t/guide-expand-the-system-partition-on-pixel-xl-pixel.4097839/
eased system and boot and flashed new one but after that it bootloop
did some one try this generic kernel (boot.img) or it need to run em with disable dm-verity ?
loonbgg said:
all has fine i expand system partition from this guide https://forum.xda-developers.com/t/guide-expand-the-system-partition-on-pixel-xl-pixel.4097839/
eased system boot but after that flashed them but it bootlopp
did some one try this generic kernel (boot.img) or it need to run em with disable dm-verity ?
Click to expand...
Click to collapse
Please follow the format in the OP:
Device
Original firmware/build
Type of experiment
Findings and notes
Click to expand...
Click to collapse
I believe the GKI may include its own vbmeta image.
@ieatabiscuit Here's more information on GSIs, although I cannot emphasize enough how important it is to know what you're doing especially on devices that do not support Treble out of the box.
V0latyle said:
@ieatabiscuit Here's more information on GSIs, although I cannot emphasize enough how important it is to know what you're doing especially on devices that do not support Treble out of the box.
Click to expand...
Click to collapse
Doesn't all the pixels support Treble? At least that's what googling it says.
ieatabiscuit said:
Doesn't all the pixels support Treble? At least that's what googling it says.
Click to expand...
Click to collapse
I honestly do not know. I think it's only the Pixel 3 and up. The previous versions follow a similar format (ramdisk and kernel in boot partition) but either I'm an idiot or installing a GSI is more complicated than it is on Treble devices
Here's something that may help someone. It directly references a detail about the pixel2/2xl in troubleshooting.
ieatabiscuit said:
Here's something that may help someone. It directly references a detail about the pixel2/2xl in troubleshooting.
Click to expand...
Click to collapse
Good find.
I wish I hadn't bricked my Pixel 2...lol
I'll probably be doing this on my Pixel 5 when official support ends.
V0latyle said:
Good find.
I wish I hadn't bricked my Pixel 2...lol
I'll probably be doing this on my Pixel 5 when official support ends.
Click to expand...
Click to collapse
What are the differences between a GSI on your pixel 5 vs LOS on the same hardware? I have my 5 running LOS right now. When I tinker with my 2xl I'll post results, and what not.
ieatabiscuit said:
What are the differences between a GSI on your pixel 5 vs LOS on the same hardware? I have my 5 running LOS right now. When I tinker with my 2xl I'll post results, and what not.
Click to expand...
Click to collapse
A GSI does not include a kernel and is meant to be used "by itself" with the stock kernel. LineageOS is generally developed as a "whole" OS, including kernel and recovery, so it's not just a system image.
There are LOS GSIs though.
Device: Taimen
Firmware/build: OEM Dec build stock ROM/kernel
Experiment: Repartition and install GSI
Outcome: Soft brick with flashing system.img, but success repartitioning. Flashing a full ROM unbricks
ieatabiscuit said:
Device: Taimen
Firmware/build: OEM Dec build stock ROM/kernel
Experiment: Repartition and install GSI
Outcome: Soft brick with flashing system.img, but success repartitioning. Flashing a full ROM unbricks
Click to expand...
Click to collapse
Did you try booting TWRP to install the GSI?
V0latyle said:
Did you try booting TWRP to install the GSI?
Click to expand...
Click to collapse
Not yet, I'm trying that next
ieatabiscuit said:
Not yet, I'm trying that next
Click to expand...
Click to collapse
Same as doing it through fastboot: I get a system corrupted error, then it powers off/reboots to bootloader. Reflashing stock fixes this, and sets up for the next experiment.

Categories

Resources