Related
This thread is a direct continuation of @Hashcode's work for porting to Lollipop. Because of his and @verygreen's heavy lifting, porting to CM12.1 happened almost painlessly, for which I'm grateful. Their contributions compelled me to share something back. Thus, I'm uploading personal builds of CM12.1 for HD and HD+ in this shared Box folder. While I do not own a hummingbird, sister builds are generated more or less concomitantly.
Some of the important device-specific changes from KitKat/CM11 are described in Hashcode's thread. The goal is to keep as close as possible to CM upstream, and integrate whatever fixes and enhancements we find over time. More progress information will be added here gradually, as I have time. A lot of useful discussion happened on the CM12.0 thread, and the status of things is available to anyone willing to search. Hunting for possible bug fixes, understanding how to actually boot a newer kernel are some of my current priorities. I am not a developer, and the usual disclaimers apply.
Recovery Information
Up to date eMMC TWRP images are included in the respective device folders. Personally, I've had a good experience with TWRP, and do not plan on looking at other recovery distributions. Now, there have been (very) sporadic reports of broken partition tables, soft-bricked devices, etc, blamed on recovery. Although recovery is usually not the actual culprit, here are some ways you can rescue a completely unresponsive device:
It's a good idea to keep a microSD card around, with verygreen's external recovery image from here.
Once booted off the external recovery, you can easily fix whatever is broken (ADB is your friend here). There's no need to re-install CM11, as re-flashing recovery and/or boot will most likely fix your issue.
Recovery partition: dd if=<path to recovery image> of=/dev/block/platform/omap/omap_hsmmc.1/by-name/recovery
Boot partition: dd if=<path to boot/kernel image> of=/dev/block/platform/omap/omap_hsmmc.1/by-name/boot
Afterwards, you should at the very least have a working internal recovery. I don't recall any instance where /system and/or /data became corrupted because of recovery, but you can certainly fix them now.
I've never tested this part, but I believe that you may be able to install an eMMC CM12 ZIP with verygreen's external CWM, even if /data and /cache are F2FS (assuming you copied all ZIPs onto the external card). My understanding is that only /dev/block/platform/omap/omap_hsmmc.1/by-name/system (always ext4, mountable by any recovery) is touched during installation, so you may even bypass TWRP completely.
P.S. If you broke you bootloader by flashing the wrong recovery flavor, despite all images being clearly labeled as hummingbird or ovation, well, no sympathy for you… Still, you can bring your device back to life within minutes as described above.
Progress towards Official CM12 Nightlies
As of now, most things are ready for turning official nightlies on, including official TWRP images and SELinux Enforcing support, albeit with this proviso:
My HW composer changes described in post #3 and #602 are not included upstream, since the plan was to fix upstream for all devices using CyanogenMod/android_hardware_ti_omap4.
The stumbling block with SELinux Enforcing had been remounting /system upon each new install, to write the customized WLAN NVS BIN. I'm avoiding this step by modifying the scripts to store the Wi-Fi calibration data in /rom now, with the added benefit that it only needs to be generated once. These changes are also not captured upstream, and may never be. If someone figures out an upstream-approved way of writing to /system upon first boot under Enforcing, then we'll probably switch back to the old fix-mac script.
On a personal note, posting on my threads is pretty tricky business... My builds were never intended for general consumption, but rather a way to move porting and development forward, and I often debate only keeping the GitHub repositories for people to build themselves. Obviously, that would upset hundreds of people at this point, so I make an effort to upload reasonably bug-free builds, as well as help even with trivial non-problems whenever I can. Nevertheless, low quality, or badly written posts (and I don't mean bad English) are a sure way to get ignored, and my memory is pretty long term Basically, I won't police content here, but I also don't want to deal with the the kind of stupidity and entitlement so prevalent in real life.
In conclusion, no need to thank (unless you really want to), or ask about donating, etc, but do reassess the limits of your current understanding before making bold claims, as I do too. Nothing worse than having to fix a trail of misinformation... Also, comparisons to other people's work (unless constructive), complains about the state of things, or simply starting with "no offense" and such, will make your problem much less likely to be solved by me.
XDA:DevDB Information
UNOFFICIAL CM12.1, ROM for the Barnes & Noble Nook HD, HD
Contributors
amaces, Hashcode, verygreen, Jon Lee
Source Code: http://github.com/airend
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.0.x
Version Information
Status: Testing
Created 2015-04-16
Last Updated 2015-09-14
All Things Kernel
The information below (branch names, kernel progress, etc) is slowly becoming out of date (post #2 in the Marshmallow thread has more details). Although it feels pretty archaic at this point, I'm leaving this information here, mostly for historical reasons.
My primary focus has been and continues to be an even better kernel. Instead of opening a separate thread, I will be using this space for kernel updates and related information, in a sort of log format.
Since making any of the fancier OMAP-specific kernel trees work properly is a huge headache with limited benefits, I just merged the linux-3.0.101 patches, mainly for testing (the d-3.0 branch). These patches may help with the ARM core, not so much with OMAP parts, and certainly no change to any of the Nook-specific systems. Subjectively, the normal kernel still feels marginally more stable, but hey, everything still works.
It's mid May, and for the past couple of weeks, branch g-3.0 has slowly become my default kernel. It contains additional merges from the Google 3.0 OMAP kernel, the .101 commits, plus cherry-picked changes from various sources. Hopefully, all these make for a better kernel, although the holy grail remains K3.4…
I've been experimenting with improvements upon KSM; UKSM and PKSM are supposed to better recover duplicated/lost RAM (the former in the default g-3.0 branch, the latter in p-3.0). As with KSM, they need to be enabled (and optimally tuned) through the sysfs interface (echo 1 > /sys/kernel/mm/[up]ksm/run).
A significant number of patches were added for LZ4 support, and to make zram/zcache actually use it. I think it makes things snappier, but we'll have to wait and see. Also, it turns out that good old KSM is better after all; PKSM creates instability, and UKSM is a lot more CPU hungry, very much undesired on an already underpowered device.
Another exciting week for K3.0… @Hashcode uploaded a bunch of LMK/low RAM/etc optimizations for some AMZ/OMAP44xx variants, which I'm stealing for the HDs. As I'm better understanding the use of MFLAG/QOS for frame prioritization, I ported some of these changes from K3.4. The most exciting however, is the DMA-buffered K3.0 that I have working (branch dma-buf). It definitely feels better, although figuring out how to completely switch away from memory carveouts, fix the communication with OMX/Ducati for HW accelerated video, is complicated. This branch will remain an experimental project till K3.4 is up and running.
Just for testing, I'm rebasing most of my changes on top of the official CM12.1 kernel, and made the new iosched branch default for a while. This branch contains many changes to the block layer, cherry-picked from @faux123's tuna kernel. We now have newer I/O schedulers, such as FIOPS, ROW, and eventually BFQ. The current default elevator is ROW with 256 KB readahead. A few other interesting patches popped up, mainly related to unaligned access on ARM, and related optimizations.
Since July, all changes are grouped into feature branches on top of the upstream kernel, which are finally merged into the cm-12 branch, the default for the foreseeable future. This way of doing things is easier to maintain, and makes these changes easier to read, when deciding what to keep/discard for upstream.
HW Composer Issues & Fixes
The goal, and probably one of the base requirements to have these devices included in the CM12 nightlies, is to have a stable ROM with normal HW accelerated overlays. As of now, we achieved this by mostly reverting to the HW composer in CM11, although understanding why the newer code in hardware/ti/omap4 creates these underflows is equally important. Post #602 contains more information about this issue.
Starting with the July 14th builds, disabling HW overlays shouldn't be necessary any longer.
Before mid-July, we were using the upstream HWC in CyanogenMod/android_hardware_ti_omap4. As discussed ad nauseam, that combination of upstream K3.0/PVR modules/SGX DDK binaries/HWC runs into serious GFX buffer underflows. With five or more composer overlays, the panel attempts to reset constantly, which causes display flickers, followed by reboot (dumpsys SurfaceFlinger|grep -A 10 type will show how consistent this bug is).
In the meantime, a poor workaround was to disable HW overlays in Developer options. To make it stick across reboots, you could use this /data/local/userinit.sh:
Code:
#!/system/bin/sh
(while :
do
sf=$(service list | grep -c "SurfaceFlinger")
if [ $sf -eq 1 ]
then
service call SurfaceFlinger 1008 i32 1
break
else
sleep 2
fi
done
) &
First!!! Great to see you start your own thread. Thanks for all the great work
ac-t660 said:
If I have the 3/24 ROM already installed, should I dirty-flash the 4/8 version or do I need to reset and fresh install it in order to properly get the changes?
And like everybody else has said - thanks amaces and hashcode, incredible job!
Click to expand...
Click to collapse
Doh! I must have been typing my question as you were creating this new thread. Moving it since you and everyone using your builds are moving over here. Thanks again!
Based on this, I'd say that should be possible soon, if not already. However, that wasn't the case with the initial builds. I'd say no harm wiping just /system, and maybe /cache, flashing a CM12.1 ZIP, plus the proper GApps, and see how it goes.
Thanks!
I've flashed your 8 Apr build, and it (mostly) looks good. I still get the occasional forced reboots after some flickering. The flickering tends to occur when changing from portrait to landscape and pulling down the settings bar.
I very much look forward to see some progression.
Can you provide some instructions with installing TWRP on the HD+? I have Cyanoboot installed and flashed your build using CWM recovery.
Thanks.
In response to this post in the 12.0 thread.
amaces said:
The changelog would basically be the CM12.1 one
Click to expand...
Click to collapse
Great, so can you point to the latest CM12.1 commit that you've included when you make a release? Knowing the date doesn't pin it down completely.
amaces said:
About the ovation kernels, those images were for CM12.0, and while they may work with current builds (for reasons stated above), they don't provide any benefit anymore.
Click to expand...
Click to collapse
So we should use our original boot/kernel images?
Thanks!!
Hey amaces,
Thanks so much for the 12.1 builds. On the 4/4 build and will be testing out the 4/8 build over the weekend.
Thanks!!
shdware said:
Can you provide some instructions with installing TWRP on the HD+? I have Cyanoboot installed and flashed your build using CWM recovery.
Click to expand...
Click to collapse
Flashify can do that for you inside the ROM, or you could dd if=recovery.img of=/dev/block/platform/omap/omap_hsmmc.1/by-name/recovery inside adb shell or terminal. Also, current TWRP allows flashing of boot/recovery images directly.
MossyTC said:
Great, so can you point to the latest CM12.1 commit that you've included when you make a release? Knowing the date doesn't pin it down completely.
Click to expand...
Click to collapse
Sure, can do, although that kind of tagging needs to be thought out. I could simply append the CM review change number, but that's not very useful since most changes are in repositories that don't affect our devices. I'll look if anyone found a good way to do it (frankly, I don't recall seeing it done).
MossyTC said:
So we should use our original boot/kernel images?
Click to expand...
Click to collapse
The ROMs come with their own kernel. Those independent kernels were simply testing a few patches for the buffer underflow/flickering issues, and were meant for easy swapping within compatible CM12.0 builds.
Hi amaces,
I had done the 5.0 build, what do I need to do in order to pull in the 5.1?
TIA
andtron said:
Hi amaces,
I had done the 5.0 build, what do I need to do in order to pull in the 5.1?
TIA
Click to expand...
Click to collapse
I think it's better to backup your apps (I use titanium), do a full wipe and then install the 5.1 rom and gapps.
I am running the 04/08 and it is working fine except one major problem that is the bane of Android everywhere since kitkat...
It keeps telling me I have insufficient storage space to do anything, update apps or install new apps, and there are hardly any apps on the device.
When I go to Settings -> Storage it says total space 12.67GB but "Available" is only 700MB, which doesn't add up and doesn't agree with the graph.
I have:
Apps 0.92GB
Pictures, videos 5.62MB
Audio 296KB
Downloads 1.20GB
Cached data 1.24MB
Misc 1.65GB
Adding that up is just under 3.8GB total so I should have about 8.9GB free, but it only reports 700MB.
Something is wrong with the free space calculation. Any help here? This wasn't a problem on the previous CM12.
BTW I did a clean install (full system wipe) before installing the CM12.1.
Any help is appreciated. I am at my wit's end on this issue.
Thanks Tschumi.
My question is more on how to pull the sources and build the 5.1 myself.
mr72 said:
I am running the 04/08 and it is working fine except one major problem that is the bane of Android everywhere since kitkat...
It keeps telling me I have insufficient storage space to do anything, update apps or install new apps, and there are hardly any apps on the device.
When I go to Settings -> Storage it says total space 12.67GB but "Available" is only 700MB, which doesn't add up and doesn't agree with the graph.
[…] Adding that up is just under 3.8GB total so I should have about 8.9GB free, but it only reports 700MB.
Something is wrong with the free space calculation. Any help here? This wasn't a problem on the previous CM12.
BTW I did a clean install (full system wipe) before installing the CM12.1.
Any help is appreciated. I am at my wit's end on this issue.
Click to expand...
Click to collapse
That must be… frustrating. So, you're saying this happened on CM11, then CM12.0 was fine, and now the bug is back on CM12.1? There are a couple of unusual/puzzling issues that people report, including the reboot-instead-of-poweroff bug. Never having experienced these, it's hard to figure out the cause, but I'll keep it in mind.
andtron said:
My question is more on how to pull the sources and build the 5.1 myself.
Click to expand...
Click to collapse
These days, it's very easy; you simply upgrade your LP5.0/CM12.0 sources with: repo init -u git://github.com/CyanogenMod/android.git -b cm-12.1
mr72 said:
I am running the 04/08 and it is working fine except one major problem that is the bane of Android everywhere since kitkat...
It keeps telling me I have insufficient storage space to do anything, update apps or install new apps, and there are hardly any apps on the device.
BTW I did a clean install (full system wipe) before installing the CM12.1.
Any help is appreciated. I am at my wit's end on this issue.
Click to expand...
Click to collapse
I think it has something to do with updating from stock to cm. Go to 'terminal emulator' app, type 'su' then 'df'. Let us know what is the output.
Also, backup all your data. Do you mind clean install again? Which recovery are you using? If you convert your data partition to F2FS I'm sure it'll fix it. Not because F2FS will fix it, but because converting it to F2FS will format the entire /data partition (including the virtual /sdcard). There might be old files downloaded when you used stock rom.
extrem0 said:
...If you convert your data partition to F2FS...
Click to expand...
Click to collapse
Quick question, how does one go about converting the partition to f2fs on the ovation? I've done a couple searches but can't find anything definitive such as which recovery I should have installed and if it is a zip that I would need to flash.
Thanks!
J-Pod said:
Quick question, how does one go about converting the partition to f2fs on the ovation? I've done a couple searches but can't find anything definitive such as which recovery I should have installed and if it is a zip that I would need to flash.
Thanks!
Click to expand...
Click to collapse
I did it using twrp recovery 2.8.6.0 built by amaces. There's an option that allows you to convert some partitions to f2fs. Remember, it will erase all your files in your nook. Do a backup of your files before converting to f2fs.
J-Pod said:
Quick question, how does one go about converting the partition to f2fs on the ovation? I've done a couple searches but can't find anything definitive such as which recovery I should have installed and if it is a zip that I would need to flash.
Thanks!
Click to expand...
Click to collapse
Using @amaces TWRP, go to Wipe, check the data box, select "advanced wipe then it's something like " repair file system". I'm sure you can figure it from that.
I DONT TAKE ANY WARRANTY WHATSOEVER IN ANY DAMAGE THAT MAY RESULT IN FOLLOWING THIS GUIDE OR USING THE SOFTWARE, ROM IN QUESTION, IN ANY WAY, MAY IT BE AS INTENDED OR NOT. IF YOU HAVE ANY FEELING YOU COULD END UP SUING ME FOR RISKS *YOU ALONE* ACCEPTED TO TAKE, YOU SHOULD IMMEDIATELY STEP BACK AND LEAVE THIS POST, ALL THE OTHERS: BE CAREFUL. YOU WILL LOSE ALL OF THE DATA ON YOUR PHONE'S USERDATA, CACHE AND SYSTEM PARTITION AND THE PHONE WILL BE FACTORY RESET!
STOCK FIRMWARE INSTALLER: https://support.wikomobile.com/maj/Lenny5_OPE_V34.zip <-- if you brick your device.
Hey folks
This is just a brief explanation on how i built this ROM, a complete guide to building the rom may be published at a later point in time. For the Downloads, go to the Links section. The flashing guide will be focused on Lenny 5, but the image may work on other treble-enabled devices, too, so feel free to try and report if your device works with this build.
Build variant: arm-aonly-floss-su-userdebug
If there's interest in other build variants (specifically with microg and floss - fdroid, moz-nlp, openweatherprovider - implemented), ask me, i will do my best.
Build description:
I have an old Wiko Lenny 5 around here and wanted to use it as a Kodi Remote etc. at home, but didn't want to use their stock ROM. Also i wanted some freedom in using my device, specifically a rooted device and microg implementation. After trying to build TWRP with no success and the Wiko Build information being massively outdated i then focused on Generic System Images, as Lenny 5 is Treble-enabled. Big thanks to @phhusson for the whole lot of effort he put into building AOSP GSI's (and also clues towards building LineageOS GSI's). After having AOSP9 installed on it for some time, i got bored and tried to compile LineageOS using the patch-and-build system provided on phhusson's github. That worked just great on AOSP9, but failed to build a bootable LOS16 in the first place. So after some recherche, i stumbled across @AndyYan's thread, containing some LineageOS GSI's prebuilt and ready to use. These worked great on my phone, but as stated above, i wanted to customize my LineageOS even further, so i manually patched my build-tree with AndyYan's Lineage-Treble-Patches by doing what this build script does, tested and it booted (i guess it's mainly related to the SELinux Policies not being correctly built for LOS with only phh's treble-patches). So far so good.
Additionally, i implemented the MicroG services by cloning these prebuilts on github to the respective folder in the build tree and before the build executed
Code:
export WITH_SU=true
to include LineageOS's root system in the build. I adapted the treble_arm_afS.mk device config to not use phh's su and the device/lineage/floss.mk file to include
FDroid
FDroidPrivilegedExtension (which is being built from treble sources)
MicroG services (use Play Store Apps)
FakeStore (use Play Store Apps)
MozillaNlpBackend (MicroG Network Location backend)
NominatimNlpBackend (MicroG Network Location backend)
OpenWeatherMapWeatherProvider (for LineageOS Weather Provider)
You are then free to use no Playstore at all or i.e. Yalp Store to download Play Store Apps.
After downloading the Image you may need to Unpack it via 7-zip or another tool.
Flash the device:
To install this custom ROM on the Wiko Lenny 5, in your stock ROM go to Settings->Developer Options->OEM unlock->Enable. Also, in the Developer Options, make sure, ADB Debugging is active and, on prompt, accept debugging connections from your computer.
On your computer, enter Command Prompt and issue the following commands:
Code:
adb reboot bootloader
*wait for device reboot*
fastboot oem unlock [COLOR="Red"]<-- this will factory reset the device!!![/COLOR]
*press vol up on the phone to allow unlocking the bootloader, and wait for the phone to return to fastboot mode*
fastboot erase userdata
fastboot format cache
fastboot format system
fastboot flash system <path-to-the-downloaded-gsi>
*wait for each process to finish*
fastboot reboot
now, wait for the phone to reboot, it should, after some time, show you the usual LineageOS startup screen. Take your time to set up your phone. To make MicroG and FakeStore work properly, you will have to Go to Settings->Apps&Notifications->App-Permissions->Spoof package signature->Menu->Show System Apps and allow FakeStore to spoof Signature. Go to Settings->System->Advanced->MicroG Settings and add your Google account. Activate Device Registration. Then activate Google Cloud Messaging and Google SafetyNet, if you want to take advantage of those services. Inside the UnifiedNlp Settings choose MozillaNlp in the first, and NominatimNlp in the second setting.
Go back and choose "Self check", if required, if required, grant MicroG GmsCore the permission to spoof signature, this should make most of the boxes go "checked". If Phonesky shows errors about signature spoofing, this should normally be gone after a reboot of the phone (given you allowed FakeStore sig spoofing). Disable battery optimization and then reboot the phone.
Check back in MicroG Settings->Self check, if all the boxes have been checked. If not, most mandatory points are self-explanatory.
This Lineage ROM will not allow you to update to a newer version. I cannot guarantee continuous updates, but encourage you to try building LineageOS treble with the way explained above, yourselves. If enough interest is around, i will consider doing updated builds from time to time.
Update:
Today i compiled a recent source tree containing the 5th of October patches. I will try to keep up with updating the Image whenever security fixes are released. The download links below have been updated to the newest version. To update your phone without deleting the data on it (make sure you have adb debugging enabled), you can simply do
Code:
adb reboot bootloader
fastboot flash system <system-image.img>
fastboot reboot
and then give your phone some time to "update". it should boot normally without erasing your data.
Links:
ROM .7z [~430MB]
ROM .img (~1.1GB)
(version was compiled at 19th of October '19, containing the October 5th security fixes.)
Let me know if this works for you, too!
Cheers
ivelischt
*reserved for additions/build guide*
Nice work
Nice work, I'll test the ROM later or tomorrow, also I like to see some development for this phone, also, It would be very nice to develop a custom recovery for it for better flashing experience and being able to flash gapps.
I have kinda workplace on my PC, I'm still wondering to build my first ROM but I think it will take lot of time.
Hanthonious said:
Nice work, I'll test the ROM later or tomorrow, also I like to see some development for this phone, also, It would be very nice to develop a custom recovery for it for better flashing experience and being able to flash gapps.
I have kinda workplace on my PC, I'm still wondering to build my first ROM but I think it will take lot of time.
Click to expand...
Click to collapse
Thanks. The custom recovery thing is a bit more difficult for treble devices, but i'd be happy to learn more from more experienced people.
I was not able to get TWRP running despite "successful" Custom recovery builds.
The build is quite straightforwards if you have some experience on compiling with linux. But you need around 200400Gigs of free space per build tree (lineage, aosp, ...). The most difficult thing for me was to alter the sources for inclusion of the packages i mentioned above, including microG. to build with opengapps, i expect, you'd use the same approach to include them in the build tree as with microG, just using the other packages and probably slightly customized CUSTOM_PACKAGES config. there is a k300 recovery out in the wild net. so there should be at least *some* possible way to port twrp for the k400, too.
about the time to build the rom: it took me about a day to sync sources and, using 2 cpus at 4gig's of java virtual memory, about 6 hours to compile the first round. after that, only compiling the changes made, it took me about another half an hour to recompile the changes. the editing process is marginal, if you know how to append to/remove from/patch the source files, the lineage4microg and treble rom-builder bash-scripts on github give you a pretty good insight in how to apply patches. also, from the dockerfiles you can get a list of all the dependencies your system needs to build the tree. i used these sorts of "tricks" to ensure my build runs well.
so far from me. i will try to find some free time in the future to put up some guide on how i built the rom as-is.
feel free to report if the rom works on your device!
best regards
edit: 400Gigs is better
ivelischt said:
Thanks. The custom recovery thing is a bit more difficult for treble devices, but i'd be happy to learn more from more experienced people.
I was not able to get TWRP running despite "successful" Custom recovery builds.
The build is quite straightforwards if you have some experience on compiling with linux. But you need around 200400Gigs of free space per build tree (lineage, aosp, ...). The most difficult thing for me was to alter the sources for inclusion of the packages i mentioned above, including microG. to build with opengapps, i expect, you'd use the same approach to include them in the build tree as with microG, just using the other packages and probably slightly customized CUSTOM_PACKAGES config. there is a k300 recovery out in the wild net. so there should be at least *some* possible way to port twrp for the k400, too.
about the time to build the rom: it took me about a day to sync sources and, using 2 cpus at 4gig's of java virtual memory, about 6 hours to compile the first round. after that, only compiling the changes made, it took me about another half an hour to recompile the changes. the editing process is marginal, if you know how to append to/remove from/patch the source files, the lineage4microg and treble rom-builder bash-scripts on github give you a pretty good insight in how to apply patches. also, from the dockerfiles you can get a list of all the dependencies your system needs to build the tree. i used these sorts of "tricks" to ensure my build runs well.
so far from me. i will try to find some free time in the future to put up some guide on how i built the rom as-is.
feel free to report if the rom works on your device!
best regards
edit: 400Gigs is better
Click to expand...
Click to collapse
The ROM works great but I'd like to see one like this with gapps to install on my device (freaking system image size), I've never used MicroG before and I don't know well how to use it.
Also, if you have the knowledge (I'm pretty sure you know more than me) we can investigate a way to create a TWRP version for K_400
Hanthonious said:
The ROM works great but I'd like to see one like this with gapps to install on my device (freaking system image size), I've never used MicroG before and I don't know well how to use it.
Also, if you have the knowledge (I'm pretty sure you know more than me) we can investigate a way to create a TWRP version for K_400
Click to expand...
Click to collapse
Hi Hanthonious
ivelischt said:
If there's interest in other build variants (specifically with microg and floss - fdroid, moz-nlp, openweatherprovider - implemented), ask me, i will do my best.
Click to expand...
Click to collapse
as the microG variant requires some "special sauce", namely the ability to spoof signature as well as other small fixes in the source code, my source tree is a bit different from the "vanilla/gapps" source tree. thus, to build variants not containing microg, you can simply sync the lineage source tree and apply the additional phh treble sources&patches. *edit: next to phh's patches, you will also need AndyYan's patches; you can find information about it in the OP. given, i write a guide (which i still intend to, but this takes some time), the patching step will be explained more clearly* basically, it's one step less than compiling it with microg. at the moment i cannot afford enough disk space to create another work tree, which is why i "can't promise" other build variants, until this issue is gone. which may be tomorrow or in a year. maybe you can find a gapps-version of treble-lineage 16 here in the xda boards. otherwise you will have to wait, or try to build it yourself. also, you might be interested in @AndyYan's lineage version, which is vanilla (no gapps or microg).
i would guess that the system image will not grow excessive just by including opengapps, but i may be wrong. i think that you'd possibly would have to choose a "non-complete" opengapps-package, to make it fit.
to quickly summarize what microg does is, that it spoofs its signature to make your phone think that you have the real Google Services Framework, Google Cloud Messaging, etc. services installed. this makes apps, which depend on these services, work even though you don't really "have" them. additionally, microg establishes an "essential" communication between itself and the real google services to allow you to use google services despite having all their bloatware.
to round this up, you have fakestore which spoofs existence of Google Play Store for those apps and games, which specifically check for GPS's existence (Phonesky app).
i think this should quite generally point out, what microg is for (an api which connects you to google, whilst only handing out information, which is crucial to keep a specific connection alive)
you can then use i.e. Aurora Store to download and update your preferred playstore apps. i tell you this specifically, as i hope that, using it right, microg might be able to give you a "fully stocked" phone experience, whilst keeping most of your data secure and your phone unbloated by google's app-hoard.
if you follow the instructions in the OP on how to fully enable microG, this might be a very handy solution for you, too, so maybe, you want to give it a chance.
to point out my issues with twrp (as far as i can tell using my little experience): twrp is device specific. which means, you need a vendor tree and you need to include it whilst building, so twrp can compile against it. now, treble is a way of excluding your device specific vendor tree from the build altogether (your system image basically doesnt contain the vendor files in a "folder" (/vendor), but in a seperate partition. this partition is "simply" beeing symlinked to from your system partition. this way you will never need to build vendor-specific sources but android builds against standardised "api's" which are being "serviced" by treble-enabled phone's vendor-files (lying at the vendor-partition). this makes building aosp and/or lineage, etc. easier as you can build one variant per architecture, which fits all treble enabled phones of that architecture (arm/64/binder32/64,a/ab,...). this is, very basically said, what is called a HAL (hardware abstraction layer) on a desktop computer.
but at the same time it's much more difficult to find vendor sources for those phones, as there is no more need at all for manufacturers to make these sources publich (as far as i understand it). as a matter of fact, you may not need these vendor sources for modern aosp (8.1+), which really is a grace!! but twrp doesn't seem to work when compiled against treble trees.
i even managed to compile a kernel which is mentioned at the wikogeek site for the lenny 5. i tried to include that kernel when compiling the recovery image but even that did not work out. as i am no experienced programmer (especially not in the high languages), i will not be the person to ask when it comes to finding out what bugs and how to circumvent it.
there is a little light at the end of the tunnel, though. as far as i understand it, treble-phones come with mostly generic kernels, which *could* make it easier to find a way to build a kernel/boot/recovery image in a similar fashion we build the gsi (generic system image) with. additionally, if there is some effort on it, i imagine, that it would be possible to generally modify twrp in a way so it's able to build against treble source trees with missing vendor source. this would enable twrp to run on virtually any phone which is treble enabled and there would be few to no need to port it for each device, specifically. maybe there would then be versions as in the treble gsi's (arm/64,a/b,...) as well as build variants for alternative display sizes etc.
but i wouldn't even know where to start...
i hope i was able to answer your questions. if you decide to stick with the variant in the OP, you should consider downloading and installing the most recent updated build.
best regards
Problems I found in the rom and if there is a way to solve them
Yo,
I wanted to point out the problems I found in the rom and if there is a way to solve
These are the problems I encountered:
1: *THE MOST IMPORTANT*
I can't pass the safetynet test, I researched a lot and I still couldn't solve
When I try to pass the safetynet test on magisk it gives "safetynet API Error"
When I try to do the test with the "SafetyNet Helper Sample" app it gives "SafetyNet request: success
Response validation: fail
Error Msg:
ApException [17]: API: SafetyNet .API is not
available on this device. Connection failed with:
ConnectionResult {statusCode = SERVICE_INVALID,
resolution = null, message = null}
And the "SafetyNet Test" app gives me "fail (Google Play services not available)"
I am aware of the new problem with the safetynet:
(sometimes people are still able to pass the test probably because it is still in maintenance or something)
https :// www . androidpolice . com /2020/03/11/safetynet-improvements-kill-magisk-hide
https :// twitter . com /topjohnwu/status/1237656703929180160
https :// twitter . com /topjohnwu/status/1238514375150850048
https :// twitter . com /topjohnwu/status/1237830555523149824
But even so I should be able to run the test even if it give both negative should run instead of showing those errors
2: The contacts I had on the SIM card and Google account do not appear in the contacts.
So I went on WhatsApp to save the ones I wanted to save, but after a few days and a few restarts the contacts are still saved, but on WhatsApp it shows that they are not saved even appearing in the contacts, to appear again saved on WhatsApp, I have to save them all again
3: Cant login in Clash Royale with google play games account, can i flash the rom and gapps to work or the microg and google play services will create some conflict, is there a way to unninstall microg completly and reflash the rom without microg and flash gapps?
4: Error when login in pokemon go: unable to authenticate, I researched it and it seems to be because the safetynet is negative but I can't even run the test (only after I became aware of the new safetynet problem) even with this new problem I would like to try to run the test to see if it passed since some people still are successfully passing the test
5: in the microg settings in self-check an option is not checked in the box "UnifiedNlp do not have location to test geocoder" I already researched to see if it solved something but I couldn't
edit: I solved it using the "Apple WI-FI" backend instead of the "Déjà Vu Location Service"
BUT NOW ITS GIVE ME AN UNCHECKED BOX
"Network-based location enabled:
you either disabled network-based location
(in system settings) or the system is not
supported"
6: some times in the time widget just appear "loading widget..."
and these are all the problems that I encountered, pls help me
solving these problems, thx!:good:
sorry for some mistakes i translated from portuguese to english with google translator and my knowledge of english
CooperTUGA, thanks for writing. And I want to apologize for letting you wait for so long. In fact, at the moment i do not actively develop this ROM (due to data loss on my virtual machine).
Anyways, i will try to address your issues as good as i can, though i must admit, none of these issues happened on my device.
ad 1: The only thing that comes to my mind is, that something went wrong when registering your device with the Android-ID. (see OP activation instructions). The SafetyNet-API itself should be working, atleast I had no similar issues (after Registering the device it takes some time - around 5 minutes - for Android to reflect the registered state).
But if someone happened to have this issue and knows another solution, you are welcome to tell!
ad 2: Does it help when you try to import the Files from the SIM card? As for Google contacts, it is - from my POV - stringent, that, if the SafetyNet API doesn't work properly, you will be unable to access Google Services (as Google Contacts) which would explain the missing Google Contacts.
ad 3: GApps and microG are two different things. GApps install a version (open-source fork, contains proprietary binaries) of the Official Google Apps, that is, they provide full functionality towards google services, provided you registered your device correctly.
microG is a pure Open Source fork of that, providing but the Framework with which Google Apps can be run. It does not provide Google Apps (like PlayStore etc.) by itself but merely allows them to run, given the configuration is right. This microG-ROM is not built to work with GoogleApps like PlayStore, but instead relies on the microG Services to get Apps, providing same or similar services, running (like Aurora Store etc.). To address your question, it is possible, to change the source code which was used to build this ROM, so it builds with Gapps or completely free of any such services, in fact it would mean to exclude certain patches, but such projects (Treble-enabled) are covered by others and because of above stated reasons i will not be able to provide such in near future.
Short but clear: No, there is no way to "uninstall" microG as it is built together with the ROM and the source used was especially prepared to use microG. But if configured right, you should be able to use your Google-Account in combination with Google-Services-Apps or Games despite using microG.
ad 4: See above. If everything's configured right, you should be able to play Pokemon GO, although i don't use any of these Apps (Clash Royale, Pokemon GO, WhatsApp). I never encountered any Problems along using Google Apps with this ROM.
ad 5: Well, the error says it all. I have Mozilla Location Service installed, which works like a charm. Maybe try this one? You can get it from FDroid, search for "MozillaNlpBackend" and see if it helps to sort this out? This works for me, after all.
ad6: as this is very unspecific, i cannot really tell what's the problem, but i would guess it has to do with the SafetyNet API not doing what it should or even the Location Backend not reporting position in time...
Did you clean your cache and data partitions while installing this ROM? I really am not sure what could create the behaviour you describe. Maybe there was a change in the SafetyNet/Device Certification process since this ROM-Build, maybe theres someone in those boards who could answer this, but i unfortunately can't...
I'm sorry that i cant give you more positive news, but hopefully it helps you in orienting what some common problems could be caused by.
Let me know about your success in trying to get the ROM working.
Best regards and greetings to portugal!
ivelischt
additionally: if you are interested in porting the Lineage Source for GSI/Lenny 5, you might be interested in this Thread: https://forum.xda-developers.com/android/help/how-to-root-wiko-lenny-5-t3819469
specifically, i wrote a guide there on how to build Android/Lineage Source for Treble devices. Maybe this helps you in getting your own build environment, enabling you to build to your disguise.
Images are not available anymore. Anyone here?
Since nobody wanted to make a TWRP build for the A22 5G, I tried making one myself.
Being the genius I am, only having learned one programming language that won't be useful at all, this failed. I can't get it to build and have no idea how GitHub actions work. Also other issues, including possible missing/incorrect directories and values in various files. Since open-source is great, and forking is a thing, I'll put my repo here as a sort of shimmer of hope for anyone desperate for TWRP.
GitHub - CatFishing4Guyz/twrp_device_Samsung_A225G
Contribute to CatFishing4Guyz/twrp_device_Samsung_A225G development by creating an account on GitHub.
github.com
However, if you do become successful, give me most of the credits as well as other people mentioned in the README.md.
I'm not a fan of Android 12's Material You, i.e. dull color schemes, ginormous headers and copious amounts of whitespace. Screens got bigger over time, but information density is getting lower and lower. It's crazy. Anyway, I'll spare you the rant.
As the LineageOS project stopped publishing builds for LineageOS 18.1, but they continue to patch their 18.1-branch with Android's monthly security updates, I decided to start building it myself following the instructions here.
You can download the builds here:
LineageOS 18.1 for Pixel 4a (sunfish) - Browse Files at SourceForge.net
Unofficial builds for those who wish to stay on 18.1 a bit longer.
sourceforge.net
I usually publish an update every month.
Additional tweaks
Default maximum lockscreen password length of 64 characters (instead of 16) [more info]
FirmwareIt's probably best to run the latest Android 11 firmware, since this is Android 11. You can download the last official Android 11 factory image from Google and flash it from fastboot mode (your data will be erased).
Clean install
Download the latest lineage-18.1-xxxxxxxx-UNOFFICIAL-sunfish-boot.img and lineage-18.1-xxxxxxxx-UNOFFICIAL-sunfish.zip from aforementioned link
Boot to bootloader a.k.a. fastboot
Flash the boot image with this command (replace filename with actual filename):
fastboot flash boot lineage-18.1-xxxxxxxx-UNOFFICIAL-sunfish-boot.img
Boot to recovery
Factory reset > Format data/factory reset > confirm (your data will be erased)
Apply update > Apply from ADB
Sideload the ROM with this command (replace filename with actual filename):
adb sideload lineage-18.1-xxxxxxxx-UNOFFICIAL-sunfish.zip
(If it asks "Signature verification failed. Install anyway?" answer Yes)
Optionally flash Gapps or anything else:
Advanced > Reboot to recovery
Run adb sideload with your zip
Reboot system now
UpdatingUpdates are delivered through the built-in updater (Settings > System > Updater).
If you use Magisk, deny the Updater's request to reboot at the end of the update process, open Magisk, tap Install and then "Install to Inactive Slot (After OTA)". Tap reboot after the process completes.
Migrating from last official LineageOS 18.1 buildSo it turns out builds are signed with a secret cryptographic key and when you install an update it has to have the same cryptographic signature or bad things will happen. This means you can't directly update from the last official build (signed by the LineageOS team) to my build (signed by me).
The solution: build and install (as an update a.k.a. dirty flash) a so called "migration build", which "resets the keys on all packages at every boot." I guess after booting into this build once, you can just update to the regular build using the updater (the LineageOS wiki is very concise on this topic and doesn't explain much).
You can download the migration build and boot image from the aforementioned link, they are marked MIGRATION instead of UNOFFICIAL. Don't run this build any longer than necessary, it's a security risk by its very nature.
When I tried this migration, my system wouldn't boot (stuck on boot logo). ADB worked and I could see in dmesg or logcat that, among other errors, SystemUI failed to start. Was it because I didn't reflash Gapps? But I never reflashed Gapps when using LineageOS' builtin updater...
Later I did some testing. I did a clean install of the latest official build, then my migration build, then my normal build, all was fine. Then I did a clean install of the latest official build WITH Gapps, then flashed the migration build WITHOUT Gapps, and the system booted up just fine. Huh? Then I flashed my normal build DIRECTLY over the latest official build, without migration build in between, and all was STILL FINE! So uhm... what's happening, how does this signing work and when does it become a problem? I have no clue.
If you decide to try the migration route, make sure to backup any data you don't want to lose and let us know how it went!
AcknowledgementsThanks to the original maintainers PeterCxy, cdesai and mikeioannina for bringing LineageOS 18.1 to the Pixel 4a!
Source code
LineageOS
A free and open-source operating system for various devices, based on the Android mobile platform. This is a mirror of https://review.lineageos.org/ - LineageOS
github.com
GcamYou can just install it from the Play Store. There are a few bugs:
In photo mode, slide up to record video doesn't work
Motion Photos doesn't work
It doesn't scan QR codes without Google Lens
App versions without Material YouIf, like me, you try to avoid Material You like the plague, here's a list of the last versions of Google apps that I use(d) that don't have Material You. Note that LineageOS includes its own versions of some of them and all of them are optional anyway. You can find them on e.g. APKMirror.
Calculator 7.8
Calendar 2021.35.3
Camera 8.2.400
Clock 6.4.1
Contacts 3.49.2
Gboard 10.8.05
Maps 10.80.1
Phone 68.0.3
Photos 5.58.0
Translate 6.24.0.02
Is it wise to run older software? You decide. In an ideal world security updates and bug fixes would be separate from UI and "we decided you don't need this functionality so we removed it" updates. I've long ago stopped regularly updating my apps (i.e. turned off automatic updates) because I like to be able to trust my device will look & work the same tomorrow as it did today.
P.S. After you've installed the regular 20220815 build, the updater will keep showing an August 16 update which is actually the build you're already running. This is because I had to move the timestamp one day forward in order to enable updating from the MIGRATION build, which was also build on 20220815 and wouldn't see the regular 20220815 build as an update otherwise. This will be remedied with the next update I publish.
The September update is now live.
Does banking app works?
My bank's app has always worked fine on LineageOS. Your bank's hasn't?
icantlogin said:
My bank's app has always worked fine on LineageOS. Your bank's hasn't?
Click to expand...
Click to collapse
I had never tried this rom want to try if bank apps works out of box
icantlogin said:
The September update is now live.
Click to expand...
Click to collapse
Been using this for several days now without a hiccup , fast ,,smooth, and google proofed, Thanks!!
Thanks for keeping LOS 18.1 alive with these security updates. I recently upgraded to 19.1 to try it out for a few months but I just couldn't get used to or appreciate the new UI. With every app update they also make it more like A12 and it just wasn't working for me.
Just installed your September update and all is well so far.
The October update is live!
A little background: I'm building this ROM on a Google Cloud Compute Engine instance, which is a virtual computer (also called virtual machine or VM) running in a Google data center. To keep the VM around is very costly, as it uses 300 GB of SSD storage which doesn't come cheap. So I create a new VM every month and dismantle it afterwards. This means I have to set up the build environment from scratch every time, which consists of a lot of steps. So from the beginning, I've put most of those steps in a Bash shell script (the VM runs Ubuntu 20.04) to speed things up drastically.
Last week I added some code that generates the updater.json file (that's read by your phone when it checks for updates) which I had been creating by hand before. I also added code to automatically upload the build to SourceForge. So yesterday all I had to do was create the VM, upload the script and run it. Six hours later, your phone was able to download the update without any further intervention on my part.
What can I say, the geek in me is very happy
Hi, I thank you for your work. Would you know if I can install microg without magisk, maybe via nanodroid or similar while maintaining OTA updates?
I have no experience with that. I assume you would have to apply the signature spoofing patch and install microG before booting from the updated system partition. So after installing the OTA update boot into recovery and do this?
Hello ! How to you push the google apps on this one ?
I'd like to get a pico gapp installed to get some game running
It's in the instructions in the first post, after flashing the ROM:
Optionally flash Gapps or anything else:
Advanced > Reboot to recovery
Run adb sideload with your zip
I'm using NikGapps Core myself.
This only works if you do it before first boot by the way, as far as I know you can't put Gapps on an installation you're already using.
Hi! Do you know if this will retain microg if I dirty-flash it on top of a lineage.microg.org build (the last official release) using your MIGRATION build? If you're not sure I'll back up my stuff and give it a shot and report back Thanks a lot for your your work!
Well... I don't think that would work, since this ROM doesn't include microg and the needed signature spoofing, so my guess would be you'll just loose that—if the migration works at all. Let me know what your findings are though!
icantlogin said:
Well... I don't think that would work, since this ROM doesn't include microg and the needed signature spoofing, so my guess would be you'll just loose that—if the migration works at all. Let me know what your findings are though!
Click to expand...
Click to collapse
Here is what I found, in case it helps someone: flashing the migrate ROM and then the latest proper ROM works perfectly, however I did lose microg, system f-droid, etc, and anything which is in the lineage.microg.org build but not in this one.
Now since you are building monthly ROMs, would you consider applying the signature spoofing patch to your builds? This would make it easy for those who want to run microg instead of google play framework/gapps. As far as I understand it you just need to apply this patch with `cd android_frameworks_base; patch -p1 -i /path/to/android_frameworks_base-R.patch`. Thanks again for your efforts
I'm open to consider this, but as I somewhat but not fully grasp the security implications of enabling signature spoofing, and not everyone might want to have this enabled by default, it would have to be a toggle in Developer Options and disabled by default, or I would produce a separate build with the patch applied.
If you could find a patch for me that implements the toggle in Developer Options, that would be great. As I researched it a bit I read that some ROMs have this.
Interesting that the migration worked, by the way!
Some more thoughts on this: it seems with signature spoofing enabled on the ROM, an app still has to ask for the permission to spoof its signature, so for advanced users like us who know what we're doing, I guess that's good enough. I'll have to read up on this a bit more though. I know the LineageOS devs are against implementing it but most everyone else says it's actually not that big of a security risk.
I just reply to show you my gratitude for maintain LoS 18. I updated to 19 two weeks ago and I was literally suffering with the system theme. IDK what they were thinking but it was terrible. Also for me, on 4a, was having lag: An example is when I shuffle songs on Musicolet, they take a good while to update the information (song name, basically) while with 18 it updates as soon as I press next.
BTW, can you recommend me a good KERNEL? Thanks!
@SkewedZeppelin
Hello, I installed the latest DivestOS version today as I was previosuly pretty dissapointed with standard LineageOS due to the amount of google and propiertry blobs it contained. I have followed divestOS for a while now and when my Lineage boot looped this morning I thought it was a good time to test DivestOS.
First off, I am very impressed with DivestOS, extremely slimmed down OS and I am much more comfortable with the privacy aspects that DivestOS is accomplishing. So thank you for all your efforts with the OS, it really is great and I would without a doubt recommend anyone who hasn't given it a spin to try it asap.
Now, I have a few issues I hoped @SkewedZeppelin or anyone else for that matter might be able to help me with. I have read the DivestOS documentation completely so understand what the recommendations and preferences of the developer is and why. I get it. That being said, we don;t live in an ideal world and unfortunately I do have some specific requirements that I can't go without and so I wanted to see how/if they could be incorporated. First of, which I know is a big no-no for the DivestOS developer, I need to root. I absolutely require call recording and without the native ability to automatically do it I have to really on a very good magisk module. Secondly, I need to be able to use TWRP with the ROM. I know TWRP has not been great with Lineage build but, I was able to unencrypt lineage-20.0-20230105 with the last @Siddk version, which the developer has now discontinued. So https://forum.xda-developers.com/t/recovery-11-12-13-unofficial-twrp-for-oneplus-6-6t.4382121/ is the last version I can use. Unfortunately @Siddk TWRP does not unencrypt the latest DivestOS. I need TWRP for recovery, like this morning when my lineageos boot looped for no apprent reason all my private data was lost, only for @Siddk TWRP saved the day and allowed me to unencrypt and adb pull it all out.
So to overcome these hurdles I would like to install an older version of DivestOS that would allow @Siddk TWRP to work. I had a copy of divested-20.0-20230123 so tried that but it is also too new and not working with TWRP. I would then assume that although the DivestOS is strongly against rooting, I would be able to flash Magisk as normal and then flash TWRP as my recovery. So i end up with an older DivestOS, running TWRP recovery, rooted with Magisk so I can run the call record magisk module. I am aware that rooting will effect future updates however I won't be wanting future updates because I need to stay on the same version to make sure TWRP continues to work.
Sooo, a very long winded way of asking for some links to older DivestOS builds, based on lineage-20.0-20230105 that @Siddk TWRP will work on and also to double check that I can infact still root the OS (even against the advice of the developer) if that is what i need to do.
Many thanks
You don't need an older build.
Just use the latest LineageOS recovery to flash Magisk and then you'll have root for your call recorder app.
Backup your device using Seedvault + copying files over MTP.
Also note there is a known issue recently on these devices where they may appear to bootloop, but it is just a race-condition and you can reboot a few times and they'll work: https://gitlab.com/LineageOS/issues/android/-/issues/5587
Thanks. I prefer a custom receovery (TWRP) that can decrypt the phone so when the phone does crash I have access to my data and it can be saved. If I couldn't use TWRP yesterday then everything since my last backup would have been lost for me. Do you have any links to older builds? Is it something you could possible provide?
Dissapointing that you chose just to ignore my last post. Pretty valid points on my part. Guess you want to keep your build locked down rather than having it open to user. Always a privacy and security concern when developers go down that route.
xs_pam said:
Dissapointing that you chose just to ignore my last post. Pretty valid points on my part. Guess you don't want to keep your build locked down rather than having it open to user. Always a privacy and security concern when developers go down that route.
Click to expand...
Click to collapse
mate the source code is right here, if you don't like my decisions you're welcome to compile with anything you want included: https://github.com/divested-mobile
there is even a written and video version of the build guide to make it very easy: https://divestos.org/pages/build
xs_pam said:
TWRP
Click to expand...
Click to collapse
Is not supported by DivestOS due to the stronger encryption used: https://github.com/Divested-Mobile/...d_system_extras/0001-ext4_pad_filenames.patch
you'd have to compile TWRP with that patch included
I understand, it's your ball, your decisions. Open source developers usually make previous releases available to allow users to snag issues etc, that was all I was asking but I accept your decison.
If TWRP would not work in any event, that means that there is no effective data recovery mechanism for your OS? You are maybe isolating a large part of your market there, I understand there is trade off between security and accesss but I would suggest the option to recover personal data form a bricked/looped OS would be more in demand than having data that absolutely no one can recover, including by the owner. At the end of the day having a recovery option uses the same access decryption method as the general phone access, means the data would still be as secured with a recovery option as it would be on a functioning os. It's the same methos to decrypt.
xs_pam said:
Open source developers usually make previous releases available
Click to expand...
Click to collapse
That is hundreds of gigabytes for each release batch, do you wanna pay that server bill?
That idea of yours wouldn't even work and as noted isn't even neccessary to get Magisk installed.
xs_pam said:
no effective data recovery mechanism for your OS
Click to expand...
Click to collapse
Seedvault is included for app backups.
xs_pam said:
no one can recover
Click to expand...
Click to collapse
it is your responsibility to make backups of your data regardless of what software you use
Fairpoint, I didn't realise the server costs were such an issue.
Your conflating back-up and recovery, they are two seperate things. Backing up is scheduled and planned, recovery is not. Unless you are backing up and then extracting that backup from your phone multiple times per day then you are at risk of losing important data should the unexpected occur. Data recovery is AS important but seperate to backing up. An OS without a data recovery option, or that blocks data recovery options, is significantly lacking. I understand that you use the lineage recovery but that does not provide an option to recover data.
xs_pam said:
Fairpoint, I didn't realise the server costs were such an issue.
Your conflating back-up and recovery, they are two seperate things. Backing up is scheduled and planned, recovery is not. Unless you are backing up and then extracting that backup from your phone multiple times per day then you are at risk of losing important data should the unexpected occur. Data recovery is AS important but seperate to backing up. An OS without a data recovery option, or that blocks data recovery options, is significantly lacking. I understand that you use the lineage recovery but that does not provide an option to recover data.
Click to expand...
Click to collapse
there are workarounds to what you are trying to achieve, i don't own a oneplus but i have achieved it with this OS.