[oneplus3/t][Official] Droidian (Debian Bookworm) for OnePlus 3/T - OnePlus 3 & 3T Cross Device Development

Code:
/*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Droidian is a GNU/Linux distribution based on top of Mobian, a Debian-based distribution for mobile devices. The goal of Droidian is to be able to run Mobian on Android phones.​This is accomplished by using well-known technologies such as libhybris and Halium.​​## What works​
WIFI
Audio
Video Playback
USB-OTG
Cellular Data
Calls/SMS
Bluetooth
Wireguard
Flashlight
GPU (Works well in WayDroid, partially in Droidian)
See full list here
## What doesn't work​
Camera
VoWifi
You tell us
Old UNOFFICIAL installation steps
Spoiler
This steps and UNOFFICIAL build of droidian have been abandonned and is deprecated, you're on your own there ! We recommand to follow official steps below​
## Required Files​
ADB commands and stuff
TWPR Treble : https://mega.nz/folder/UgdQRYSD#8s-_u2HJQZDEqNnFOnejxQ
You'll find it in : Recovery_(System-As-Root_Compatible) > twrp-op3treble-3.3.1-1.img
Latest firmware for your phone (at the writing time: 9.0.6) : https://github.com/nvertigo/firmware-3t/tree/master/archive (like version oxygenos-9.0.6-no-alipay-firmware-3.zip or oxygenos-9.0.6-firmware-3.zip if using a OP3)
WARNING ! Firmware are device-specific, be careful to take a OP3 or OP3T depending on your device !
LineageOS Treble: https://drive.google.com/drive/folders/1vnJEKkhO3xqH-fWWG55-yxwx5K1EeKq7
You only need the file LineageOS Treble
droidian-api28-arm64.zip : https://github.com/droidian-images/droidian/releases
NOTE: As we are flashing LineageOS 16 (android 9), pay attention to use and flash Droidian API28 (which is the version for Android 9)
Please do not use generic halium anymore, @Bettehem made a special version combining both files for OnePlus 3/T here : https://gitlab.com/Bettehem/op3-halium-waydroid Please prefer this version
Below, generic halium files that this tutorial does not recommend
halium-boot.img : https://mirrors.lolinet.com/firmware/halium/oneplus3/halium-boot.img
halium-ramdisk.zip : https://mirrors.lolinet.com/firmware/halium/GSI/tools/halium-ramdisk.zip
GSI patch by @Bettehem : https://gitlab.com/Bettehem/op3-gsi-fix-droidian
You can have alpha version from CI/CD artifact : https://gitlab.com/Bettehem/op3-gsi-fix-droidian/-/jobs/artifacts/main/browse?job=makezip
## Installation​
First treblize your phone with the instructions from here: https://github.com/OP3-Halium/Documentation#treblelizing-your-op3t--firmware--twrp
Basically, all you have to do is :
Flash the special TWRP Treble previously downloaded
Boot it up and go to "Advanced" -> "Terminal", Type treblize and run
Reboot to recovery
Click to expand...
Click to collapse
Then follow the instructions here: https://github.com/OP3-Halium/Documentation#installing-using-erfan-gsi
Basically after you've treblized your device and installed the latest firmware, the install steps are as follows:
Flash the custom LineageOS Treble,so you get the /vendor partition populated.
Reboot to check that everything works. If so, reboot back in to recovery.
Go to advanced wipe and wipe everything except /vendor.
Reboot back into recovery.
Flash the droidian .zip (adb sideload droidian-api28.zip)
Deprecated steps
Flash halium-boot.img
⚠ This shouldn't be done with adb sideload, instead use those two lines :
adb push ./halium-boot.img /tmp/
adb shell "dd if=/tmp/halium-boot.img of=/dev/block/bootdevice/by-name/boot"
Flash halium-ramdisk.zip.
Now just flash @Bettehem's halium-boot.img
Flash @Bettehem's op3-gsi-fix-droidian.zip
⚠ Do NOT flash the regular op3-gsi-fix.zip which is for ubports and not this project ⚠
### Out of storage​A note from @Bettehem 's GSI fix :
It was made possible to move the user's home dir to the phone's userdata partition, so you can utilize the full 64/128GB storage on the device. By default when you install Droidian, the user's home dir is on the 8GB system image, and that's not very much space for both the OS and your home dir
So after installing and booting the device, you can perform the first time setup if you want or skip it for now. Then open a terminal and run the command move-home
Click to expand...
Click to collapse
OnePlus3 is officially supported by Droidian now, here's the updated step by step install :
## Required Files​
Download the latest recovery flashable zip droidian-OFFICIAL-phosh-phone-oneplus_oneplus3-api28-arm64_XXXX.zip: https://github.com/droidian-images/droidian/releases
## Installation​The step-by-step installation comes from this guide : https://github.com/Droidian-oneplus3/device-page#requirements
Treblize your device:
Instructions here: https://forum.xda-developers.com/t/treble-unofficial-lineageos-16-0-treble-for-oneplus-3-3t.3830455/
After you have installed the custom twrp and you have a /vendor partition, install the custom LineageOS 16 build from the guide.
With LineageOS 16 installed, reboot and verify that everything works. Then reboot back into TWRP.
In TWRP, go Wipe -> Advanced Wipe -> Select everything except Vendor and USB-OTG, then Swipe to Wipe.
Reboot into recovery
Flash the droidian .zip using the recovery's install menu or adb sideload
Reboot
Congrats, you're all done, just restart your phone and enjoy using Droidian
## Troubleshoots​
It had been reported some failing with the sideload function to flash parts of this tutorial.
If you enconter those problems, we recommend you to push the files to the device using adb push /path/to/your/file /tmp/ and then use TWRP's own install method
## Notes:​
### First boot​The first boot can take up to 30 seconds. If you see the green droidian's logo on boot, don't worry for the following black screen, just your phone doing its stuff. Once you're os finally booted and ready to use, you'll have the screen showing time and icons.
### Default password​The default password is 1234.
### Wrong UI scale​Some applications aren't designed to fit well on to tiny mobile screens, so if you encounter a problem where buttons/text doesn't properly fit on the screen, do the following:
1. Open the application which doesn't fit well on your screen
2. Open the Mobile Settings application and navigate to the Compositor menu
3. Turn on the toggle for the application which doesn't scale well
Now every time you open the application, it should get scaled down to fit your screen.
### Status
Droidian GSIs are experimental! Bugs and missing features are expected.
OnePlus 3 isn't officially supported by Droidian
OnePlus3 is offically supported since 19/06/2023
@Bettehem's patch is a WIP
### SSH access​Connect your phone to your computer and type ssh [email protected]<OP3-WIFI-IP>, the password is 1234
### Applications​You can find a list of mobile-friendly Linux applications at LinuxPhoneApps
# Credits​
Thanks the Droidian team and the Mobian team for bringing Debian on mobile https://droidian.org | https://mobian-project.org
Thanks to the HaliumProject for all the hard work they do making this whole possible https://halium.org
Thanks to everyone contributing on https://github.com/OP3-Halium for those comprehensive tutorials
Thanks to simonsmh, dianlujitao, chenxingyu, for working and building the LOS Treble (Source Code: https://github.com/OP3Treble )
A huge and special thanks to @Bettehem (Telegram, Gitlab, XDA) for developing the patch and did help me to have it up and running on my phone
Thanks to you for giving a try to this and following this tutorial

# Troubleshooting​## WiFi not connecting​Droidian detects two wifi cards, and only one seems to work at a time.
If Droidian is trying to connect using the wrong card, you can easily change it by running the command nmtui, then select "Activate a connection" and then select the WiFi network you want to connect to.
## Mobile data not working​In settings go to mobile network and press the "Unlock" button. Then close the settings app and open again, because the UI doesn't get updated automatically.
You should now be able to manage your mobile connection from here. To get correct Acces Point Name (APN) settings for your carrier, look here: https://apn.how
After you have set up the APN settings, then just toggle the "Mobile Data" setting off and back on again. If mobile data still doesn't work, you may want to restart the ofono service by running this command: sudo systemctl restart ofono.service. Then reopen settings and toggle the "Mobile Data" setting off and on again.
## Changing audio device​There's a known issue with changing the audio device inside the Settings app. You can use something like pavucontrol, ncpamixer or even just run pactl/pacmd commands directly.
You need to change the sinks port from the primary_output sink for it to work. Changing the port from the deep_buffer sink doesn't work.
# Random screenshots​

I'm working on getting this installed. Can't seem to get past bootloader (oneplus icon).
Attempting to build on my system and see if that helps.

@undrwater Are you on OP3 or OP3T ? And did you exactly follow each step for the tutorial ? 'cause it all worked fine for me ^^"

RoiArthurB said:
@undrwater Are you on OP3 or OP3T ? And did you exactly follow each step for the tutorial ? 'cause it all worked fine for me ^^"
Click to expand...
Click to collapse
I'm on 3t. And while I have some confidence that I followed the directions exactly, there's room for doubt.
I'll try again when I can look at it without distractions.

undrwater said:
I'm on 3t. And while I have some confidence that I followed the directions exactly, there's room for doubt.
I'll try again when I can look at it without distractions.
Click to expand...
Click to collapse
The problem may come from the firmware link I did put before. It wasn't for 3T, so I just updated it and it would prevent similar errors
Please tell me when you'll retry and if now it works well

Actually, looking somewhat closer, I think the issue is finding the correct droidian zip to sideload. several are available, and the few I've tried fail with:
E: No hybris-mobian image found
Click to expand...
Click to collapse
/vendor is populated, lineage is flashed and booted halium boot image dd'ed.

undrwater said:
Actually, looking somewhat closer, I think the issue is finding the correct droidian zip to sideload. several are available
Click to expand...
Click to collapse
Hey, the good version is Droidian API 28 ('cause you're using a base Android 9) ARM64 (which is the Snapdragon in OP3/T)

My OP3 seems to boot into droidian but I have no display, I can tell booting finished because I get sounds when I adjust the volume or connect a charger. Does anyone have an idea why this might be?
Steps I took:
- Flashed latest firmware
- Installed treble TWRP
- ran treblize in TWRP console
- wiped all partitions with advanced wipe (including vendor)
- sideloaded / installed lineage 16 zip and rebooted to test
- wiped all partitions other than vendor in TWRP
- sideloaded / installed "droidian-OFFICIAL-phosh-phone-rootfs-api28-arm64-24_20220804.zip"
- installed hallium-boot in bootloader using "fastboot flash boot hallium-boot.img"
- rebooted

the-blind-bandit said:
My OP3 seems to boot into droidian but I have no display, I can tell booting finished because I get sounds when I adjust the volume or connect a charger. Does anyone have an idea why this might be?
Steps I took:
- Flashed latest firmware
- Installed treble TWRP
- ran treblize in TWRP console
- wiped all partitions with advanced wipe (including vendor)
- sideloaded / installed lineage 16 zip and rebooted to test
- wiped all partitions other than vendor in TWRP
- sideloaded / installed "droidian-OFFICIAL-phosh-phone-rootfs-api28-arm64-24_20220804.zip"
- installed hallium-boot in bootloader using "fastboot flash boot hallium-boot.img"
- rebooted
Click to expand...
Click to collapse
Hi, you need to install op3-gsi-fix-droidian.zip to get it working on the OnePlus 3.
You can download it from here: https://gitlab.com/Bettehem/op3-gsi-fix-droidian/-/jobs/artifacts/main/browse?job=makezip
So after flashing the droidian-api28-arm64.zip, just flash op3-gsi-fix-droidian.zip and you should be good to go.
Also remember to run the move-home command in terminal after booting for the first time. It will allow you to use all of the storage on the device

Bettehem said:
Hi, you need to install op3-gsi-fix-droidian.zip to get it working on the OnePlus 3.
You can download it from here: https://gitlab.com/Bettehem/op3-gsi-fix-droidian/-/jobs/artifacts/main/browse?job=makezip
So after flashing the droidian-api28-arm64.zip, just flash op3-gsi-fix-droidian.zip and you should be good to go.
Also remember to run the move-home command in terminal after booting for the first time. It will allow you to use all of the storage on the device
Click to expand...
Click to collapse
Thank you. I'm not sure how I missed that in the OP, I saw the bit in red for step 7 and just stopped there I guess
Anyway it's working now and OMG it's actually kinda good. Last time I tried a linux distro for an android phone, which wasn't that long ago, it froze almost all of the time. This seems quite responsive and actually has quite a good keyboard too. My hope for linux on phones (other that android) has been restored

the-blind-bandit said:
Thank you. I'm not sure how I missed that in the OP, I saw the bit in red for step 7 and just stopped there I guess
Anyway it's working now and OMG it's actually kinda good. Last time I tried a linux distro for an android phone, which wasn't that long ago, it froze almost all of the time. This seems quite responsive and actually has quite a good keyboard too. My hope for linux on phones (other that android) has been restored
Click to expand...
Click to collapse
Yeah I like Droidian quite a lot. I have been using it as my daily driver for some time now. Only camera doesn't work but hopefully I'll solve that issue at some point in the near future

I'm having problems with installing.
I followed the steps as instructed, treblized the phone (3T) and installed Linage 16. Lineage is booting fine. I checked the vendor partition which is populated.
After the wiping step (vendor left untouched) I installed droidian (tried droidian-OFFICIAL-phosh-phone-rootfs-api28-arm64-24_20220804.zip and droidian-OFFICIAL-phosh-phone-rootfs-api28-arm64-nightly_20221003.zip) and halium-boot.img. I also installed the patch "op3-gsi-fix-droidian.zip".
Droidian isn't loading. When using the halium-boot.img (15.41 mb) linked in this thread, the phone shows the bootscreen (1+) and reboots after some time. Using the halium-boot from this instruction: https://github.com/OP3-Halium/Documentation (15.8 mb) the phone just shows the 1+ logo without rebooting ...
what am i missing?

prosch said:
I'm having problems with installing.
I followed the steps as instructed, treblized the phone (3T) and installed Linage 16. Lineage is booting fine. I checked the vendor partition which is populated.
After the wiping step (vendor left untouched) I installed droidian (tried droidian-OFFICIAL-phosh-phone-rootfs-api28-arm64-24_20220804.zip and droidian-OFFICIAL-phosh-phone-rootfs-api28-arm64-nightly_20221003.zip) and halium-boot.img. I also installed the patch "op3-gsi-fix-droidian.zip".
Droidian isn't loading. When using the halium-boot.img (15.41 mb) linked in this thread, the phone shows the bootscreen (1+) and reboots after some time. Using the halium-boot from this instruction: https://github.com/OP3-Halium/Documentation (15.8 mb) the phone just shows the 1+ logo without rebooting ...
what am i missing?
Click to expand...
Click to collapse
Hi, this tutorial recommand using Bettehem's halium-boot file.
If you did checked the Github's documentation, you should have saw a note part for flashing the halium-boot.zip ( https://github.com/OP3-Halium/Documentation#note ) describing 3 differents methods to do it. Did you follow them all or how did you do it ? It may be recommended to use the old technic :
Flash halium-boot.img ⚠ This shouldn't be done with adb sideload, instead use those two lines :
Code:
adb push ./halium-boot.img /tmp/
adb shell "dd if=/tmp/halium-boot.img of=/dev/block/bootdevice/by-name/boot"
Click to expand...
Click to collapse

I used fastboot and the TWRP push method, no difference. I used all the files linked in this tutorial and all of those in the github documentation. After flashing, when rebootIng, TWRP complains that there is noch OS installed... Lineage Installation is no problem. I just tried the ubports installer to install Ubuntu Touch. This stops while pushing the files... Installing OxygenOS works... kinda strange
Update: It's working now. I also had to do "format data / factory reset" after step 2 and repair the fs of cache, system and data to ext4 after rebooting. Using the files from the OP3-Halium-Documentation Droidian is now loading.

I'm installing Droidian, but for some reason I'm getting a booting Ubuntu Touch. I flash in the following order:
* wipe everything but /vendor
* `ubports_GSI_installer_v10.zip`
* `droidian-devtools-api28-arm64_20220804.zip`
* `op3-gsi-fix-droidian.zip`
If I try to wipe `/system` before flashing `droidian-devtools-api28-arm64_20220804.zip`, I'm getting an error: `No hybris-mobian image found`
What am I doing wrong?

marmistrz said:
I'm installing Droidian, but for some reason I'm getting a booting Ubuntu Touch. I flash in the following order:
* wipe everything but /vendor
* `ubports_GSI_installer_v10.zip`
* `droidian-devtools-api28-arm64_20220804.zip`
* `op3-gsi-fix-droidian.zip`
If I try to wipe `/system` before flashing `droidian-devtools-api28-arm64_20220804.zip`, I'm getting an error: `No hybris-mobian image found`
What am I doing wrong?
Click to expand...
Click to collapse
You shouldn't be installing ubports_GSI_installer if you want Droidian. UBports is Ubuntu Touch.
To get Droidian running, follow the instructions on this page or https://github.com/OP3-Halium/Documentation#installing-droidian
For Droidian, you shouldn't be using ubports or droidian-devtools, as neither of those are used in this installation.
droidian-devtools is optionally used with very old droidian images and is not at all needed in the newer ones so don't use it.

Hi, I installed droidian on op3t as described, it works from beginning. I used "droidian-OFFICIAL-phosh-phone-rootfs-api28-arm64-24_20220804.zip" an made an "apt-get (update, upgrade, dist-upgrade) to get the latest bookworm version.
The only problem atm: the phone cannot suspend. The blue LED blinks and if it ends the screen with the PIN login turns on (that does happen in a loop). Any hints?

sfoslino said:
Hi, I installed droidian on op3t as described, it works from beginning. I used "droidian-OFFICIAL-phosh-phone-rootfs-api28-arm64-24_20220804.zip" an made an "apt-get (update, upgrade, dist-upgrade) to get the latest bookworm version.
The only problem atm: the phone cannot suspend. The blue LED blinks and if it ends the screen with the PIN login turns on (that does happen in a loop). Any hints?
Click to expand...
Click to collapse
Hi, I'm not sure why it does that but I'll try to investigate

Bettehem said:
Hi, I'm not sure why it does that but I'll try to investigate
Click to expand...
Click to collapse
If I remember right it could sleep if I disable wifi. I tried to work around with a script running 'onsuspend' but had no luck, always a probleme because the wifi adapter was shown twice in phosh settings.

Related

[Recovery] Official TWRP for the OnePlus 3 & 3T

Team Win Recovery Project 3.0.4-1 (unreleased)
Notice #1: Please don't wipe your data partition if TWRP cannot decrypt it. Instead, make an effort to gather logs to help solve the issue!
Notice #2: Themes from 3.0.0 to 3.0.3 are incompatible with 3.0.4. Sorry! (small theme engine changes regarding backlight control)
This is a unified build for both the OnePlus 3 and the OnePlus 3T!
WARNING: The OnePlus 3 & 3T stock boot image has dm-verity, which prevents you from booting if you swipe to enable system modifications!
SOLUTION: Follow the full rooting steps below, in order, to allow system modifications without the risk of a boot loop!
WHAT IS TWRP?
Oh come on, you know what it is - don't try to fool me!
In case you're serious, though...
Team Win Recovery Project is a custom recovery for Android devices.
It allows you to back up and restore your data, flash custom ROMs to your device, repair broken file systems, and root your device.
Read more about TWRP here: https://twrp.me/about/
DOWNLOAD
You can find the device page here:
http://teamw.in/devices/oneplusthree.html
Use 3.0.4-1 for now, rather than the builds on twrp.me until an official release happens. You will have problems with 3.0.3 on Nougat!
For now, please download the build from:
https://build.nethunter.com/twrp/oneplus/twrp-3.0.4-1-oneplus3.img
Officially 3.0.4 has not been released yet, but it has critical fixes for this device on Nougat, so please be patient.
There is a download link there, as well as instructions on how to flash it.
You can find up to date fastboot & adb binaries here!
FULL STEPS FOR OBTAINING ROOT
Follow these instructions until someone nice comes along and makes a video from them (without ads):
Extract/install adb & fastboot to your computer.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Download TWRP for OnePlus 3 & 3T (oneplus3).
In your ROM, go to Settings -> About device. Tap 7 times on Build number to enable Developer options.
Now go to Settings -> Developer options. (above About device)
You need to enable OEM unlock, otherwise you might end up with boot problems or be unable to flash later on.
Reboot your device into fastboot mode. To do this, select reboot from the power menu and hold the [Volume Up] + [Power] buttons while your device reboots or boots from power off.
Once you're in fastboot mode, you need to unlock your bootloader. To do this, run the command:
fastboot oem unlock
WARNING: Unlocking your bootloader will erase all userdata on the device! Your device will be completely reset to factory defaults!
Once your bootloader is unlocked, you're ready to flash TWRP. To do this, run the command (replacing twrp.img with the actual image name):
fastboot flash recovery twrp.img
Once the image is flashed, you should use your volume keys to navigate to RECOVERY and the press the power key to select it.
At this point, you will reach the screen asking you if you want to allow system modifications.
By swiping right, you will trigger dm-verity, and if you don't follow the next step you will be unable to boot!
If you are going to root your device and follow the rest of these steps, then it is safe to swipe right and enable modifications.
If your device asks for a password to mount internal storage, and your password doesn't work or you haven't set one, see below under known issues for a fix!
If you want to be rooted with SuperSU:
Download the latest SuperSU Stable by Chainfire.
Without exiting TWRP, transfer the SuperSU zip to your device over MTP* and flash it using [Install] in TWRP.
---or (not both) ---
If you want to be rooted with something else or just want a bootable system:
Download the latest dm-verity and forced encryption disabler zip.
Without exiting TWRP, transfer the no-verity-opt-encrypt zip to your device over MTP* and flash it using [Install] in TWRP.
This will also allow you to use [Format Data] to completely disable your encryption if desired.
Go to [Reboot] -> [System].
Wait 2-5 minutes for your device to finish setting itself up. (SuperSU will reboot you a few times)
* MTP, known as Media Transfer Protocol, is the same way you transfer files from your PC to your device when booted into system.
UPDATING TWRP
To update TWRP, simply download the new twrp.img on your phone, then boot into your current TWRP and flash it.
To flash a twrp.img, navigate to [Install] -> [Flash Image] -> select your twrp.img -> [x] Recovery -> Flash!
After that, just use [Reboot] -> [Recovery] to reboot into the updated TWRP.
CHANGES
v3.0.4-1 (build.nethunter.com) - Fix crash when trying to reboot that resulted in TWRP restarting, CAF kernel updates
v3.0.4-0 (build.nethunter.com) - Capability restoration for Nougat, F2FS backport support, EXT4 decryption support
v3.0.3-0 (twrp.me) - Same as 3.0.3-1-rc2. In sync with the OnePlus 3T device tree (3.0.3-1).
v3.0.3-1-rc2 (build.nethunter.com) - Redo the device tree for OOS 4.0, including dynamic encryption support (pull libs from ROM)
FEATURES
MTP support
USB OTG storage support
Hardware Qualcomm-based full-disk encryption support
f2fs file system support (read, write, format, backup & restore)
exFAT file system support (read, write, format)
NTFS file system support (read, write, format)
ADB root
Full SELinux support
Built in android 6.0 tree
Allows OnePlus full OTA flashing
KNOWN ISSUES
F2FS takes a long time to boot, see below.
If your device is taking more than 10 minutes to boot, you probably have a misc flag enabled that disables passing cmdline, see below.
Reboot buttons don't work in TWRP (restarts TWRP) - disable Ask to install TWRP App on settings page, fix on the way. - fixed in 3.0.4-1
WHY AM I STUCK ON THE TWRP SPLASH SCREEN FOR 8 HOURS?
Be patient, wait another 8 hours.
Just kidding, try this while stuck on the loading screen:
adb shell wipe_misc; adb shell reboot recovery
Some devices might somehow get a flag set in misc that tells the bootloader to ignore the android boot image command line.
This results in the kernel not receiving the hardware name (qcom), which then confuses recovery and causes it to wait forever. FOREVER.
Personally, I'd have tried this after 15 minutes.
WHY DOES F2FS MAKE TWRP SO SLOW?
When TWRP boots up or wipes partitions and a few other scenarios, it checks each partition to see how much disk space is used. Ext4 handles disk usage calls quite efficiently and will finish this very fast. F2FS on the other hand is very slow when it comes to checking disk usage. We're unsure why this is. Every file on the F2FS formatted partition adds a little more time, and a device that is 30 GB full could take up to 10 minutes to boot TWRP!
I suggest switching your data partition to ext4 - all the f2fs hype is merely from benchmarks that don't actually represent real world use (ie. you're not writing thousands of files per second)
For someone who doesn't do lots of write access to their data partition, ext4 can actually be advantageous (it has faster access times and reads!)
WHY WON'T MY DATA DECRYPT / WHY IS MY PASSWORD INVALID IN TWRP?
In order for encryption to work in TWRP, it must pull the encryption libraries from your current ROM. It does this during TWRP boot logo. If you have no ROM installed, then it will fall back to the default OxygenOS 4.0.2 encryption libraries included in the TWRP image.
The crypto daemon in recovery will not be able to decrypt unless the version of the encryption key matches the version of the libraries. This is an unusual restriction that was added by OnePlus.
You can usually fix this by simply booting into your ROM and changing your boot up password. You can change it back or remove it if you want immediately after. This will generate a new crypto key which should be compatible when you next enter TWRP.
HOW DO I GET LOGS SO WHEN I COMPLAIN I'M NOT COMPLETELY IGNORED OR SHAMED BY OTHER USERS?
To get logs while in TWRP, you should connect your device to your PC and use adb.
adb pull /tmp/recovery.log
adb exec-out dmesg > dmesg.log
This will create 2 files in the directory your shell is currently in, recovery.log and dmesg.log. You will need to upload these somewhere such as a pastebin or Google Drive. You can also attach it to your XDA post (recommended!)
If you are having an operating system boot issue, you should gather a ramoops log instead. Do this while in TWRP after the failed boot:
adb exec-out "tar c /sys/fs/pstore 2>/dev/null" > pstore.tar
CONTACT & SUPPORT
You can find us on IRC at #twrp on chat.freenode.net.
You can also post in this thread and I will attempt to answer any questions you may have.
SOURCE CODE
TWRP: https://github.com/omnirom/android_bootable_recovery (android-7.1)
Device tree: https://github.com/TeamWin/android_device_oneplus_oneplus3 (android-6.0)
Kernel: https://github.com/jcadduono/android_kernel_oneplus_msm8996 (twrp-7.0)
CONTRIBUTIONS
Gerrit for TWRP: http://gerrit.omnirom.org/
Gerrit for officially supported devices: http://gerrit.twrp.me/
XDA:DevDB Information
Team Win Recovery Project for the OnePlus 3 & 3T, Tool/Utility for the OnePlus 3
Contributors
jcadduono, Team Win
Source Code: https://github.com/jcadduono/android_device_oneplus_oneplus3
Version Information
Status: Stable
Current Stable Version: 3.0.4-1
Stable Release Date: 2017-01-21
Created 2017-01-23
Last Updated 2017-02-07
Reserved
ONEPLUS FULL OTA ZIPS
You can flash these zips in TWRP to update your device or save yourself from a broken or soft-bricked state.
They are official zips distributed by OnePlus.
For the OnePlus 3 only:
OxygenOS 3.2.8: http://s3.amazonaws.com/oxygenos.on...6_OTA_017_all_1611182000_fbe1471194d64b3e.zip
OxygenOS 4.0.0: http://otafsc.h2os.com/patch/amazon...en_16_OTA_035_all_1612310359_e10cadfb2af7.zip
OxygenOS 4.0.1: http://otafsc.h2os.com/patch/amazon...n_16_OTA_037_all_1701041839_aa64b084a40a4.zip
OxygenOS 4.0.2: http://otafsc.h2os.com/patch/amazon...16_OTA_039_all_1701140133_89fcc9baba94e4c.zip
OxygenOS 4.0.3: http://otafsc.h2os.com/patch/amazon...ygen_16_OTA_041_all_1702081756_0f1e56a75f.zip
For the OnePlus 3T only:
OxygenOS 3.5.3: https://s3.amazonaws.com/oxygenos.o...8_OTA_027_all_1611222319_884473ff95304c30.zip
OxygenOS 3.5.4: http://oxygenos.oneplus.net.s3.amaz...8_OTA_029_all_1612131737_17e7161d2b234949.zip
OxygenOS 4.0.0: http://otafsc.h2os.com/patch/amazon...s3TOxygen_28_OTA_035_all_1612310259_2dc0c.zip
OxygenOS 4.0.1: http://otafsc.h2os.com/patch/amazon...ygen_28_OTA_037_all_1701041831_a2ba632ce9.zip
OxygenOS 4.0.2: http://otafsc.h2os.com/patch/amazon...s3TOxygen_28_OTA_039_all_1701140132_400a7.zip
OxygenOS 4.0.3: http://otafsc.h2os.com/patch/amazon...3TOxygen_28_OTA_041_all_1702081824_e3a712.zip
Warning: Do not flash partial update OTAs (under 1 GB) on a modified device! If you want to use partial OTAs, you must first flash a full OTA that it applies to, and then flash the partial OTA from stock recovery. Flashing partial OTAs from TWRP will either fail or soft brick your device. You can return to a usable state by flashing one of the above full OTA zips in recovery.
jcadduono said:
Team Win Recovery Project 3.0.4-0 (unreleased)
Click to expand...
Click to collapse
Nice mate as always.
Pm: you might need yo check the format of the first post, everything is written 3 times. :laugh:
peshellas said:
Nice mate as always.
Pm: you might need yo check the format of the first post, everything is written 3 times. :laugh:
Click to expand...
Click to collapse
Never quote full op, this is spamming.
For 3 times same content, open xda in browser, it's xda app bug.
RohanAJoshi said:
Never quote full op, this is spamming.
For 3 times same content, open xda in browser, it's xda app bug.
Click to expand...
Click to collapse
You re Right mate, i know, i have been here since the very old days, I thought i had deleted ot, and continued, apparently not. Thanks for the tip, didn't know about the bug.
ext4 decrypted fine on OnePlus 3 OOS 4.0.2.
Is flashing twrp-data-fstype-swap-x.x.zip still necessary when switching between f2fs and ext4?
The instructions and the link are not stated in OP anymore.
fbf2201 said:
Is flashing twrp-data-fstype-swap-x.x.zip still necessary when switching between f2fs and ext4?
The instructions and the link are not stated in OP anymore.
Click to expand...
Click to collapse
Both EXT4 and F2FS should work out of the box now.
No flashing needed.
Hello and thanx for the hard job.
I wanted to try a clean install starting from stock, hoping to correct my issue with twrp black screen.
I need your help. Here is what I've done :
- Restore stock with the unbrick tool
- Update to Nougat 7.0 and OOS4.0.2 via oneplus update
- Unlock bootloader
- Flash twrp 3.0.4-0 via fastboot
- Flash no-verity-opt-encrypt-5.0
- Flash RR rom
- Wipe data and Dalvik
- Reboot.
This is the first time it made it to me. It ask me a password when it boot. I saw a lot of post about that, but I can't understand how to solve it.
Can someone help me please ? My phone is OP3T
Hello, thanks for the super-useful tool. TWRP has been my goto recovery for as long as I have been rooting (days of htc-hd2). I am experiencing the following issues with v3.0.2-1 (all my checkpoint backups are in that version).
* Device = op3
* If it helps, this was a OOS 4.0.1 backup. I was trying to restore it because of a 4.0.2 upgrade failure attempt
* restore hangs at 100% after the backup is complete.
* After waiting for nearly 15 mins, I used the power down to restart the phone - i had lost recovery
* tried to re-install recovery. but when twrp boots - it doesn't get to main menu
* Oddly enough op recovery installs and boots into fine. Which is what I am on.
I am currently on stock recovery without root unable to restore backup ups in twrp and in titanium backup
any thoughts?
Is the 3.0.4 version from this link https://build.nethunter.com/twrp/oneplus/twrp-3.0.4-0-oneplus3.img a unified 3/3T version ? or 3 only ?
ScratMan38 said:
Is the 3.0.4 version from this link https://build.nethunter.com/twrp/oneplus/twrp-3.0.4-0-oneplus3.img a unified 3/3T version ? or 3 only ?
Click to expand...
Click to collapse
Its a unified version
ScratMan38 said:
Is the 3.0.4 version from this link https://build.nethunter.com/twrp/oneplus/twrp-3.0.4-0-oneplus3.img a unified 3/3T version ? or 3 only ?
Click to expand...
Click to collapse
I've also download it...But I'm afraid to install because it's not really clear...My device IS OP3T.
cultofluna said:
I've also download it...But I'm afraid to install because it's not really clear...My device IS OP3T.
Click to expand...
Click to collapse
Why don't your read the OP? It clearly says it is so either you can't read or you should stick to stock OOS and never flash anything
cultofluna said:
I've also download it...But I'm afraid to install because it's not really clear...My device IS OP3T.
Click to expand...
Click to collapse
it's unified. even if it says op3 it will work for the 3t. read the op. a lot of 3t stuff baked in. works fine. only issue now is the black screen with LED light when booting into recovery. at least for me
Renosh said:
Why don't your read the OP? It clearly says it is so either you can't read or you should stick to stock OOS and never flash anything
Click to expand...
Click to collapse
Thanks your reply was really helpful:laugh:
the 3.0.4.0 is recommend version or have some problem must need? for now i'm use 3.0.3.1 is good with f2fs data partition, OS version is RR-N-v5.8.0-20170117-oneplus3t-Official, i want to dirty flash update to RR-N-v5.8.0-20170122-oneplus3t-Official, i need update TWRP to 3.0.4.0 first? or i can keep use 3.0.3.1?
Renosh said:
Why don't your read the OP? It clearly says it is so either you can't read or you should stick to stock OOS and never flash anything
Click to expand...
Click to collapse
Abaddon said:
it's unified. even if it says op3 it will work for the 3t. read the op. a lot of 3t stuff baked in. works fine. only issue now is the black screen with LED light when booting into recovery. at least for me
Click to expand...
Click to collapse
There was two links in the OP, one for 3.0.3-1 mentioning "unified", and one for 3.0.4 with only "oneplus3".
As I knew the dev was working on both version and still supplies 3.0.3-1 test releases in Op3T thread that were newer than the 3.0.4 he built ; and as the changelog did not mention the unification for 3.0.4, for sure, OP was not clear at all.
Is this 3.0.3.x or 3.0.4.0 backward compatible with Marshmallow ROMs?
chancex said:
the 3.0.4.0 is recommend version or have some problem must need? for now i'm use 3.0.3.1 is good with f2fs data partition, OS version is RR-N-v5.8.0-20170117-oneplus3t-Official, i want to dirty flash update to RR-N-v5.8.0-20170122-oneplus3t-Official, i need update TWRP to 3.0.4.0 first? or i can keep use 3.0.3.1?
Click to expand...
Click to collapse
You want to update a custom rom which by definition has no issue with dm-integrity (only present in stock boot image), so if you don't have any issue keep your recovery.
It seems though that latest version has a minimized risk of issues with f2fs so why not updating it?
cultofluna said:
Thanks your reply was really helpful[emoji23]
Click to expand...
Click to collapse
He was right, the thread's title says clearly 3 and 3T.

[10] LineageOS 17.1 for z3c

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Code:
[COLOR="Purple"]#include <std_disclaimer.h>[/COLOR]
[COLOR="Navy"]/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/[/COLOR]
Introduction
LineageOS, an open-source Android distribution, is available for several devices,
with more being continuously added thanks to the biggest, yet ever growing, Android open-source community.
Join us and breathe new life in your device, be it old or new.
Click to expand...
Click to collapse
If you don't know LineageOS and would like to read about it before installing it you can take a look at the official Website.
Features
Individuality
Customization is paramount to productivity.
That’s why LineageOS promises to push for user personalization and preference.
Everyone is unique and your device should be too.
Click to expand...
Click to collapse
Security
Your data, your rules. With powerful tools such as Privacy Guard, you are in control of what your apps can do whenever you want.
Trust will help you understand the security of your device and warn you about possible threats.
We take security very seriously: that’s why we deliver security updates every month to all our supported devices.
And to make your device more secure, lock everything behind an enhanced lock screen.
Click to expand...
Click to collapse
Longevity
LineageOS extends the functionality and lifespan of mobile devices from more than 20 different manufacturers thanks to our open-source community of contributors from all around the world.
Click to expand...
Click to collapse
Installation instructions
Prerequisites:
Unlocked Sony Xperia Z3 Compact
Fastboot drivers to install TWRP
Micro-USB Cable to connect your phone to your computer
Install:
Reboot to TWRP. *
Wipe cache, dalvik cache, data and system.
Install ROM.
Install 10.0 Gapps for ARM. **
* recommended TWRP: Post #2
** optional, opengapps
Downloads
Download the ROM
Over the Air Updates
To use OTA updates please read Post #2
Sources
DEVICE:
https://github.com/LineageOS/android_device_sony_z3c
https://github.com/LineageOS/android_device_sony_msm8974-common
https://github.com/LineageOS/android_device_sony_shinano-common
KERNEL:
https://github.com/LineageOS/android_kernel_sony_msm8974
Addons
OpenGapps
Magisk
Thanks
Whole LineageOS Team for this amazing ROM
@koron393
@SpiritCroc
@Myself5
@nailyk
@drakonizer
@rcstar6696
@tomascus
I hope I haven't forgot anyone
Bugs
Current hardware support state: Gist
WHAT'S BROKEN
You tell me.
XDA:DevDB Information
LineageOS 17.1 for z3c, ROM for the Sony Xperia Z3 Compact
Contributors
NeoArian
ROM OS Version: Android 10
ROM Kernel: Linux 3.x
ROM Firmware Required: 23.5.A.1.291
Based On: AOSP
Version Information
Status: Beta
Created 2019-10-02
Last Updated 2020-01-04
OTA and TWRP recovery
Over the Air Updates
My upload script automatically pushed OTA updates to my GitHub.
If you want to make them visible through the Updater you can flash the attached magisk module LineageOS-17.1_z3c-OTA-v1.zip or add the line
Code:
lineage.updater.uri=https://raw.githubusercontent.com/ArianK16a/OTA/lineage-17.1/z3c.json
manually to your build.prop. You should use the recommended TWRP so that the updates flash fine.
TWRP recovery
TWRP 3.3.1 for our z3c with Android 10!
The TWRP for Android 10 is attached to this post.
Source is available at: https://github.com/z3c-pie/twrp_device_sony_z3c/tree/android-10.0
Changelog for twrp-3.3.1-1-z3c-20191212-sar.img
Improved System as root support, /system is a symlink to /system_root/system now
Changelog for twrp-3.3.1-1-A10.0-z3c.img
Added Bootlogo, booting from offline state will display the original sony logo now instead of nothing
Fixed fastboot boot
Updated kernel cmdline from 23.5.A.1.291
How to install this build:
Reboot to fastboot by holding volume up while connecting your device to your computer
Open a terminal and move to the directory with TWRP in it
Rename the downloaded image to twrp.img
Type
Code:
fastboot flash recovery twrp.img
Boot into TWRP while the device is powered off press the power and volume down button
Feel free to ask questions or give feedback about TWRP here .
Have a nice day!
Additional information about the recovery on this device:
First of all we should make the basics clear: On our Z3 Compact we have got a bootloader update which can boot a recovery from powered off state by pressing volume down and the power button. Because we haven't ever had this updated bootloader and not all sony devices received the update, there have been some intelligent people who brought a special init binary which can handle recovery boots during a normal boot. This means when using advanced reboot from the ROM or pressing a volume key while the sony logo appears at boot. https://github.com/LineageOS/android_device_sony_common/commits/lineage-16.0
To make this work there is this method to extract the ramdisk: https://github.com/LineageOS/androi...eage-16.0/extract_ramdisk/extract_ramdisk.cpp which uses zlib to decompress it. So far so good, zlib can decompress the default compression for recovery ramdisk which is gzip. However LZMA is more effective to reduce the size so we took it's advantage: https://github.com/omnirom/android_...mmit/885b01223a460d3f2500155ea415bdc8573679bc in order to fit recoverys compiled from recent environments (android-9.0 in my case) into our small FOTAKernel partition.
According to this change the init_sony can't handle the recovery boot anymore because it can't decompress the recovery's ramdisk so nailyk and Diewi (as far as i know) added support to decompress LZMA compressed ramdisk's with this chain: https://github.com/sonyxperiadev/device-sony-common-init/pull/20/commits
However these commits have never been merged into the LineageOS/android_device_sony_common nor the sonyxperiadev/device-sony-common-init. Since your ROM, CarbonROM, is using a fork of LineageOS/android_device_sony_common is missing these commits the recovery boot fails with a kernel panic, like this: https://del.dog/egawososux.htm
So you can either use a recovery which doesn't compress the ramdisk with LZMA (for example the one from here: https://forum.xda-developers.com/z3-compact/development/recovery-twrp-3-2-3-0-aries-t3837192 or ask your ROM developer to pick the according commits into the sony_common tree/use my fork of LineageOS's one https://github.com/z3c-pie/android_...mits/fa85dfcc07f42d73f9a1abf1f4c82d8bf0486a93 which would enable you to use recent TWRP builds with a LZMA compressed ramdisk.
I hope i presented it clearly and in the right way,
Have a nice day!
EDIT: Minimized patch for LZMA is available here: https://review.lineageos.org/c/LineageOS/android_device_sony_common/+/252923
Click to expand...
Click to collapse
The new build is up!
Get it from here: https://sourceforge.net/projects/ep...age-17.0-20191002-UNOFFICIAL-z3c.zip/download
Make sure to use the new TWRP from Post #2 because Android 10 introduces System-as-Root which can lead to weird behaviour in the old TWRP.
Note that there are not all features from LineageOS 16.0 ported over yet and there can be unexpected, yet unlisted bugs.
MY personal hardware support list can be found here: https://gist.github.com/ArianK16a/1e46c463a5c910efb322d9cf0e16c3c0 but as always, i can't guarantee you anything!
Happy flashing!
I will try, thx :>
but there are no opengapps for 10,
what about this? will be good?
https://www.cyanogenmods.org/download-gapps-for-android-10/
hah ok now I don`t know anything... ;/
still same problem with this freakin camera and torch exactly like in v16
all my steps:
1.
flashtool64 -> Stock Android 6.0.1 for D5803 - 23.5.A.1.291 - Unbranded - Baltic Generic (1288-5413)
https://forum.xda-developers.com/z3-compact/general/list-stock-firmwares-d5803-d5833-t2906706
2.
TWRP for 6.01 - with this https://forum.xda-developers.com/z3-compact/general/recovery-root-mm-575-lb-t3418714
Kernel .575 -> recovery for mm575 ->kernel .291
3.
installation of yours TWRP - twrp-3.3.1-A10.0-z3c
4. in twrp 3.3.1 wipe cache, dalvik cache, data and system, rom installation
5. camera and torch doesn`t working ;/ "camera keeps stopping" and torch is greyed out
NIce, thank you
hhpl said:
hah ok now I don`t know anything... ;/
still same problem with this freakin camera and torch exactly like in v16
all my steps:
1.
flashtool64 -> Stock Android 6.0.1 for D5803 - 23.5.A.1.291 - Unbranded - Baltic Generic (1288-5413)
https://forum.xda-developers.com/z3-compact/general/list-stock-firmwares-d5803-d5833-t2906706
2.
TWRP for 6.01 - with this https://forum.xda-developers.com/z3-compact/general/recovery-root-mm-575-lb-t3418714
Kernel .575 -> recovery for mm575 ->kernel .291
3.
installation of yours TWRP - twrp-3.3.1-A10.0-z3c
4. in twrp 3.3.1 wipe cache, dalvik cache, data and system, rom installation
5. camera and torch doesn`t working ;/ "camera keeps stopping" and torch is greyed out
Click to expand...
Click to collapse
I don't understand what you are doing after you flashed stock. Can you also format data within my twrp? I have recognised that the /data partition size has been set wrong in most older TWRP's.
hhpl said:
I will try, thx :>
but there are no opengapps for 10,
what about this? will be good?
https://www.cyanogenmods.org/download-gapps-for-android-10/
Click to expand...
Click to collapse
There are GApps: https://sourceforge.net/projects/opengapps/files/arm/beta/20190928/
NeoArian said:
I don't understand what you are doing after you flashed stock. Can you also format data within my twrp? I have recognised that the /data partition size has been set wrong in most older TWRP's.
Click to expand...
Click to collapse
ok I had something in my head that I needed first this marshmallow recovery... I don`t know why
but now I flashed once again 291 and then yours twrp and wiped all the stuff ofc included data and still torch and camera doesn`t work ;/
hhpl said:
I don't understand what you are doing after you flashed stock. Can you also format data within my twrp? I have recognised that the /data partition size has been set wrong in most older TWRP's.
ok I had something in my head that I needed first this marshmallow recovery... I don`t know why
but now I flashed once again 291 and then yours twrp and wiped all the stuff ofc included data and still torch and camera doesn`t work ;/
Click to expand...
Click to collapse
Format is not wipe. Make sure that twrp asks you to confirm by typing yes.
NeoArian said:
Format is not wipe. Make sure that twrp asks you to confirm by typing yes.
Click to expand...
Click to collapse
ok done, once again nothing new, still same situation
Can this ROM be installed on top of LineageOS 16 without wape?
Camera and Bluetooth are fine.
Flashing the only gapps for Android 10 I found made the navbar buttons not to work.
I guess we should wait for better gapps build.
Great anyway, thanks
marcogiannetta said:
Camera and Bluetooth are fine.
Flashing the only gapps for Android 10 I found made the navbar buttons not to work.
I guess we should wait for better gapps build.
Great anyway, thanks
Click to expand...
Click to collapse
Are you talking about the GApps I posted a few posts back? https://sourceforge.net/projects/opengapps/files/arm/beta/20190928/ If I remember correctly I didn't have problems while I tested them...
NeoArian said:
Are you talking about the GApps I posted a few posts back? https://sourceforge.net/projects/opengapps/files/arm/beta/20190928/ If I remember correctly I didn't have problems while I tested them...
Click to expand...
Click to collapse
No, I found a beta version on Google.
Gotta check again with the one you provided, I'll edit this post in a while
Edit: buttons don't work again
marcogiannetta said:
Camera and Bluetooth are fine.
Flashing the only gapps for Android 10 I found made the navbar buttons not to work.
I guess we should wait for better gapps build.
Great anyway, thanks
Click to expand...
Click to collapse
wow, so what I`m doing wrong... could you tell me how you install this rom step by step and what rom you had before? steps before installation and steps after or something, I have installed this rom 10 times and never got my camera work, that is crazy
hhpl said:
wow, so what I`m doing wrong... could you tell me how you install this rom step by step and what rom you had before? steps before installation and steps after or something, I have installed this rom 10 times and never got my camera work, that is crazy
Click to expand...
Click to collapse
The same basic steps you'll find in the OP
marcogiannetta said:
Camera and Bluetooth are fine.
Flashing the only gapps for Android 10 I found made the navbar buttons not to work.
I guess we should wait for better gapps build.
Great anyway, thanks
Click to expand...
Click to collapse
I've experienced the same issue after installing gapps - only back button works. Gesture navigation is working fine.
Other bugs I've noticed:
-battery icon style cannot be changed
-launching camera app with hardware button doesn't work
-system accent color cannot be changed (there is only one option listed)
Barciej33 said:
Other bugs I've noticed:
-battery icon style cannot be changed
-launching camera app with hardware button doesn't work
-system accent color cannot be changed (there is only one option listed)
Click to expand...
Click to collapse
You must read 1st to 3rd post.
LOS17 is just getting started.
Note that there are not all features from LineageOS 16.0 ported over yet and there can be unexpected
Click to expand...
Click to collapse
@NeoArian Any chance for a screen recording of how it runs?
JamesMars said:
@NeoArian Any chance for a screen recording of how it runs?
Click to expand...
Click to collapse
No? If you are interested you can test it yourself.
I have my holidays now anyway.

[ROM][11] DarkJoker360 AOSP 11 for Huawei P8 Lite 2017

Hi,
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
DarkJoker360 AOSP 11 for Huawei P8 Lite 2017
*** Stable Version ***
About​
Android is an open source software stack for mobile devices and a corresponding open source project led by Google. This site and the Android Open Source Project (AOSP) repository offer the information and source code needed to create custom variants of the Android stack, port devices and accessories to the Android platform, and ensure devices meet the compatibility requirements that keep the Android ecosystem a healthy and stable environment for millions of users.
Click to expand...
Click to collapse
Working​
* Touchscreen
* Audio
* Boot
* Bluethoot
* Internal/External storage
* Mtp / Adb
* Sensors
* Wifi
* RIL
* Camera
* NFC
* FP gestures​
Click to expand...
Click to collapse
Not Working​
* You tell me
Click to expand...
Click to collapse
NOTE: The signal icon is buggy due to Huawei weird ril implementation, I am still looking to fix it over the new Android 10-11 telephony changes.
Installation​
* you must have TWRP installed, use this one (make sure to have the unofficial Android 11 one ! )
WARNING: You must be decrypted before installing it otherwise it won't boot. (Read second post.)
* go to TWRP
* format data
* reboot to TWRP again
* do a full wipe (system, data, cache, dalvik/art cache) !
* reboot to bootloader
* extract AOSP 11
* run: fastboot flash system <drag system.img here>
* reboot to TWRP
* resize system
* flash gapps (optional)
* flash NFC.zip
NOTE: this zip is needed for having working NFC. DO NOT IGNORE IT !
* reboot to System
* Enjoy !!!​
Click to expand...
Click to collapse
Update​
* reboot to TWRP and do a wipe cache, dalvik/art cache
* reboot to bootloader
* extract AOSP 11
* run: fastboot flash system <drag system.img here>
* reboot to TWRP
* resize system
* flash gapps (optional)
* flash NFC.zip
NOTE: this zip is needed for having working NFC. DO NOT IGNORE IT !
* reboot to System
* Enjoy !!!​
Click to expand...
Click to collapse
If you are getting Error 70 while flashing gapps just resize system from TWRP !
If gapps are giving network errors or other kind of errors install them after first boot !
Download​
AOSP 11 and NFC fix
NikGapps
OpenGapps​
Click to expand...
Click to collapse
Please support my work, it's very important! Thanks
DONATIONS
Regards !​
NOTES
* For root method read this post, for rooting with magisk read this instead.
* If you face corrupted storage issues you need to go back on emui and re-install the rom.
* I recommend NikGapps core with SetupWizard add-on.
* Use 8.0.0.360 or maximum .400 firmware for booting the rom.
* Gapps can may give "Uncertified device" error and abort the google account login, use this guide to fix it (thanks to @latviandude )
* If you want VoLTE/Wifi Calling working flash this zip
** You must be decrypted for booting this rom **
Before following the installation steps format data and flash this file via TWRP.
Hi, I flashed yesterday AOSP 11via fastboot, storage decrypted with recommanded TWRP using edited fstab.hi6250. Rom seems to work better for me than AOSP 10, screen recorder works, backlight works, already resolved problem with bluetooth(connected/disconnected) by disabling HD Audio in developer options.
Battery drainage while using worries, but it is too early to say, still testing it. There is no way I can get NFC fix working(never could on any custom rom) so obviously I’m doing something wrong. Hope I’ll figure it out.
Thanks @DarkJoker360, great work!
EDIT: Flashing NFC fix worked and it is present in settings(Connected devices), but it's absent in status bar(I can live with that)
Hi . how can i "resize system" ?
piterconlai said:
Hi . how can i "resize system" ?
Click to expand...
Click to collapse
Go to twrp recovery, press "Wipe" Then choose "Advanced Wipe". After that select/check "System" box and then press on "Repair or Change File System" and then you will see down "Resize File System" - press on it and done ur System has been resized.
hardcorehenry said:
Hi, I flashed yesterday AOSP 11via fastboot, storage decrypted with recommanded TWRP using edited fstab.hi6250. Rom seems to work better for me than AOSP 10, screen recorder works, backlight works, already resolved problem with bluetooth(connected/disconnected) by disabling HD Audio in developer options.
Battery drainage while using worries, but it is too early to say, still testing it. There is no way I can get NFC fix working(never could on any custom rom) so obviously I’m doing something wrong. Hope I’ll figure it out.
Thanks @DarkJoker360, great work!
View attachment 5194331 View attachment 5194333
EDIT: Flashing NFC fix worked and it is present in settings(Connected devices), but it's absent in status bar(I can live with that)
Click to expand...
Click to collapse
Hello I would like to ask you some information
- the bluetooth headphones work?
- How's the battery drain going? More or less how many hours of screen does it make?
Added to AOSP 11 accent, font and icon shape picker (like theme picker), now working on an aosp icon pack picker (aka styles) !
piterconlai said:
Hello I would like to ask you some information
- the bluetooth headphones work?
- How's the battery drain going? More or less how many hours of screen does it make?
Click to expand...
Click to collapse
I made more thorough research, hope it’ll be useful for further development.
Battery:
When idle(sleep) it looses 1% overnight, when only screen on battery drain is 1% per 10 min, when only stopwatch on it looses 1% per 5 min. Checked without SIM and brightness level 45%. Now I’m going to let it drain completely and charge again. Maybe this results are normal(right define normal) and needles to worry about.
Bluetooth:
After pair my earbuds automatically trying to switch to aptX audio codec(they have aptX, AAC and SBC support) without success(connected/disconnected again and again), not possible to chose other codec when HD Audio in developer options is enabled. When disabled it automatically chooses SBC(without possibility of change), but this codec works without problems.
hardcorehenry said:
I made more thorough research, hope it’ll be useful for further development.
Battery:
When idle(sleep) it looses 1% overnight, when only screen on battery drain is 1% per 10 min, when only stopwatch on it looses 1% per 5 min. Checked without SIM and brightness level 45%. Now I’m going to let it drain completely and charge again. Maybe this results are normal(right define normal) and needles to worry about.
Bluetooth:
After pair my earbuds automatically trying to switch to aptX audio codec(they have aptX, AAC and SBC support) without success(connected/disconnected), not possible to chose other codec when HD Audio in developer options is enabled. When disabled it automatically chooses SBC(without possibility of change), but this codec works without problems.
Click to expand...
Click to collapse
Thanks for the reply
so can you do 8 h of screen with this rom?
Have you tried if the blutooth smartwatch works by accident?
Last question :
Would it be possible to go back to a previous version if I didn't like it? I am currently using lineage 16 and I am very happy with it
piterconlai said:
so can you do 8 h of screen with this rom?
Click to expand...
Click to collapse
Well you have to calculate yourself from data I provided or flash rom and find out.
piterconlai said:
Have you tried if the blutooth smartwatch works by accident?
Click to expand...
Click to collapse
I don’t have such device.
piterconlai said:
Would it be possible to go back to a previous version if I didn't like it? I am currently using lineage 16 and I am very happy with it
Click to expand...
Click to collapse
If you are more interested in comfort than struggle, testing and help DEV to perfect this rom don’t change anything. Going back means flash and install everything from scratch.
I'm always getting an error when flashing system img via fastboot...
error code : Invalid sparse file format at header magic
The system partition can't be written after the first sparse.
I tried with linux and windows, changed the usb cable but nothing change.
Is there anything to do before this operation except the ones in the insttructions ?
Junkilito said:
I'm always getting an error when flashing system img via fastboot...
error code : Invalid sparse file format at header magic
The system partition can't be written after the first sparse.
I tried with linux and windows, changed the usb cable but nothing change.
Is there anything to do before this operation except the ones in the insttructions ?
Click to expand...
Click to collapse
I’m not sure I also had this warning( Invalid sparse file format at header magic) but after a while flash went from beginning till the end without problems. Two things come to my head: outdated platform-tools or/and you are on wrong firmware(take a look at screenshots DarkJoker 8.0.0.400 and mine 8.0.0.402), but as I said not sure and it’s pure guess from my side. Wait for second opinion.
hardcorehenry said:
I’m not sure I also had this warning( Invalid sparse file format at header magic) but after a while flash went from beginning till the end without problems. Two things come to my head: outdated platform-tools or/and you are on wrong firmware(take a look at screenshots DarkJoker 8.0.0.400 and mine 8.0.0.402), but as I said not sure and it’s pure guess from my side. Wait for second opinion.
Click to expand...
Click to collapse
I have exactly the same problem. Adb also gives me this error, even though it always continues flashing though and also finishes then.
The ROM is however never bootable for me and I can't figure out what I have done wrong. I was on 8.0.0.402 before and used AEX 9 ROM just fine.
What version of TWRP did you use for successful results? I can't find a newer one from pretoriano80 but 3.2.1.0. Maybe that is a problem?
Regards
Friedensfurz said:
I have exactly the same problem. Adb also gives me this error, even though it always continues flashing though and also finishes then.
The ROM is however never bootable for me and I can't figure out what I have done wrong. I was on 8.0.0.402 before and used AEX 9 ROM just fine.
What version of TWRP did you use for successful results? I can't find a newer one from pretoriano80 but 3.2.1.0. Maybe that is a problem?
Regards
Click to expand...
Click to collapse
Hi,
I’ll try exactly step by step how I did it(I’m on macOS so there might be small differences). When on stock after unlocking bootloader and flashing TWRP(took from this post), you need to copy on your external sdcard or USBOTG NFC_fix.zip, gapps(optional) and fstab.hi6250b.zip or edit your own from /vendor/etc like in this post. Boot into TWRP (backup just in case your vendor partition)and either flash fstab.hi6250b.zip(easy way) or replace fstab.hi6250 in /vendor/etc with edited one via TWRP file manager(harder way). After flashing/replacing enter in TWRP into Wipe and Format Data>yes then reboot into TWRP, wipe: cache, dalvik cache and data and reboot into system. You should reboot into ugly looking stock rom. In settings>security>more you should see Encrypt phone that means storage is decrypted. Enable debug and confirm via adb and boot into TWRP. Make backup(ramdisk, kernel, data, system) enter section Wipe>Advanced Wipe and wipe Dalvik/ART Cache, Cache, Data and System. Don’t Format Data again because most probably it'll f*up Internal Storage besides internal storage is already decryptet. Reboot into bootloader. Run in terminal(macOS) or whatever is used in Windows/Linux:
fastboot devices
fastboot flash system drag and drop aosp-11_prague_20210117.img
Reboot into TWRP, resize System if needed, flash NFC_fix.zip and gapps(optional).
Wipe Cache and Dalvik, reboot and that should be all.
Junkilito said:
I'm always getting an error when flashing system img via fastboot...
error code : Invalid sparse file format at header magic
The system partition can't be written after the first sparse.
I tried with linux and windows, changed the usb cable but nothing change.
Is there anything to do before this operation except the ones in the insttructions ?
Click to expand...
Click to collapse
It is a know "issue", just ignore it and boot it.
It is most likely a warning.
DarkJoker360 said:
It is a know "issue", just ignore it and boot it.
It is most likely a warning.
Click to expand...
Click to collapse
Nope it's caused by new version of official firmware for this phone, system partition on newer versions is 2GB on b388 is 3GB.
That would explain why in the past I had troubles reflashing even stock SYSTEM.img via fastboot on latest official firmware. @DarkJoker360 maybe it’s worth mentioning that flashing anything on latest firmware is not advised, and firmware should be downgraded(latest safe confirmed working firmware 8.0.0.402[service rom] or 8.0.0.400 [the same as developer's]).
hardcorehenry said:
That would explain why in the past I had troubles reflashing even stock SYSTEM.img via fastboot on latest official firmware. @DarkJoker360 maybe it’s worth mentioning that flashing anything on latest firmware is not advised, and firmware should be downgraded(latest safe confirmed firmware 8.0.0.402[service rom]).
Click to expand...
Click to collapse
I recommend .360 firmware or .400 (the one I am using)
Newer firmwares with newer security patches may refure to boot due to some Huawei changes for avoiding modding.
Thanks for all of your help. I managed to get AOSP 11 to boot, the reason why it initially just bootlooped for me was that I did not directly come from Stock ROM. Very weird. Following @hardcorehenry 's steps worked fine. Is it somehow possible to get Magisk going on this ROM? I read the AOSP 10 thread and installed the "magisk phh v21.0".zip file, but now I am stuck on the "Your device cannot be trusted, your device is booting" screen. Any ideas for this? Many thanks.
Friedensfurz said:
Thanks for all of your help. I managed to get AOSP 11 to boot, the reason why it initially just bootlooped for me was that I did not directly come from Stock ROM. Very weird. Following @hardcorehenry 's steps worked fine. Is it somehow possible to get Magisk going on this ROM? I read the AOSP 10 thread and installed the "magisk phh v21.0".zip file, but now I am stuck on the "Your device cannot be trusted, your device is booting" screen. Any ideas for this? Many thanks.
Click to expand...
Click to collapse
No magisk at the moment, I'm sticking with A10 untill Magisk 19.3 will work on this rom (need to pass safety net)

[GUIDE][RECOVERY] TWRP 3.6.0_9-0 Custom Recovery for Lenovo Tab3 8 | TB3-850F/M

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Lenovo Tab3 8 Tablet
Models: TB3-850F/M
TWRP 3.6.0_9-0​OVERVIEW
The TWRP ports currently available for the Lenovo Tab3 8 are outdated by a number of years and are lacking in official support for more recent Android release versions. TWRP 3.6.0_9-0 was originally compiled using the Android 9 tree, and therefore supports all Android versions up to, and including, Android 9 Pie. This custom recovery build also includes improved manageability of Android supported filesystem standards, better protection against data loss and corruption, added functions, and improved theming support. Likewise, I've made several bug fixes and cleaned up the codebase. To read a more in-depth list on the changeling of TWRP 3.6.0, visit this link the official TeamWin site here: TWRP 3.6.0 Release Notes
REQUIREMENTS
First and foremost, you need an unlocked bootloader. There are a plethora of guides hosted here on XDA that provide detailed instructions for standard bootloader unlocking. If your tablet is not yet unlocked, go ahead and complete that task and return here once finished. Secondly, you will need a Windows PC or laptop with the SDK platform tools installed or, alternatively, the Minimal ADB & Fastboot tools (link provided below). Note that a Linux or Mac machine may also be used; for purposes of this guide, however, I will be focusing solely on a Windows setup. Next, you will need an internet connection to download the files provided in the links below. Lastly, you will need the factory supplied or a quality equivalent USB-A to micro USB data syncing/charging cable.
COMPATIBILITY
This TWRP custom recovery is compatible with both hardware variants (80 & 81) of the TB3-850F model, as well as the TB3-850M 4G-LTE supported model.
DISCLAIMER
Installing a custom recovery on an Android mobile device is an invasive procedure in terms of the modifications made to the stock partition index. Flashing the partitions of your device is a task that encompasses the inherent risk of bricking or otherwise rendering your device inoperable. By proceeding further, you are assuming sole responsibility for the integrity and operability of your tablet. Follow the instructions carefully, employ some patience, and things should go smoothly. I would encourage inexperienced members to read this guide in full prior to starting the instructions.
INSTRUCTIONS:​
Download the Minimal ADB & Fastboot tools from the below link and install the program on your Windows PC & laptop. Next, open your Windows File Explorer, open your C: drive, then open Program Files x86. Copy the Minimal ADB & Fastboot folder and paste it to your desktop. (Copying the directory to the desktop isn't required, but does configure the ADB & Fastboot path to a more convenient directory from which to work);​
Download TWRP 3.6.0_9-0 from the below link and save the image file in your ADB & Fastboot folder on your computer;​
Boot your tablet into fastboot mode as follows: with your tablet booted into the Android OS, ensure ADB Debugging is enabled in the Developer Options menu. Connect the tablet to your PC using a sufficient USB-A to micro USB syncing/charging cable;​
Open the ADB & Fastboot folder on your computer. Double click cmd-here.exe to open a command window, and execute the following command:
Code:
adb reboot bootloader
Your tablet may prompt you to authorize the ADB connection;​
If properly connected your Tab3 8 will boot into fastboot mode, which will be indicated by the status displayed on the tablet. To verify proper fastboot communication between your computer and tablet, execute this command:
Code:
fastboot devices
If everything is set up properly, the command window will return an alphanumeric string consistent with your tablet S/N;​
If your S/N isn't displayed, or if your are given a WAITING... notification, your tablet is not being recognized correctly. Change USB ports, try a different data syncing cable, and/or update your fastboot drivers;​
Once a solid connection has been verified, execute the following command to flash TWRP to your tablet:
Code:
fastboot flash recovery twrp.img
(The TWRP file you downloaded below is named twrp.img. The above flashing command assumes that you have left the filename unchanged.);​
You may now boot your tablet into TWRP recovery mode by executing:
Code:
fastboot boot twrp.img
​
Task complete. You should now running TWRP 3.6.0_9-0 on your Lenovo Tab3 8 device. ​
DOWNLOADS:
• TWRP 3.6.9_9-0 Lenovo Tab3 8
• Minimal ADB & Fastboot Tools v1.4.3
THANKS & MENTIONS:
First and foremost, thanks to TeamWin Recovery Project for providing the base build, and for their many years of hard work and contributions to the custom Android community. Thanks to the XDA members who remain dedicated to the Lenovo Tab3 8 and its continuing development projects. Although I'm slow, I have two more projects in the works for our beloved tablets. Thank you for your patience my friends.​BUGS:​Please leave a comment detailing any bugs or instabilities you may encounter. I will diligently try to patch and fix any reported bugs.​
Hi,
I flashed TWRP v3.4.1-0 from your link but I end up in a boot loop where I fail to mount any of the partitions.
The DL Link for TWRP v3.6.0_9-0 seems to be broken. Do you have an alternate for that?
Note: I'm working on a TB3-850F.
Thanks!
Okay I think dm-veriry is to blame. If you mounted /system after installing TWRP, dm-veriry will be triggered and the device will boot loop.
You need to flash a dm-verity disabler. I'll get you a link .
Any chance you might also have a link to the updated twrp you had linked above? It's a dead link now.
Diznatch52 said:
Any chance you might also have a link to the updated twrp you had linked above? It's a dead link now.
Click to expand...
Click to collapse
Sure. I'll fix the link
Ok link is fixed. Follow these steps.
Warning: This will wipe all data from your device.
Download the no-veriry_opt encrypt file linked below and save it to an external micro SD card. Insert the micro SD in your TB3-850F;
Install TWRP v3.6.0_9-0 and reboot recovery;
Select Wipe, Format Data, and swipe to commence.
Select Install and navigate to the saved location of the no-verity zip you downloaded in Step 1. Select the zip and swipe to commence installation.
Reboot system
no-verity_opt-encrypt_v6.1.zip
If you want root access of the Android OS, install a Magisk systemless root script after Step 4.
Awesome! I'll give it a shot.
Diznatch52 said:
Awesome! I'll give it a shot.
Click to expand...
Click to collapse
Download Magisk v24.3 from this link https://mega.nz/file/4c43FbwS#Qd-pKoupa8LZ-EI9qe5Zsr3L4rSz8NDv2Ojknrd8sCk
Install it after Step 4 if you want root. After you are booted, you can update Magisk to the latest v25.2 using the Direct Install option.
For some reason, after this process, running `adb reboot recovery` brings me to an android crash screen. Any idea why?
To confirm, this procedure did work and you were able to boot into the OS? Once you confirm I'll try to resolve your ADB issue.
Yes.
Diznatch52 said:
Yes.
Click to expand...
Click to collapse
Ok download the official TWRP App, grant it root permission, and flash the TWRP v3.6.0_9-0 to the recovery partition. Reboot your tablet and then try the adb reboot recovery command again.
When you flashed the original TWRP with fastboot, did you immediately boot into recovery and flash TWRP again using the Install>Image option?
As soon as I unbrick this again, I'll give it a shot
Edit: booting into recovery now gives me twrp! Thanks so much!
Now time to see if I have better luck flashing lineageOS
IT WORKED!
Thank you so much!
Anytime friend. Glad it worked out.
Update: December 13, 2022.
I am presently working on bumping TWRP up to v3.7.0_9-0.
The v3.7.0 base build includes Python support for Android Oreo & newer versions.; keymaster API V1 fixes; fixes on copying sepolicy on devices with no /vendor partition; several fixes on custom theme support as well as perfected ROM multiboot functionality. Also, I am updating my implementation of PIGZ compression for data transfer speed improvements and enhanced protection against data corruption. Stability improvements and minor bug fixes also included.
I will keep the OP updated with an ETA.
Diznatch52 said:
IT WORKED!
Thank you so much!
Click to expand...
Click to collapse
I have a build of LineageOS 14.1 that I optimized, fixed some bugs and removed settings entries on SIM cards & mobile networks. Open source libraries have been updated and the security patch level bumped up to June, 2022. GApps have been removed and several performance enhancements have been added. I'm without a working 850F at this time, but I should have a working device soon. I will post the LOS 14.1 build as soon as I can fully test it.
Diznatch52 said:
IT WORKED!
Thank you so much!
Click to expand...
Click to collapse
I have a build of LineageOS 14.1 that I optimized, fixed some bugs and removed settings entries on SIM cards & mobile networks. Open source libraries have been updated and the security patch level bumped up to June, 2022. GApps have been removed and several performance enhancements have been added. I'm without a working 850F at this time, but I should have a working device soon. I will post the LOS 14.1 build as soon as I can fully test it.
Oh, I nearly forgot, would you care to list your stock firmware build number please. Thanks
That would be incredible. I don't know if I still have access to my stock firmware build. I've already got a version of LOS 14.1 (could admittedly be snappier) installed. If you tell me how to find it, happy to send it over.
I just meant on your 850F, go to device settings, about tablet, and let me know your build number. Thx

How To Guide [OUTDATED - PLEASE USE UNOFFICIAL LINEAGEOS INSTEAD] Installing a GSI on Samsung M12/A12.

I am deleting this guide since M12 will soon recieve an unofficial build of LineageOS 19.1. Don't ask when, as I'm not the lead developer but I helped with it
Update 1: I figured out how to make script run on boot. Instructions revised. If you followed earlier check them again
Update 2: Magisk 24.1 is now stable. Instructions revised.
Update 3: I contacted phh and he implemented the script inside his trebleapp. Instructions revised and modified trebleapp is attached. NOTE: GSIs newer than 7/Feb/2022 will include this workaround by default.
Update 4: This guide is now unnecessary now that unofficial LineageOS is very close to release
Achievement unlocked: flashed GSI with FBE enabled! ​
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
In short, I've successfully done flashing of @phhusson's latest version of Android 12 GSI (which is v402 as of today). To do this, I needed to modify the multidisabler script so it won't disable FBE, format the userdata using the stock recovery, flash TWRP, resize tmpfs to proper size, push GSI image into tmpfs and flash it using TWRP. I used the securized image with vndklite variant, since there was no securized images for regular vndk releases (but it seemed that vndk was working better for me, at least I have no USB connection anymore where with VNDK I was able to have USB debugging). Maybe I'll try re-flashing it once I'll patch the regular images and securize them (since I'm on *nix, I can just mount them and modify their contents) and take an approach of finding how Samsung ROMs are working OK. For now, I need to take a break from all bootloops I had in the process of FBE flashing .
Anyway, the goal of this experiment was to use GSI ROMs as a daily driver and having FBE disabled could otherwise cause a serious problem on device loss.
So, onto the list what's been tested (that wasn't noted before):
Screen locking – it seems that the workaround for the screen is not applied before unlocking the phone, probably because the app is not running yet. This might work with the script used as postfs module.
EDIT: I've found some notes in the Magisk documentation that both post-fs data and late_start services are run after data is decrypted, which basically means applying this workaround using Magisk seems to be pointless for now (maybe not after PPH app will stop providing the workaround)... Probably the best option would be patching the ROM itself, either with flashable ZIPs or directly before flashing it (most GSIs can be mounted under Linux and tweaked).
Adaptive brightness – not working, since all virtual sensors are not working for now. Might be easy to fix through as I've found some stuff in the official ROM that I had an idea to experiment with putting them into GSIs (as a Magisk module, to avoid a breakage).
USB – as I said, a data transfer via USB is not working for me for some reason. It worked for me once I had VNDK Android 12 GSI installed (same version).
Booting with stock kernel – I had some successful attempts doing that, but it further was a cause of a bootloop, at least once I had installed Magisk. Therefore, I'll recommend patching the Magisk the way as in tutorial (after patching the kernel) to have everything working for now.
For people who wants to play with stock images but don't know how: you can use simg2img, lpunpack and Linux to extract and mount the official ROM image in approach of finding there some tips like in initrc services why some stuff is working fine on Samsung while it doesn't on GSIs. Maybe I would tinker with it a bit, trying to export a few services and libraries in an approach to create a Magisk module with all stuff needed to have a fully functional GSI, but I'm tired of modding for now, especially when this is my first Samsung phone I had to deal with.
Edit: Typo fixes, added additional text formatting.
Amazing work. If you need testers feel free to PM me. As a sidenote, poking in sysfs led me to believe that android is sending the info needed to read the proximity but the kernel is sending garbage which gets interpreted as the sensor not being triggered. Also phh should have added the workaround into his trebleapp starting from phh AOSP 12 v401, so aside from installing magisk no post install workarounds should be needed.
Attached is a photo of what cmd_result reads when a whatsapp voice message is played which reads proximity to play the message in the earpiece and turn screen off when proximity is triggered
ap4ss3rby said:
Also phh should have added the workaround into his trebleapp starting from phh AOSP 12 v401, so aside from installing magisk no post install workarounds should be needed.
Click to expand...
Click to collapse
Unfortunately, the commit was reverted as of master branch, so we should prepare for it to stop to work unless phh will work on it before releasing an another version. Also I wrote that the workaround didn't seem to apply itself before unlocking the phone (FBE encrypted) the first time and therefore decrypting sensitive data after boot. For now this makes it an requirement when using PHH app to unlock the phone before it sleeps so the touch is going to be responsive.
Anyway, it seems that even Magisk (v24.1) is not capable of running the services before data is decrypted, so now I have no idea how to bypass that in other way than patching the ROM itself and creating the `initrc` service... Anyway, this is also a hint that what samsung is doing starts before basically everything, so no APK file nor script is going to really fix it since they are meant to start after data is decrypted...
SB3P said:
Unfortunately, the commit was reverted as of master repo, so we should prepare for it to stop to work unless phh will work on it before releasing an another version. Also I wrote that the workaround didn't seem to apply itself before unlocking the phone (FBE encrypted) the first time and therefore decrypting sensitive data after boot. For now this makes it an requirement when using PHH app to unlock the phone before it sleeps so the touch is going to be responsive.
Anyway, it seems that even Magisk (v24.1) is not capable of running the services before data is decrypted, so now I have no idea how to bypass that in other way than patching the ROM itself and creating the `initrc` service... Anyway, this is also a hint that what samsung is doing starts before basically everything, so no APK file nor script is going to really fix it since they are meant to start after data is decrypted...
Click to expand...
Click to collapse
I guess for now we have two options:
A: Build custom kernel/vendor specifically for GSIs that correctly reports sensors as GSIs expect them to
B: Fix GSI issues through Magisk services implementing various workarounds in scripts. (an example is the touchscreen sleep/wake issue)
ap4ss3rby said:
Attached is a photo of what cmd_result reads when a whatsapp voice message is played which reads proximity to play the message in the earpiece and turn screen off when proximity is triggered
Click to expand...
Click to collapse
Also that's interesting those virtual sensors are still present, I personally thought that Samsung made it the way there's an virtual device create as on Linux and there's their proprietary software running somewhere in the system that uses the camera as an input and calculates it to provide the data... On the other hand, when I think about that logic, even some (if not all) virtual devices on Linux (e.g. v4l2loopback) needs to have their module loaded with the kernel to work. I'm glad at least there's no need to reinvent the wheel and no one really needs to recreate the entire algorithm for it if it's going to be in the kernel sources...
ap4ss3rby said:
I guess for now we have two options (...)
Click to expand...
Click to collapse
I feel like the B option is worse than patching the GSI ROMs, either via flashable ZIPs or on your own... This is because I couldn't find anything in docs that would let me run services before /data is going to be decrypted... Personally, I've made myself a such service using the statically-compiled Linux ARM binary (non-NDK, using GNU libs – yes, it is still runnable on Android as well) – it applies the workaround for now both when screen is turned on and off (I had no idea on which event it should really run, so I made it to run on both just to be safe) by watching the file changes based on (AFAIK) filesystem events – so it has a major advantage over your script, as it won't run in endless loop, yet watch the file responsible for brightness to change and then do its job. But even with that, TSP doesn't seem to make touch available immediately and it is still expected to be revived after 1-2 seconds.
Also, as of the methods of applying these workarounds, the other way could be modifying the ramdisk (maybe with the help of Magisk, which I believe has documented how it's actually doing it itself and how others could modify the root and init as Magisk does to load files before the OS will properly initalize itself. Yet I don't like an idea of messing myself with the boot partition, at least for now...
Debug info: I tried flashing stock to grab logs from the touchscreen driver. The logs attached here do not appear at all on an unpatched GSI (I.E flashing the GSI as is without any touch workaround).
ap4ss3rby said:
Hi, I installed LineageOS 18.1 GSI on my M127F. I want to share my guide to installing this GSI.
Code:
DISCLAIMER:
By following this guide you accept that you
may do irreversible damage to your phone.
If something breaks the responsibility is
yours only. If you want stable software that
is guaranteed to work 100% don't follow
this guide.
I assume you are running a fully stock system and and locked bootloader and firmware U3/U4.
Installing TWRP and custom kernel
Enable Developer Options by tapping on software information > build number 7 times
Enter developer options then toggle OEM Unlocking on.
Power off your phone.
Hold Vol Up + Vol Down then plug in your phone to enter download mode
THIS WILL ERASE ALL YOUR DATA AND VOID YOUR WARRANTY. Follow on screen instructions to unlock your bootloader. THIS WILL ERASE ALL YOUR DATA AND VOID YOUR WARRANTY
After this you want to download and install attached Orangefox recovery using odin. After odin is done flashing enter recovery
Format data (not wipe) in recovery
Enter terminal and type multidisabler twice
Reboot to system and verify that under security encryption is disabled
Download TWRP and custom kernel for your phone
Reboot into recovery and locate the downloaded twrp image
Select recovery.
Reboot into recovery
Install kernel, then wipe cache and reboot. You should now see that it is complaining about some internal issue. This is normal.
Installing the GSI
Download your favorite ROM from the list provided below. You want to install an arm64 a/b image.
Extract the image file
Reboot to recovery.
Select install then install image
Locate the GSI image
Select install system
After that is done return to recovery and select factory reset.
Reboot then do setup (if applicable) then download attached magisk and phh trebleapp. If your phone is stuck on bootanimation check under to fix it.
IMPORTANT: DO NOT LET THE SCREEN TURN OFF OR YOU WILL HAVE TO REBOOT TO MAKE TOUCH WORK AGAIN.
Install attached magisk
Open magisk and click on install then direct install
Download and install the attached phh-treble app apk.
Touch should now work. Enjoy your GSI.
Extras
Magisk 24.1
Open Magisk
Go to settings
Update Magisk Manager app to version 24.1
Relaunch Magisk then install magisk
Choose direct instal
Migrating to patched trebleapp
Download and install attached trebleapp
Open your root file manager
go to /data/adb/service.d
Delete the script you added earlier
Tips in case things don't work
In case after rebooting to the GSI the phone bootloops:
Download stock image from wherever you download your firmware (I use a python program called samloader)
Extract the AP of the downloaded firmware
Find userdata.img.lz4 and create a .tar archive only containing this file
Reboot to download mode
In odin select AP then locate the newly created .tar archive Then click on flash
Reboot
Continue from step 7 under the "Installing the GSI" portion of the guide
To revive the touchscreen using ADB:
In case you didn't grant adb root access but installed magisk, run adb shell then su. A root access for the app shell will appear. Grant root permission
Plug in phone to a computer with ADB
adb shell
su
cat /sys/class/sec/tsp/cmd_result
echo check_connection > /sys/class/sec/tsp/cmd
What works:
Boots
RIL
Fingerprint
Main rear camera
Front camera
Sleep/Wake (workaround in steps above, may need to sleep wake several times before it works)
WiFi
Flashlight
Rotation
Magisk 24
90Hz (M12 only. A12 doesn't have 90Hz refresh rate)
LineageOS 18.1
LineageOS 19
CAOS (GApps variant available)
phh AOSP 11 v313
phh AOSP 12 v400h
Untested
GPS
Flashing GApps. (I use fdroid and aurora store on LineageOS and CAOS has built in GApps)
USB-OTG
A127F
M127G
If I didn't list it under broken or working I didn't try it or forgot to test it.
Broken
Double tap to wake. Touchscreen turns off and I have no idea how to keep it alive while lcd is off
MTP
Virtual Proximity. Screen will stay on in phone calls and WhatsApp will always play voice messages through speaker
Flashlight brightness. Flashlight will always stay on weakest brightness with no way to adjust.
Adaptive refresh. The framerate you set in phh addons is what you get. Be prepared for slightly reduced battery.
You tell me (even though I probably don't have the solution)
Bugs
You may need to wait a little bit before touchscreen responds or sleep/wake several times before screen responds after turning the screen off
Credits
@physwizz for kernel, TWRP and orangefox
@phhusson for implementing workaround in trebleapp as well as GSI list
me for touch workaround
Links
Kernels and recoveries: https://t.me/a127f_res/113
GSIs: https://github.com/phhusson/treble_experimentations/wiki/Generic-System-Image-(GSI)-list
Click to expand...
Click to collapse
Great guide.
Well done
Thanks for the great guide. Unfortunately, I don't know how to resize tmpfs. Can anybody tell me how to do that? I only have 4 GB or less on my Samsung Galaxy A12 with 64 GB of Storage (it should have, it only shows something like 3 or 4 gigabytes like I mentioned)
matahbeyz said:
Thanks for the great guide. Unfortunately, I don't know how to resize tmpfs. Can anybody tell me how to do that? I only have 4 GB or less on my Samsung Galaxy A12 with 64 GB of Storage (it should have, it only shows something like 3 or 4 gigabytes like I mentioned)
Click to expand...
Click to collapse
You don't have to resize TMPFS if you don't want to have FBE encryption or have the external SD card (you can use microSD for flashing, which might be a better choice if you need to flash a larger devices). Also you can't resize TMPFS to 64 GB, it uses your RAM to store regular data instead of storage (this is basically the concept of TMPFS). What I was mentioning is that /data won't work under FBE and custom recoveries for now, so you need to use your RAM instead if you don't have any external storage device to save images somewhere via ADB.
As of resizing the TMPFS, you should be able to find some Linux tutorial how to do that, on Android this is works basically the same (even on both Linux and Android you have /tmp directory with TMPFS by default).
Anyway, I've decided to share some stuff that you may need for that. Here's the multidisabler script I was using for flashing GSIs with FBE encryption preserved. I was also working on the native binary that would work as the workaround for the touchscreen so it can be used instead of the script. The advantages are that it actually listens to filesystem events and therefore does not need to read file in loop in order to get the information if brightness has changed. Maybe I'll share it with you once I find it to be ready, right now I'll just share my multidisabler script with patches.
BTW, I've tested LineageOS GSIs (both 11 and 12) and noticed they behave completely different, no matter of variant (the USB actually uses some driver, which is not fully compatible with M12 but close enough to provide basic communication through ADB). I guess pphusson just changed something and now these drivers aren't applied by default, yet I think I've noticed the issues with Bluetooth's HSP/HFP profiles which as I remember was not the case with latest stable pphusson's vanilla Android 12 GSIs. Now I just hope these problems are going to be resolved in the next builds of Android's GSIs with phhusson's patches and with the knowledge that MTP just worked fine on TWRP I used, there's a little hope that we will gain the proper combination of drivers/firmware to have both USB and Bluetooth functional at the same time someday.
I've also approached patching the kernel under newer kernel base 4.19.112, yet I gave up on properly resolving its conflicts. I may work on that as well in order to patch some vulnerabilities, with a hope that I'll succeed updating kernel as closest to the latest patch as possible. The 4.19.112 is going to be just a test if Samsung is capable of actually booting from it and if I may be able to use git with common human logic and my limited programming skills to actually patch it the way it would do so (without much understanding about the code itself, yet basic knowledge about C syntax). For now I've only succeed reproducing the upstream Linux kernel commit structure from 4.19.111, with a single additional commit for Samsung changes and another one for physwizz ones.
can anyone guide me how to unlock bootloader on Samsung Galaxy M12G ?
@SB3P Thanks so much. Sorry for my late reply, but thank you!
SB3P said:
Achievement unlocked: flashed GSI with FBE enabled! ​View attachment 5533799​In short, I've successfully done flashing of @phhusson's latest version of Android 12 GSI (which is v402 as of today). To do this, I needed to modify the multidisabler script so it won't disable FBE, format the userdata using the stock recovery, flash TWRP, resize tmpfs to proper size, push GSI image into tmpfs and flash it using TWRP. I used the securized image with vndklite variant, since there was no securized images for regular vndk releases (but it seemed that vndk was working better for me, at least I have no USB connection anymore where with VNDK I was able to have USB debugging). Maybe I'll try re-flashing it once I'll patch the regular images and securize them (since I'm on *nix, I can just mount them and modify their contents) and take an approach of finding how Samsung ROMs are working OK. For now, I need to take a break from all bootloops I had in the process of FBE flashing .
Anyway, the goal of this experiment was to use GSI ROMs as a daily driver and having FBE disabled could otherwise cause a serious problem on device loss.
So, onto the list what's been tested (that wasn't noted before):
Screen locking – it seems that the workaround for the screen is not applied before unlocking the phone, probably because the app is not running yet. This might work with the script used as postfs module.
EDIT: I've found some notes in the Magisk documentation that both post-fs data and late_start services are run after data is decrypted, which basically means applying this workaround using Magisk seems to be pointless for now (maybe not after PPH app will stop providing the workaround)... Probably the best option would be patching the ROM itself, either with flashable ZIPs or directly before flashing it (most GSIs can be mounted under Linux and tweaked).
Adaptive brightness – not working, since all virtual sensors are not working for now. Might be easy to fix through as I've found some stuff in the official ROM that I had an idea to experiment with putting them into GSIs (as a Magisk module, to avoid a breakage).
USB – as I said, a data transfer via USB is not working for me for some reason. It worked for me once I had VNDK Android 12 GSI installed (same version).
Booting with stock kernel – I had some successful attempts doing that, but it further was a cause of a bootloop, at least once I had installed Magisk. Therefore, I'll recommend patching the Magisk the way as in tutorial (after patching the kernel) to have everything working for now.
For people who wants to play with stock images but don't know how: you can use simg2img, lpunpack and Linux to extract and mount the official ROM image in approach of finding there some tips like in initrc services why some stuff is working fine on Samsung while it doesn't on GSIs. Maybe I would tinker with it a bit, trying to export a few services and libraries in an approach to create a Magisk module with all stuff needed to have a fully functional GSI, but I'm tired of modding for now, especially when this is my first Samsung phone I had to deal with.
Edit: Typo fixes, added additional text formatting.
Click to expand...
Click to collapse
Could you explain how you done this.... i mean please explain step by step... i am using Galaxy M12G Varient....thanks in advance
milindbhaliwade said:
Could you explain how you done this.... i mean please explain step by step... i am using Galaxy M12G Varient....thanks in advance
Click to expand...
Click to collapse
If you would see the *untested* section at the initial post of this thread, it is unknown whetever this works or not for M127G phones (if it bootloops it might not work at all). Anyway, here's how I did it on M127F (at least how I remember this):
1. I did steps from 1-6, I believe I skipped 7 since I was aware it will mess something up with the data partition.
2. I modified the multidisabler script and pushed it to my phone via the ADB (to TMPFS). You can find this script pushed as xz compressed file. Before executing multidisabler script I have done a backup of the recovery and system partitions (using dd tool) which I am going to reflash later.
3. I rebooted to download mode and flashed TWRP image.
4. After TWRP ended flashing, I booted into the recovery. I flashed the physwizz kernel and then my own GSI image as it was described in the instructions at the initial post. Just remember that /data partition is not functional with FBE and TWRP so you need to push your images somewhere else like microSD card or TMPFS partition. OTG might work here as well, this is something I haven't tested yet through...
5. Once you are done with flashing you need to restore the original recovery partition via the download mode. TWRP won't boot the GSIs with FBE encryption enabled actually it does boot now for me, yet I still recommend switching to stock recovery if your phone bootloops or you need to format/wipe userdata partition. You can then safely format your /data partition with the stock recovery.
ap4ss3rby said:
Hi, I installed LineageOS 18.1 GSI on my M127F. I want to share my guide to installing this GSI.
Code:
DISCLAIMER:
By following this guide you accept that you
may do irreversible damage to your phone.
If something breaks the responsibility is
yours only. If you want stable software that
is guaranteed to work 100% don't follow
this guide.
I assume you are running a fully stock system and and locked bootloader and firmware U3/U4.
Installing TWRP and custom kernel
Enable Developer Options by tapping on software information > build number 7 times
Enter developer options then toggle OEM Unlocking on.
Power off your phone.
Hold Vol Up + Vol Down then plug in your phone to enter download mode
THIS WILL ERASE ALL YOUR DATA AND VOID YOUR WARRANTY. Follow on screen instructions to unlock your bootloader. THIS WILL ERASE ALL YOUR DATA AND VOID YOUR WARRANTY
After this you want to download and install attached Orangefox recovery using odin. After odin is done flashing enter recovery
Format data (not wipe) in recovery
Enter terminal and type multidisabler twice
Reboot to system and verify that under security encryption is disabled
Download TWRP and custom kernel for your phone
Reboot into recovery and locate the downloaded twrp image
Select recovery.
Reboot into recovery
Install kernel, then wipe cache and reboot. You should now see that it is complaining about some internal issue. This is normal.
Installing the GSI
Download your favorite ROM from the list provided below. You want to install an arm64 a/b image.
Extract the image file
Reboot to recovery.
Select install then install image
Locate the GSI image
Select install system
After that is done return to recovery and select factory reset.
Reboot then do setup (if applicable) then download attached magisk and phh trebleapp. If your phone is stuck on bootanimation check under to fix it.
IMPORTANT: DO NOT LET THE SCREEN TURN OFF OR YOU WILL HAVE TO REBOOT TO MAKE TOUCH WORK AGAIN.
Install attached magisk
Open magisk and click on install then direct install
Download and install the attached phh-treble app apk.
Touch should now work. Enjoy your GSI.
Extras
Magisk 24.1
Open Magisk
Go to settings
Update Magisk Manager app to version 24.1
Relaunch Magisk then install magisk
Choose direct instal
Migrating to patched trebleapp
Download and install attached trebleapp
Open your root file manager
go to /data/adb/service.d
Delete the script you added earlier
Tips in case things don't work
In case after rebooting to the GSI the phone bootloops:
Download stock image from wherever you download your firmware (I use a python program called samloader)
Extract the AP of the downloaded firmware
Find userdata.img.lz4 and create a .tar archive only containing this file
Reboot to download mode
In odin select AP then locate the newly created .tar archive Then click on flash
Reboot
Continue from step 7 under the "Installing the GSI" portion of the guide
To revive the touchscreen using ADB:
In case you didn't grant adb root access but installed magisk, run adb shell then su. A root access for the app shell will appear. Grant root permission
Plug in phone to a computer with ADB
adb shell
su
cat /sys/class/sec/tsp/cmd_result
echo check_connection > /sys/class/sec/tsp/cmd
What works:
Boots
RIL
Fingerprint
Main rear camera
Front camera
Sleep/Wake (workaround in steps above, may need to sleep wake several times before it works)
WiFi
Flashlight
Rotation
Magisk 24
90Hz (M12 only. A12 doesn't have 90Hz refresh rate)
LineageOS 18.1
LineageOS 19
CAOS (GApps variant available)
phh AOSP 11 v313
phh AOSP 12 v400h
Untested
GPS
Flashing GApps. (I use fdroid and aurora store on LineageOS and CAOS has built in GApps)
USB-OTG
A127F
M127G
If I didn't list it under broken or working I didn't try it or forgot to test it.
Broken
Double tap to wake. Touchscreen turns off and I have no idea how to keep it alive while lcd is off
MTP
Virtual Proximity. Screen will stay on in phone calls and WhatsApp will always play voice messages through speaker
Flashlight brightness. Flashlight will always stay on weakest brightness with no way to adjust.
Adaptive refresh. The framerate you set in phh addons is what you get. Be prepared for slightly reduced battery.
You tell me (even though I probably don't have the solution)
Bugs
You may need to wait a little bit before touchscreen responds or sleep/wake several times before screen responds after turning the screen off
Credits
@physwizz for kernel, TWRP and orangefox
@phhusson for implementing workaround in trebleapp as well as GSI list
me for touch workaround
Links
Kernels and recoveries: https://t.me/a127f_res/113
GSIs: https://github.com/phhusson/treble_experimentations/wiki/Generic-System-Image-(GSI)-list
Click to expand...
Click to collapse
try to install @phhusson (system-squeak-arm64-ab-vndklite-gapps-secure.img) GSI using above method on Samsung Galaxy M12G (SM-M127G) BUT failed to boot up
facing following issue:
1) unable to boot in OrangeFox Recovery
2) boot in TWRP Recovery but not detected MicroSD Card
3) samehow manage to push Kernal.zip, SystemGSI.img by adb push file_name_with_extension /sdcard BUT not flash properly as TWRP reboot again and again in 2-3 minutes
so friends, don't try this method on Samsung Galaxy M12G (SM-M127G) unless Senior member come up with this specific model
For anyone who has starred this thread, I and other devs have released a proper build of LineageOS with /vendor. Aside from VoLTE (which I don't think worked in GSIs anyways) everything should work. Moderators, please close this thread
ap4ss3rby said:
For anyone who has starred this thread, I and other devs have released a proper build of LineageOS with /vendor. Aside from VoLTE (which I don't think worked in GSIs anyways) everything should work. Moderators, please close this thread
Click to expand...
Click to collapse
LineageOS is not only GSI available, I think someone might still find it useful if they want to flash another ROMs. Also Phhuson's GSI also contains some features that unofficial GSI release don't have (i.e. flashlight control in Phhusson's app), so they still might be useful for someone.
This is why I think it is better to not close this thread and maybe revive original guide.
SB3P said:
LineageOS is not only GSI available, I think someone might still find it useful if they want to flash another ROMs. Also Phhuson's GSI also contains some features that unofficial GSI release don't have (i.e. flashlight control in Phhusson's app), so they still might be useful for someone.
This is why I think it is better to not close this thread and maybe revive original guide.
Click to expand...
Click to collapse
Our rom is built completely from source, not a GSI, and it is more or less a complete replacement of stock firmware. If you want you can use a GSI over that instead, and it should function much better than just replacing stock firmware
ap4ss3rby said:
Our rom is built completely from source, not a GSI, and it is more or less a complete replacement of stock firmware. If you want you can use a GSI over that instead, and it should function much better than just replacing stock firmware
Click to expand...
Click to collapse
I haven't said GSI are better, I personally use this unofficial LineageOS build. But what I've said, GSI brings much more variety of picking the OS you can install. Even Linux can be installed on phones nowadays using GSI with only Halium-patched kernel as an requirement. This is why I think leaving this tutorial archived (no updates, interest on fixing bugs etc.) is better than removing it.

Categories

Resources