AOSP Binaries for Nougat (7.0) posted. AOSP possible? - Xperia Z3 Q&A, Help & Troubleshooting

Sony uploaded the binaries for multiple Xperia devices, among others the Z3: http://developer.sonymobile.com/open-devices/list-of-devices-and-resources/
The build instructions can be found here: http://developer.sonymobile.com/ope...uild-aosp-nougat-for-unlocked-xperia-devices/
Does this mean, we can build AOSP now? I'd like to try out myself, but I won't have access to my PC for a couple of days. Has anyone else tried building and flashing it?
Edit: The Nougat binaries seem to point to the Marshmallow ones. Is this right? Pinging @jerpelea.

cypressious said:
Sony uploaded the binaries for multiple Xperia devices, among others the Z3: http://developer.sonymobile.com/open-devices/list-of-devices-and-resources/
The build instructions can be found here: http://developer.sonymobile.com/ope...uild-aosp-nougat-for-unlocked-xperia-devices/
Does this mean, we can build AOSP now? I'd like to try out myself, but I won't have access to my PC for a couple of days. Has anyone else tried building and flashing it?
Edit: The Nougat binaries seem to point to the Marshmallow ones. Is this right? Pinging @jerpelea.
Click to expand...
Click to collapse
I think that the good binaries, if you read, you can see that behind "Download AOSP Nougat (Android 7.0) binaries" it read please download Android 6.0.1.

Dumping insights as I try to build it myself.
If you get the error "unknown target -j", try setting the number of parallel processes via environment variable:
Code:
export MAKEFLAGS='-j8'
If you get Out of memory crashes with jack, try the tip from https://android.googlesource.com/platform/prebuilts/sdk/+/master/tools/README-jack-server.md:
Code:
jack-admin stop-server
export ANDROID_JACK_VM_ARGS="-Xmx4g -Dfile.encoding=UTF-8 -XX:+TieredCompilation"

Built the Rom, tried flashing it via fastboot which failed with "FAILED (remote: size too large)" and the phone was stuck on the Sony logo. I finally managed to boot into flash mode and reflash N Preview 4.
Next, I added
Code:
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2143289344
to the BoardConfig.mk in /device/sony/leo and built again. Now I was able to flash system.img.

cypressious said:
Built the Rom, tried flashing it via fastboot which failed with "FAILED (remote: size too large)" and the phone was stuck on the Sony logo. I finally managed to boot into flash mode and reflash N Preview 4.
Next, I added
Code:
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2143289344
to the BoardConfig.mk in /device/sony/leo and built again. Now I was able to flash system.img.
Click to expand...
Click to collapse
so, did it work? is the rom stable?

brenosabino said:
so, did it work? is the rom stable?
Click to expand...
Click to collapse
It's stable, but RIL and camera are mostly broken. The issues are discussed here: https://github.com/sonyxperiadev/camera/pull/20#issuecomment-244609398

Four days ago, Sony Developers posted the ZIP of Android 7.1 binaries for Xperia X devices. Knowing that X and Z devices shared the ZIP of Android 6.0.1 binaries, it will be possible to use this on our Z3 device? This is the link: http://developer.sonymobile.com/dow...oftware-binaries-for-aosp-nougat-android-7-1/

if there is interest I can make a build with GApps pre installed?

Would it be possible to build android 8.0 now for this?? Via the oreo build instructions?? https://developer.sonymobile.com/op...-build-aosp-oreo-for-unlocked-xperia-devices/
Edit: well just noticed kernel 4.4, so guess not, sad

Related

Recovery BootStrap (TWRP) - Motorola Defy\Bravo

Recovery BootStrap (TWRP) - Motorola Defy\Bravo
Version: 4.0
Install Recovery BootStrap (TWRP) for Motorola Defy\Bravo via a USB cable. For computers running the Windows\Linux (port version) operating system.
Download: (Windows: MEGA / Google Drive) | (Linux: port by nastys post>>)
Install Recovery BootStrap (TWRP) you can right out stock firmware (without custom recovery) with superuser.
Recovery BootStrap (TWRP) - for the recovery say thank Quarx, after installation, you can install the rom CyanogenMod from Quarx for December 2014 (but do not forget about resize.zip).
Can be installed on Defy (MB525), Defy Plus (MB526), Bravo (MB520).
Requirements for smartphone:
Enable USB debugging
Superuser (ROOT)
Free space on the memory card of 100 megabytes
Instructions:
1. Download the archive
2. Unpack it somewhere else with a short path, for example D:\andro
3. Connect your phone via USB cable ("debugging on USB" should be included)
4. Run the install_bootstrap.cmd
5. When you see the label "Let's Start? =)", press any key
6. If the superuser ask permission for full access "ADB Shell", allow.
7. After installing the smart phone will automatically restart
!IMPORTANT! after restarting the Stock firmware will not start!, but you will have BootStrap (TWRP) so you can safely install custom firmware\rom
Change log:
V3:
Changed how the script
Fixed installation errors recovery on Android 4.x and later
V4:
The script changed drastically
After installation removes trash from the memory card (so far only on Android 4.x and later)
Made for normal (mortals) users , before you start the installation script checks (by model) which smartphone connected to the computer, if your smartphone is not supported script report it and stop installation, if supported will give something "Device: MB525".
Serviceability checked on the Chinese 231 (Defy) firmware with superuser (what say thank borndead), and on the Asian 231 (Defy)
Questions\FAQ:
Error "[ERROR] Verify device!", what to do?
Error "[ERROR] Verify device!", it is may mean the following:
1. You have not enabled USB debugging
2. Your smartphone does not support this Recovery. (only for MB525, MB526, MB520)
3. You need to confirm the action ADB on your smartphone
4. Or you have some other connection problems
Stock transition to CyanogenMod 11 of Quarx
Stock transition to CyanogenMod 11 (firmware and find all necessary files can be here) of Quarx in short (generally as described on the website Quarx, only simpler and under Windows)
1. Install Recovery BootStrap (TWRP) via USB
2. Enter Recovery install resize.zip
3. Restart your smartphone
4. Install CyanogenMod 11 and GApps
Good work, comrade! I flashed CM11 on the Moto Defy - everything works!
We did observed some cases, where a "new life (resized)" Defy is not booting anymore. Only solution was to reflash SBF and start from scratch.
Does this mean, it is possible to recover TWRP from PC? That would be a step a head!
This is amazing! Everytime I needed to reflash the stock ROM I needed to install cm10, then cm11, then new bootsrap etc...
Unfortunately I don't use Windows...
 @Octanium91 Would you mind if I port your script to GNU/Linux?
starbright_ said:
We did observed some cases, where a "new life (resized)" Defy is not booting anymore. Only solution was to reflash SBF and start from scratch.
Does this mean, it is possible to recover TWRP from PC? That would be a step a head!
Click to expand...
Click to collapse
I tried to do something like that, is not yet happened. Perhaps in the future even try
nastys said:
This is amazing! Everytime I needed to reflash the stock ROM I needed to install cm10, then cm11, then new bootsrap etc...
Unfortunately I don't use Windows...
@Octanium91 Would you mind if I port your script to GNU/Linux?
Click to expand...
Click to collapse
Maybe. If Iunderstand with GNU/Linux scripts
The new version, V4
The new version, V4
Changes:
The script changed drastically
After installation removes trash from the memory card (so far only on Android 4.x and higher)
More debugging: Now the script itself is not closed, and tells the user exactly what happened.
Sorry debris removal only works on Android 4.x and later.
Linux port done!
@Octanium91 I ported it to C++ (for Linux only at the moment). Please add it to the first post . Here is the link: MediaFire | MEGA
On Ubuntu just mount the ISO as image (not archive) then click 'Run' (or you can also extract the ISO and run the executable directly). It works on x86 (32 bit) and x86_64 (64 bit) CPUs. The source code is also included in the ISO. Tested on Ubuntu 14.10 and 16.04 (64 bit).
I tested it with both stock 2.3.6 rooted and CM11. It seems that the stock ROM won't boot after flashing the new bootstrap, but the recovery works fine
Also your version has a very bad bug: it flashes Defy bootstrap even on Bravo!!! It should flash Motorola Bravo specific bootstrap instead. My version only works for Motorola Defy and Defy+ at the moment, but you can edit the source code. EDIT: they are the same file with different names. I updated my version to support MB520.
After run the command script, when i boot in TWRP SDcard shows 0mb.
Already tried flashing the SBF recommended by quarx and after that the root SBF, but the result is always the same.
With CM recovery i can see the SDcard properly, but after the resize, or bootstrap, i always get 0mb at SDcard.
Any help?
Thanks!
evilinheaven said:
After run the command script, when i boot in TWRP SDcard shows 0mb.
Already tried flashing the SBF recommended by quarx and after that the root SBF, but the result is always the same.
With CM recovery i can see the SDcard properly, but after the resize, or bootstrap, i always get 0mb at SDcard.
Any help?
Thanks!
Click to expand...
Click to collapse
Format your SD card (to FAT32) or use another one.
Octanium91 said:
The new version, V4
Changes:
The script changed drastically
After installation removes trash from the memory card (so far only on Android 4.x and higher)
More debugging: Now the script itself is not closed, and tells the user exactly what happened.
Sorry debris removal only works on Android 4.x and later.
Click to expand...
Click to collapse
nastys said:
@Octanium91 I ported it to C++ (for Linux only at the moment). Please add it to the first post . Here is the link: https://www.mediafire.com/folder/candnhxj8aovj/Defy_Bootstrap_Installer_for_Linux
On Ubuntu just mount the ISO as image (not archive) then click 'Run'. It works on x86 (32 bit) and x86_64 (64 bit) CPUs. The source code is also included. Tested on 14.10 x86_64.
I tested it with both stock 2.3.6 rooted and CM11. It seems that the stock ROM won't boot after flashing the new bootstrap, but the recovery works fine
Also your version has a very bad bug: it flashes Defy bootstrap even on Bravo!!! It should flash Motorola Bravo specific bootstrap instead. My version only works for Motorola Defy and Defy+ at the moment, but you can edit the source code.
Click to expand...
Click to collapse
Greetings guys, I'm a user from the Atrix 2 section and a part of the current device supporters there. It's a pleasure to finally post here, 'the domain of Quarx' haha.
I was wondering if this recovery is able to flash and boot android Lollipop 5.0 roms yet? If so, then is there some way to port it from source to my or other similar Moto devices in the OMAP bracket with locked bootloaders?
I'm an Android novice, but I'm experienced in building custom recoveries and roms, as well as beginner git commands, so no need to hold anything back, lol. I appreciate the work you're all doing here, please continue to make the difference. Thanks for reading this and take care!
answer
Aceofzeroz said:
Greetings guys, I'm a user from the Atrix 2 section and a part of the current device supporters there. It's a pleasure to finally post here, 'the domain of Quarx' haha.
I was wondering if this recovery is able to flash and boot android Lollipop 5.0 roms yet? If so, then is there some way to port it from source to my or other similar Moto devices in the OMAP bracket with locked bootloaders?
I'm an Android novice, but I'm experienced in building custom recoveries and roms, as well as beginner git commands, so no need to hold anything back, lol. I appreciate the work you're all doing here, please continue to make the difference. Thanks for reading this and take care!
Click to expand...
Click to collapse
Hi!
flash and boot android Lollipop 5.0 roms - just can not say, but it is theoretically possible (need to check).
If so, then is there some way to port it from source to my or other similar Moto device - No, this is not possible (specifically, in this case). BUT this method you can set recovery to another smartphone (it is theoretically, need to try)
Here recovery that are in the public domain, I think that they can install Lollipop 5.0 roms - TWRP2 \ Safestrap
Moto devices in the OMAP bracket with locked bootloaders? - Most likely will not work, but no one stops to try
Octanium91 said:
Hi!
flash and boot android Lollipop 5.0 roms - just can not say, but it is theoretically possible (need to check).
If so, then is there some way to port it from source to my or other similar Moto device - No, this is not possible (specifically, in this case). BUT this method you can set recovery to another smartphone (it is theoretically, need to try)
Here recovery that are in the public domain, I think that they can install Lollipop 5.0 roms - TWRP2 \ Safestrap
Moto devices in the OMAP bracket with locked bootloaders? - Most likely will not work, but no one stops to try
Click to expand...
Click to collapse
Many thanks for the prompt and well ordered reply! I'll look into your suggestions and I'm aware that there aren't many available recovery software for our locked bootloader phones.
We were actually trying to get Safestrap working on our device since last month, but it's failing to work correctly in booting our kexec roms. So I thought I'd ask here since the Defy works by using the 2nd boot like us, but it's still under investigation. Thanks again for your assistance, we're not out of the game yet and we'll get things rolling eventually. Take care!:thumbup:
Sent from the Ace's MB865 using Tapatalk
Error. More than one device and emulator
what am i doing wrong?
LoeWn said:
Error. More than one device and emulator
what am i doing wrong?
Click to expand...
Click to collapse
Perhaps you have not enabled USB debugging
Requirements for smartphone:
Enable USB debugging
Superuser (ROOT)
Free space on the memory card of 100 megabytes
I did enable usb debugging
LoeWn said:
I did enable usb debugging
Click to expand...
Click to collapse
You can send us a screenshot?
I had a successful installation of a december build and twrp 2,6x installed, everything ran just fine. But when the CM tells me there is a update and i download it does not install from recovery, get errormsg. Also apps like rom manager pro tells my phone is not compatible with any updates, and that i should install CWM recovery. So is it possible to install a real CWM on a defy mb526?
Hi, I flashed Recovery BootStrap v4 on the Defy MB525, but its not working. After flash and reboot, phone starts booting, but it ends up with the following screen.
Doesn't matter if I choose Recovery or continue. I can press the menu button (to choose recovery) and nothing happen, till the 3rd press. Than display goes black and thats all .
Any idea where could be the problem or what I'm doing wrong?
Edit: maybe its related to the bootloader version, which is 09.10
Haldy said:
Hi, I flashed Recovery BootStrap v4 on the Defy MB525, but its not working. After flash and reboot, phone starts booting, but it ends up with the following screen.
Doesn't matter if I choose Recovery or continue. I can press the menu button (to choose recovery) and nothing happen, till the 3rd press. Than display goes black and thats all .
Any idea where could be the problem or what I'm doing wrong?
Edit: maybe its related to the bootloader version, which is 09.10
Click to expand...
Click to collapse
Based on first screenshots, Recovery installed. Now you need to install system.
Than display goes black and thats all - maybe have to wait
marcooleo said:
I had a successful installation of a december build and twrp 2,6x installed, everything ran just fine. But when the CM tells me there is a update and i download it does not install from recovery, get errormsg. Also apps like rom manager pro tells my phone is not compatible with any updates, and that i should install CWM recovery. So is it possible to install a real CWM on a defy mb526?
Click to expand...
Click to collapse
In principle it is possible, but it does not make sense.

Is there a Stock Kernel with Safetynet Patch?

I'm looking for a stock kernel that only patches Safetynet checking. Does this exist? If not, is it easy for me to "make it" myself?
I'm not sure if there's a prebuilt one, but building one yourself isn't too hard. The patch is at https://github.com/sultanxda/androi...bc05b16bbd33521c2fffaf491c5657a94bfcfc5.patch. You just follow the steps at http://source.android.com/source/building-kernels.html as usual with the following notes:
Use "kernel/msm" as the source location
Use "marlin_defconfig" as the build configuration
Apply the patch after running the git checkout command
Use the aarch64 prebuilts, not the arm ones
Cares said:
I'm looking for a stock kernel that only patches Safetynet checking. Does this exist? If not, is it easy for me to "make it" myself?
Click to expand...
Click to collapse
Depending on your motivation for a "stock kernel" you might try franco kernel. He doesn't seem to do anything that MIGHT introduce instability or strays very far from stock.
I can vouch for franco. He does minimal performance-only tweaks by default.
josephcsible said:
I'm not sure if there's a prebuilt one, but building one yourself isn't too hard. The patch is at https://github.com/sultanxda/androi...bc05b16bbd33521c2fffaf491c5657a94bfcfc5.patch. You just follow the steps at http://source.android.com/source/building-kernels.html as usual with the following notes:
Use "kernel/msm" as the source location
Use "marlin_defconfig" as the build configuration
Apply the patch after running the git checkout command
Use the aarch64 prebuilts, not the arm ones
Click to expand...
Click to collapse
Hey thanks for the tip. I went ahead and patched the no safetynet patch to the android-msm-marlin-3.18-nougat-mr1 kernel source and compiled it. I now have a Image.gz-dtb file which I zipped (I also just have a binary file named "Image"). What should I with those now, just flash those like I would one of the other kernels? And which file exactly? The gz file? or the just binary file named "Image"?
So essentially "fastboot flash kernel <file_name>"?
When I was compiling I got two warnings by the way:
drivers/soc/qcom/Kconfig:371:warning choice value used outside its choice group
drivers/soc/qcom/Kconfig:376:warning choice value used outside its choice group
Anything I should be concerned about? I've never done this before, but did a lot of reading before I went ahead and used to do some C coding back in the day, so it's not completely unknown to me.
Essentially, these are the steps I followed, after quickly installing Linux Mint:
Code:
Create a working directory in /home/$USER/ (I created /home/sakete/android)
Enter working directory
Download android kernal source
git clone https://android.googlesource.com/kernel/msm
Download prebuilt toolchain
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9
cd aarch64-linux-android-4.9
export PATH=$(pwd)/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9
export CROSS_COMPILE=$(pwd)/bin/aarch64-linux-android-
export ARCH=arm64
export SUBARCH=arm64
Checkout specific kernel branch for Pixel/PixelXL (be in 'msm' folder)
git checkout android-msm-marlin-3.18-nougat-mr1
Get Safetynet Patch (still be in 'msm' folder)
git fetch https://github.com/sultanxda/android_kernel_oneplus_msm8996 cm-13.0-sultan
git cherry-pick abc05b16bbd33521c2fffaf491c5657a94bfcfc5
Build kernel (still be in 'msm' folder)
make clean
make mrproper
make marlin_defconfig
make -j$(grep -c ^processor /proc/cpuinfo)
I initially got some build errors, but running this command solved it: sudo apt-get install build-essential
This is a useful link for those of you who are interested in doing this as well: http://forum.xda-developers.com/showpost.php?p=69627576&postcount=7108
Hey if you can build it and post it here, that would be awesome. This is exactly what I'm looking for.
It will let me preemptively unlock my Verizon bootloader before flashing the latest OTA, while keeping Android Pay.
Has Google already posted the source for the 7.1.1 update kernel?
The source I pulled (android-msm-marlin-3.18-nougat-mr1) should be what's in the December update. It should be 7.1.1
Sakete said:
Hey thanks for the tip. I went ahead and patched the no safetynet patch to the android-msm-marlin-3.18-nougat-mr1 kernel source and compiled it. I now have a Image.gz-dtb file which I zipped (I also just have a binary file named "Image"). What should I with those now, just flash those like I would one of the other kernels? And which file exactly? The gz file? or the just binary file named "Image"?
Click to expand...
Click to collapse
The Image.gz-dtb file is the one you want.
Sakete said:
So essentially "fastboot flash kernel <file_name>"?
Click to expand...
Click to collapse
I've never done it like that, but that's apparently how Franco's kernel installs, so it's worth a shot I guess. Another way of doing it is to unpack the stock boot image with either pbatard's unmkbootimg or osm0sis's Android Image Kitchen, replace its kernel with your Image.gz-dtb, then repack and flash the new boot.img to the boot partitions.
Sakete said:
When I was compiling I got two warnings by the way:
drivers/soc/qcom/Kconfig:371:warning choice value used outside its choice group
drivers/soc/qcom/Kconfig:376:warning choice value used outside its choice group
Anything I should be concerned about? I've never done this before, but did a lot of reading before I went ahead and used to do some C coding back in the day, so it's not completely unknown to me.
Click to expand...
Click to collapse
Nothing you need to worry about.
josephcsible said:
The Image.gz-dtb file is the one you want.
I've never done it like that, but that's apparently how Franco's kernel installs, so it's worth a shot I guess. Another way of doing it is to unpack the stock boot image with either pbatard's unmkbootimg or osm0sis's Android Image Kitchen, replace its kernel with your Image.gz-dtb, then repack and flash the new boot.img to the boot partitions.
Nothing you need to worry about.
Click to expand...
Click to collapse
Great, thanks, I'll try flashing the kernel tomorrow night and will post it if successful.
Interestingly it seems that Pixel (sailfish) and Pixel XL (marlin) use the same kernel / kernel source? There at least doesn't seem to be a sailfish specific source. Will be interesting to see how it pans out tomorrow.
Sakete said:
Interestingly it seems that Pixel (sailfish) and Pixel XL (marlin) use the same kernel / kernel source? There at least doesn't seem to be a sailfish specific source. Will be interesting to see how it pans out tomorrow.
Click to expand...
Click to collapse
Indeed. The same kernel binary can run on both devices. (The ElementalX and Franco kernels don't even have separate builds for the two.)
Would you mind posting the image you built?
iPwn_ said:
Would you mind posting the image you built?
Click to expand...
Click to collapse
I'm at work now, will post it tonight.
Sent from my Pixel using Tapatalk
Stock Kernel + SafetyNet Patch applied
Well holy crap, it actually worked! Just flashed the kernel, set up android pay no problem! And everything else works just fine too.
Attached is a zip.
Steps to install (make sure you have adb and fastboot set up):
- Download file and unzip
- Reboot into bootloader (power down, hold Power + Volume Down)
- Attach device to computer
- Enter command: fastboot flash kernel <kernel_image>
- Enter command: fastboot reboot
- Disconnect device and wait for it to finish booting. That's it!
You're my hero.
Might be a lot to ask, but it would be dope if you maintained where you update the build every month for Google's latest release.
iPwn_ said:
You're my hero.
Might be a lot to ask, but it would be dope if you maintained where you update the build every month for Google's latest release.
Click to expand...
Click to collapse
I'm creating a thread in the dev section.
Edit: thread is up.
Cares said:
I'm looking for a stock kernel that only patches Safetynet checking. Does this exist? If not, is it easy for me to "make it" myself?
Click to expand...
Click to collapse
A bit late, but just for the record, ElementalX is just like stock with added features. If you don't use those features, you are essentially using the stock kernel.
I am thinking about going this route.. but I am not sure the process to flash a custom kernel on my Pixel.. would anyone be able to walk me through it? thanks!

[ROM] Unofficial LineageOS 16.0 PQ3A.190801.002] for ZTE Blade S6 (P839F30)

Code:
[I]DISCLAIMER[/I]
[COLOR="red"]Do not mirror my builds![/COLOR] Please post a link to this thread instead.
All information and files — both in source and compiled form — are provided on an as is basis.
No guarantees or warranties are given or implied. The user assumes all risks of any damages
that may occur, including but not limited to loss of data, damages to hardware, or loss of
business profits. Please use at your own risk. Note that unless explicitly allowed by the
warranty covering your device, it should be assumed that any warranty accompanying your
device will be voided if you tamper with either the system software or the hardware.
Introduction
This is my unofficial build of LineageOS 16.0 for the ZTE Blade S6 aka P839f30.
This is the first alpha release, so be aware that issues could arise.
I have tested this version with my AS variant device. Other variants have to be tested.
Click to expand...
Click to collapse
Features
working:
phone: calls, sms, data.
wifi
bluetooth
sensors
gps: mostly I have used the energy saving mode
sound
camera: rear with flash and front.
torch
headphone detection
swap back and menu button
light: button backlight, brightness control and adaptive brightness, breath light (notification and/or battery)
not working:
SELinux is permissive.
We have to test to find out.
Click to expand...
Click to collapse
Installation instructions
It is best to have installed the latest stock rom beforehand, so modem and all other vendor stuff is up to date.
If you like you can use this mod to have a unified data partition, please proceed with caution.
You will need TWRP or any other custom recovery.
Reboot into recovery and do a nand backup.
Do a factory format.
Download Rom and put it on your phone or use adb sideload.
Install the rom and then clear cache and dalvik cache.
optional: install su and/or gapps (preferable pico).
Click to expand...
Click to collapse
Changelog:
25.05.2021 - new release:
los security patch level 05.05.2021
revert some kernel changes from the last release
add some cpu governors and cpu hotplug
now with Boeffla WakeLock Blocker and other things
wireguard kernel support
22.12.2019 - 1st beta release:
los security patch level 05.12.
kernel supports EU device variant
add autosmp hotplug
add cpu governors blu_active, darkness, lionfish and relaxed
Revert CwMcu sensor driver from SU6 kernel release
24.10.2019 - 2nd alpha release:
los security patch level 05.10.
CwMcu sensor driver from SU6 kernel release, with wake lock disabled
wifi mac is loaded anyway, remove the loading in the wifi driver
give bluetooth a null mac address, to overcome force close error
kang gps from oppo
04.10.2019 - 1st alpha release:
los security patch level 05.09.
initial release of pie
Click to expand...
Click to collapse
Downloads
new release - 25.05.2021:
Google Drive.
first beta release - 22.12.2019:
Google Drive or here.
second alpha release - 24.10.2019:
Google Drive or here.
first alpha release - 04.10.2019:
Google Drive or here.
If you want root use the lineage addon package found here - download arm version.
Install it after flashing the rom or download your favourite root package and install it.
Click to expand...
Click to collapse
Sources
device
msm8916-common
vendor
kernel
Click to expand...
Click to collapse
FAQ
Here you will find some answers to common question which could arise.
Q: How to give root access to an app or adb?
A: First install the su extra package from Lineage OS or any other su tool you like. Then go into settings and about device, click there multiple times on the build number until you unlocked the developer options. Go to developer options and look for root access.
Q: I thing I found an issue, what to do now?
A: Do a logcat or grab a dmesg while having the issue, otherwise we can't say what is happening. Report as much info as possible. Quote your stock rom your device shipped with or which device variant you possess.
Click to expand...
Click to collapse
Thanks To/Credits
Code:
*aquaris-dev team
*aymende7
*PacMM79
*LineageOS team
*many others
XDA:DevDB Information
Unofficial LineageOS 16.0 [PQ3A.190801.002] P839F30, ROM for the ZTE Blade S6
Contributors
lightwars
ROM OS Version: 9.x Pie
ROM Kernel: Linux 3.10.x
Based On: LineageOS 16.0
Version Information
Status: Beta
Current Beta Version: 20191213
Beta Release Date: 2019-12-22
Created 2019-10-04
Last Updated 2019-12-22
many thanks for the new version, i will tested later :good: :highfive:
Hello, works on my ZTE Blade S6 Plus (p839f50)
but only with a fixed updater-script
from Folder: lineage-16.0-20191002-UNOFFICIAL-p839f30.zip\META-INF\com\google\android
the bold text must delete and than save the file
after the start my phone , i have a error message with bluetooth is deactivated
updater-script - original
https://filehorst.de/d/crqjwnjI
updater-script - fixed
https://filehorst.de/d/cbmctorj
new update is in the op.
just small changes and updated security patch level.
Anybody tested with EU device?
... at the moment no time to test myself (to much effort to keep my other devices up-to-date ), just wanted to ask if anybody already tested on EU device (and forgot to post ).
Gtz
Kurt
Kurt Krummbein said:
... at the moment no time to test myself (to much effort to keep my other devices up-to-date ), just wanted to ask if anybody already tested on EU device (and forgot to post ).
Click to expand...
Click to collapse
Answer my own request, gave it a try, didn't boot, screen stayed black and device went into fastboot-mode ... restored my nandroid-backup of stock-EU-B15 .
Next time, i format system and just install rom without gapps and addon-su.
Gtz
Kurt
Kurt Krummbein said:
Answer my own request, gave it a try, didn't boot, screen stayed black and device went into fastboot-mode ... restored my nandroid-backup of stock-EU-B15 .
Next time, i format system and just install rom without gapps and addon-su.
Gtz
Kurt
Click to expand...
Click to collapse
Hello Kurt,
please, if you find the time to do another test. Download the attached zip extract the boot.img and copy it to your device, flash it with twrp right after installing the lineage zip through twrp. report back if something different happens.
I splited the dtb from the zImage and attached the almost stock eu dtb, so maybe we are lucky. But I have not find any big differences in analyzing the dts of EU vs AS and kernel defconfigs EU vs AS.
I can show this files too, if somebody has a better understanding of this.
lightwars said:
Hello Kurt,
please, if you find the time to do another test. Download the attached zip extract the boot.img and copy it to your device, flash it with twrp right after installing the lineage zip through twrp. report back if something different happens.
I splited the dtb from the zImage and attached the almost stock eu dtb, so maybe we are lucky. But I have not find any big differences in analyzing the dts of EU vs AS and kernel defconfigs EU vs AS.
I can show this files too, if somebody has a better understanding of this.
Click to expand...
Click to collapse
Hi!
Well, i loaded the def's and config's into WinMerge and did a compare ... in the def's there are some different addresses, but i have now clue what the meaning of that all is :angel:. The config files look like beeing from different kernel versions, there are some options which don't exist in both, one is modularised, the other is not ... all in all quite strange.
Ok, i made a try with the boot_eu.img:
- Made a factory reset
- Flashed the LOS.zip
- Wiped caches
- unzipped the boot.img
- copied it to boot partition with dd if=boot_eu.img of=/dev/block/bootdevice/by-name/boot
- reboot
... screen goes black, one buzz .... nothing. One the PC the fastboot device appears and that's it. I was looking for tombstones, but couldn't find any ... they are stored to /data/tombstones, are they? I'm not sure, the kernel i getting up high enough to mount /data.
Cheers
Kurt
P.S.: one thing i forgot to mention ... i coulnd't find the "OEM unlock" swich in the stock system anywhere and the bootloader seems to be quite dumb, many commands from fastboot just end in a "command unknown", perhaps there's something left to do on my side (tweak in build.prop etc ... googleed for it no result ).
Kurt Krummbein said:
Ok, i made a try with the boot_eu.img:
- Made a factory reset
- Flashed the LOS.zip
- Wiped caches
- unzipped the boot.img
- copied it to boot partition with dd if=boot_eu.img of=/dev/block/bootdevice/by-name/boot
- reboot
... screen goes black, one buzz .... nothing. One the PC the fastboot device appears and that's it. I was looking for tombstones, but couldn't find any ... they are stored to /data/tombstones, are they? I'm not sure, the kernel i getting up high enough to mount /data.
Click to expand...
Click to collapse
Thanks for testing. You used the reboot system button of twrp I guess. Have you tried to reboot by pressing the power button?
I can think of two things: There is some flag in the kernel source which is called download_mode. I have seen that some devices have different default values! At the moment the value is 0, devices like the ones from bq with msm8916/msm8939 used this too, but devices from oppo with msm8939 uses a value of 1 as default. We can try this one.
Or there is a mask, which defines the restart reason so to speak says the device which mode to boot to. Here we have some differences in the meaning of the bits, a different bit shifting is used.
I can not really think that one of these causes your device to boot into download mode, because the recovery uses the same kernel on both region variants...
lightwars said:
Thanks for testing. You used the reboot system button of twrp I guess. Have you tried to reboot by pressing the power button?
I'll give that one a try .
Hope my device is not "going over the Wupper" LOL (this one has to come somewhen ...)
Click to expand...
Click to collapse
Ok, tried it ... same result. Then did a (perhaps a bit wired) test, just restored boot from my nandroid-backup. With this, the white ZTE bootscreen comes up and after some seconds it reboots to twrp.
Perhaps the dumb-bootloader refuses to boot with AS keys ... otherwise it wouldn't boot recovery. Strange puzzle.
Cheers
Kurt
Kurt Krummbein said:
Ok, tried it ... same result. Then did a (perhaps a bit wired) test, just restored boot from my nandroid-backup. With this, the white ZTE bootscreen comes up and after some seconds it reboots to twrp.
Perhaps the dumb-bootloader refuses to boot with AS keys ... otherwise it wouldn't boot recovery. Strange puzzle.
Cheers
Kurt
Click to expand...
Click to collapse
It is okay to do some unusual testings. I was doing this sort of things also, back then.
I'm not sure I get you, when you write about AS keys. Do you mean the fingerprint in the build.prop? I think I used the ones from the eu version. Maybe they build in some kind of kernel version check inside the bootloader, but only for the eu and other versions.
The cause is, that android needs an advanced kernel, so we can not use the stock kernel to boot newer android version like nougat, oreo or pie.
Sorry, I can not be of much help here, because I do not have a device with eu or some other region version. But we can try do some changes, if you like to do some more testing and maybe get something like a log, last_kmseg or ramoops. We should look to activate some of them.
Hello @Kurt Krummbein,
if you find the time please post the info you get by issuing this commands in the adb shell or on your phone in a terminal:
Code:
su
cat /sys/zte_board_id/board_id
cat /proc/device-tree/model
cat /proc/device-tree/compatible
Do this on your rom or stock rom you are using a the moment. Thank you.
For reference mine output is this:
Code:
Blade-S6:/ # cat /sys/zte_board_id/board_id
wrbA
Blade-S6:/ # cat /proc/device-tree/model
Qualcomm Technologies, Inc. MSM 8939 MTP
Blade-S6:/ # cat /proc/device-tree/compatible
qcom,msm8939-mtp qcom,msm8939 qcom,mtp
It could be that the eu variant uses another device tree inside the kernel, because the bootloader request that, but we have only this model available.
lightwars said:
Hello @Kurt Krummbein,
if you find the time please post the info you get by issuing this commands in the adb shell or on your phone in a terminal:
Code:
su
cat /sys/zte_board_id/board_id
cat /proc/device-tree/model
cat /proc/device-tree/compatible
Do this on your rom or stock rom you are using a the moment. Thank you.
For reference mine output is this:
Code:
Blade-S6:/ # cat /sys/zte_board_id/board_id
wrbA
Blade-S6:/ # cat /proc/device-tree/model
Qualcomm Technologies, Inc. MSM 8939 MTP
Blade-S6:/ # cat /proc/device-tree/compatible
qcom,msm8939-mtp qcom,msm8939 qcom,mtp
It could be that the eu variant uses another device tree inside the kernel, because the bootloader request that, but we have only this model available.
Click to expand...
Click to collapse
Mine is:
cat /sys/zte_board_id/board_id
wrbA-EUROPE
cat: /proc/device-tree/model: No such file or directory
cat: /proc/device-tree/compatible: No such file or directory
ls /proc/device-tree
/proc/device-tree: No such file or directory
Attached my build.prop ... perhaps this sheds some light .
Thx
Kurt
Kurt Krummbein said:
Mine is:
cat /sys/zte_board_id/board_id
wrbA-EUROPE
cat: /proc/device-tree/model: No such file or directory
cat: /proc/device-tree/compatible: No such file or directory
ls /proc/device-tree
/proc/device-tree: No such file or directory
Attached my build.prop ... perhaps this sheds some light .
Thx
Kurt
Click to expand...
Click to collapse
Sorry for that, I forgot that the stock kernel did not expose the device tree.
But I think I remeber the info about the model is in the logcat after boot up...
Please try this ones in a terminal on the phone or via adb shell, they should work.
Code:
su
Blade-S6:/ # cat /sys/devices/soc0/hw_platform
MTP
Blade-S6:/ # cat /sys/devices/soc0/soc_id
239
lightwars said:
Sorry for that, I forgot that the stock kernel did not expose the device tree.
But I think I remeber the info about the model is in the logcat after boot up...
Please try this ones in a terminal on the phone or via adb shell, they should work.
Code:
su
Blade-S6:/ # cat /sys/devices/soc0/hw_platform
MTP
Blade-S6:/ # cat /sys/devices/soc0/soc_id
239
Click to expand...
Click to collapse
mine is:
cat /sys/devices/soc0/hw_platform
MTP
cat /sys/devices/soc0/soc_id
268
cat /sys/devices/soc0/image_version
10:LRX22G:eng.root.20150808.123811
Gtz
Kurt
Kurt Krummbein said:
mine is:
cat /sys/devices/soc0/hw_platform
MTP
cat /sys/devices/soc0/soc_id
268
cat /sys/devices/soc0/image_version
10:LRX22G:eng.root.20150808.123811
Gtz
Kurt
Click to expand...
Click to collapse
Fantastic! Here we have an explanation. Your device reports 268 as id which equals to msm8929 and I have a device with id 239 which is msm8939. The kernel only holds a device tree blob (dtb) for the id 239. I thought that the variant were very similar, so last time I used a dtb from the eu release but only for id 239. Attached I have added a dtb for id 268. Please test this rom with that boot image.
Again, just unpack the bootASEU.img and copy it to your device, flash it after installing the lineageos zip.
Please make a backup beforehand and report back, when you have time. Happy trying out.
lightwars said:
Fantastic! Here we have an explanation. Your device reports 268 as id which equals to msm8929 and I have a device with id 239 which is msm8939. The kernel only holds a device tree blob (dtb) for the id 239. I thought that the variant were very similar, so last time I used a dtb from the eu release but only for id 239. Attached I have added a dtb for id 268. Please test this rom with that boot image.
Again, just unpack the bootASEU.img and copy it to your device, flash it after installing the lineageos zip.
Please make a backup beforehand and report back, when you have time. Happy trying out.
Click to expand...
Click to collapse
One step ahead ! Phone is booting with the new boot.img ... but ends with a bootloop.
Highest was one boot with start of the setup-wizard, but after setting language to "Deutsch (Deutschland)" (and several "Bluetooth is not working" messages) it went around again. Couldn't get logs yet ... well see :
Cheers
Kurt
Kurt Krummbein said:
One step ahead ! Phone is booting with the new boot.img ... but ends with a bootloop.
Highest was one boot with start of the setup-wizard, but after setting language to "Deutsch (Deutschland)" (and several "Bluetooth is not working" messages) it went around again. Couldn't get logs yet ... well see :
Cheers
Kurt
Click to expand...
Click to collapse
Yeah! Would be best to build the dtb from source, rather than attaching just the right one to the kernel...
The bluetooth message can be made silent, by the way what build you are using? I think the first build has not the fix for the message. The build.prop should contain this line:
Code:
ro.boot.btmacaddr=00:00:00:00:00:00
and the message should not appear.
I hope there are not any preferences with could only be applied to msm8939 and not to msm8929.
@Kurt Krummbein
Here is my latest build or just grab the boot.img from the attachment. Which has a dtb for msm8929 build from source.
Maybe this will boot without any bootloop.
lightwars said:
@Kurt Krummbein
Here is my latest build or just grab the boot.img from the attachment. Which has a dtb for msm8929 build from source.
Maybe this will boot without any bootloop.
Click to expand...
Click to collapse
For which version is your latest build? the eu?
Thanks
BR Slawo
slawoko said:
For which version is your latest build? the eu?
Thanks
BR Slawo
Click to expand...
Click to collapse
AS and hopefully EU.

64 Bit OS Development

Edit 25/10/2020: OK its been a while guys, if you want to try a ROM I'd highly recommend following LineageOS's wiki for instructions. Then if u want to try other ROMs keep an eye out in these forums, ill have a build up every now and then. See ya around guys
==========================================================================================
Rather than having random comments in random parts of the forum here is a thread for everything 64 bit on G7 Play.
CURRENT STATUS
WE DID IT!!!! CHECK SyberHexen's ANDROIDFILEHOST FOR DOWNLOAD!
OLD POST ARCHIVED BELOW
And here is what is available so far:
A nice selection of ROMs for the other G7's, but they dont actually boot on the Play, although should do something in theory
postmarketOS is aarch64, but that is mobile linux, and no phone interface works (x.org doesnt work with the current drivers)
Here is what I've tried:
crDroid from ocean:
I got it to install by: repartitioning device using ocean gpt.bin
Then flashing stock rom from channel
Booting TWRP
Flashing ROM, with modified zip accepting channel
Doesnt boot
Also tried a flash using ocean firmware completely, doesn't boot, but got the logos and bootloader works lol
If anyone has any tips or progress drop it here, eta kids go away. Read the status above if you want the up-to-date answer
00p513 said:
Rather than having random comments in random parts of the forum here is a thread for everything 64 bit on G7 Play.
CURRENT STATUS
NO 64-BIT ANDROID ROM AVAILABLE
And here is what is available so far:
A nice selection of ROMs for the other G7's, but they dont actually boot on the Play, although should do something in theory
postmarketOS is aarch64, but that is mobile linux, and no phone interface works (x.org doesnt work with the current drivers)
Here is what I've tried:
crDroid from ocean:
I got it to install by: repartitioning device using ocean gpt.bin
Then flashing stock rom from channel
Booting TWRP
Flashing ROM, with modified zip accepting channel
Doesnt boot
Also tried a flash using ocean firmware completely, doesn't boot, but got the logos and bootloader works lol
If anyone has any tips or progress drop it here, eta kids go away. Read the status above if you want the up-to-date answer
Click to expand...
Click to collapse
You have to compile the kernel from source and use a 64bit gsi and flash a 64 bit vendor partition I'm pretty sure everythi
---------- Post added at 04:44 AM ---------- Previous post was at 04:42 AM ----------
00p513 said:
Rather than having random comments in random parts of the forum here is a thread for everything 64 bit on G7 Play.
CURRENT STATUS
NO 64-BIT ANDROID ROM AVAILABLE
And here is what is available so far:
A nice selection of ROMs for the other G7's, but they dont actually boot on the Play, although should do something in theory
postmarketOS is aarch64, but that is mobile linux, and no phone interface works (x.org doesnt work with the current drivers)
Here is what I've tried:
crDroid from ocean:
I got it to install by: repartitioning device using ocean gpt.bin
Then flashing stock rom from channel
Booting TWRP
Flashing ROM, with modified zip accepting channel
Doesnt boot
Also tried a flash using ocean firmware completely, doesn't boot, but got the logos and bootloader works lol
If anyone has any tips or progress drop it here, eta kids go away. Read the status above if you want the up-to-date answer
Click to expand...
Click to collapse
You have to compile the kernel from source and use a 64bit gsi and flash a 64 bit vendor partition I'm pretty sure everything else will work fine. I'm working on getting a new dev environment set up I'll give it a shot... This phone is reeeeealy under developed. Proly cause the g6 play is a way better phone and much cheaper to boot
mrsurge said:
You have to compile the kernel from source and use a 64bit gsi and flash a 64 bit vendor partition I'm pretty sure everythi
---------- Post added at 04:44 AM ---------- Previous post was at 04:42 AM ----------
You have to compile the kernel from source and use a 64bit gsi and flash a 64 bit vendor partition I'm pretty sure everything else will work fine. I'm working on getting a new dev environment set up I'll give it a shot... This phone is reeeeealy under developed. Proly cause the g6 play is a way better phone and much cheaper to boot
Click to expand...
Click to collapse
We have a 64-bit kernel and 64-bit Lineage OS testing builds but porting 64-bit vendor partition for it to flash in g7 play hasn't been achieved yet.
kD said:
We have a 64-bit kernel and 64-bit Lineage OS testing builds but porting 64-bit vendor partition for it to flash in g7 play hasn't been achieved yet.
Click to expand...
Click to collapse
I think maybe you can just pick out driver binaries from 64 bit /vendor and use all the configs scripts and frameworks from the original vendor
Try backing up/vendor pieceing the drivers from another device of the same model but diff carrier and a combo as such would work. If not mistaken the. Vendor from the Verizon g6 play worked for sprint except data and wifi or radio in general didn't work.. that's a start right there
I think the modem is going to be the same architecture no matter what so you wouldn't have to worry to much about that
64bit Test
Okay so this sh*t probably totally won't boot up at all, but if someone is feeling brave, you can test this out.
1. From your active slot, with root access, you'll need to dd these images to the correct partitions. It's easiest to do this from the internal sdcard using termux. Use the following as a template. These commands assume you're installing it to slot b.
Code:
su
dd if=/sdcard/boot64.img of=/dev/block/by-name/boot_b
dd if=/sdcard/dtbo64.img of=/dev/block/by-name/dtbo_b
dd if=/sdcard/vendor64.img of=/dev/block/by-name/vendor_b
dd if=/sdcard/oem64.img of=/dev/block/by-name/oem_b
2. Reboot into fastboot, swap active slots, and wipe userdata + DDR. Then flash an arm64 AB GSI. I'd recommend trying Phh's AOSP Vanilla to maximize the chances of success.
To swap slots and wipe user data...
Code:
fastboot --set-active=_b
fastboot erase userdata
fastboot erase DDR
3. Reboot system, and tell me what happens.
**Do NOT attempt to use TWRP with this. You'll probably have to reflash stock firmware to the slot you tampered with to get everything back to normal afterwards.**
Link: 64bit Folder
This is not source built, and it's very much a hack job, so I'm really not expecting anything to work. I did get Ubuntu installed this morning, so I will attempt to build from source in the near future.
Please don't use this if you don't know what a "brick" is or how to recover from one
PS: it probably wont work cause vendor is twice the size xD
The G7 play is coming so far little by little it was like yesterday we never thought we would have twrp and magisk and now in fact we do on a GSI
([emoji88]Havoc GSI[emoji88])
00p513 said:
PS: it probably wont work cause vendor is twice the size xD
Click to expand...
Click to collapse
You are correct. She's way too hefty. It's ~164mb too large. I tried resizing last night, but I can only shrink it to 433mb. I can probably remove the modem files and replace them with the ones from stock. I think it's where most of the extra weight is from. The 64bit libs are about 1.5x bigger, but I don't think that accounts for all of it. The Muppets have a tree for sdm632, so all I need to do is look at it, and delete everything in vendor that's not in there. It should help but I'm not sure if it'll be enough. I could repartition it, but I'm not a fan of resizing partitions because I'm very fearful of bricks.
Spaceminer said:
You are correct. She's way too hefty. It's ~164mb too large. I tried resizing last night, but I can only shrink it to 433mb. I can probably remove the modem files and replace them with the ones from stock. I think it's where most of the extra weight is from. The 64bit libs are about 1.5x bigger, but I don't think that accounts for all of it. The Muppets have a tree for sdm632, so all I need to do is look at it, and delete everything in vendor that's not in there. It should help but I'm not sure if it'll be enough. I could repartition it, but I'm not a fan of resizing partitions because I'm very fearful of bricks.
Click to expand...
Click to collapse
I can get a bit more space with an ocean gpt.bin btw. i suppose we could see how those files work i guess and make a bigger vendor?
00p513 said:
I can get a bit more space with an ocean gpt.bin btw. i suppose we could see how those files work i guess and make a bigger vendor?
Click to expand...
Click to collapse
Have you flashed the gpt.bin from ocean before? If so I'll definitely try using that with the slightly smaller vendor I made. I'm thinking most things from Ocean should work natively. The only difference is screen size by a few pixels, ram, and battery capacity. Otherwise they're essentially the same.
Spaceminer said:
Have you flashed the gpt.bin from ocean before? If so I'll definitely try using that with the slightly smaller vendor I made. I'm thinking most things from Ocean should work natively. The only difference is screen size by a few pixels, ram, and battery capacity. Otherwise they're essentially the same.
Click to expand...
Click to collapse
yeah i use channel firmware extracted, then i use motoflash2sh to generate a bashscript from the flashfile. I then replace gpt .bin and remove it from the md5 checks at the beginning of the script. run the script and im repartitioned!
00p513 said:
yeah i use channel firmware extracted, then i use motoflash2sh to generate a bashscript from the flashfile. I then replace gpt .bin and remove it from the md5 checks at the beginning of the script. run the script and im repartitioned!
Click to expand...
Click to collapse
That's awesome! I'll try working with this.
Spaceminer said:
That's awesome! I'll try working with this.
Click to expand...
Click to collapse
ill send a repartition kit later. just unzip and run the script
00p513 said:
ill send a repartition kit later. just unzip and run the script
Click to expand...
Click to collapse
I already found it. So I'd just remove 61863ba7dac0c512d610ffa6406a50f8 and it'll flash correct?
Code:
md5sum --check <<EOF || exit 1
[B]61863ba7dac0c512d610ffa6406a50f8[/B] *gpt.bin
Spaceminer said:
I already found it. So I'd just remove 61863ba7dac0c512d610ffa6406a50f8 and it'll flash correct?
Code:
md5sum --check <<EOF || exit 1
[B]61863ba7dac0c512d610ffa6406a50f8[/B] *gpt.bin
Click to expand...
Click to collapse
that whole line needs deleting. That is just to stop it failing on md5 verification ,as it is a dfiferent file
Spaceminer said:
I already found it. So I'd just remove 61863ba7dac0c512d610ffa6406a50f8 and it'll flash correct?
Code:
md5sum --check <<EOF || exit 1
[B]61863ba7dac0c512d610ffa6406a50f8[/B] *gpt.bin
Click to expand...
Click to collapse
Did it work? Any update on the vendor image?
00p513 said:
Did it work? Any update on the vendor image?
Click to expand...
Click to collapse
I haven't tried it yet. I got side tracked compiling twrp. I'm 3 errors away from success. Something about unknown compiler flags.
As an FYI, I'm out of a computer for the next several months, possibly up to a year. I'm going through a nasty divorce at the moment, and that's all I'm going to say about that. I'll get back into the game as soon as I can, but for now, you should not expect me to put out anything new for quite awhile. I can and will help people as much as possible during this time. But my ability to do so is going to be hindered without an PC.
I'm sorry to hear that. My divorce lasts since two years.
However, that's not why I registered. I received a Moto G7 Play for app security testing just a few days ago and found this forum when trying to install GSI to the phone. Everything works fine, but I'm interested to upgrade the OS to 64bit. Therefore, I'd like to try out the work already present in this thread. Unfortunately, I have neither found the repartition kit nor gained enough information about gpt.bin file format yet in order to repartition the flash memory of the G7 Play.
I'd really appreciate if anybody could either post or send me the repartition kit or supply information about the partition table format, because I failed to google for that kind of information.
[edit] Ok, I found out how to change partition size to the size of ocean. I flashed the following images:
* Partition table from ocean
* Everything else except system_a from channel
* system_a from phh (binder64)
Everything worked just fine.
Then I proceeded to flash the files posted in this thread earlier. The vendor64.img fits into the new partition layout just fine. After flashing all 4 files, I proceeded to flash phh 64bit version. Then I rebooted, but the boot failed:
First, the device showed up some very long hexadecimal number (maybe some UUID?) on a black screen, where it had shown "bad key" before when everything went right.
Afterwards, it ran into fastboot:
Start Up Failed:
Your device didn't start up successfully.
Use Software Repair Assistant on computer to repair your device.
Connect your device to your computer to get the Software Repair Assistant.
AP Fastboot Flash Mode (Secure)
Failed to verify hab image boot_a
Error: failed to load kernel!
No bootable A/B slot
Failed to boot Linux,falling back to fastboot
Fastboot Reason: Fall-through from normal boot mode
Click to expand...
Click to collapse
So, I'm back on binder64 again.
Please, could you provide any help for fixing the images, or at least the information how you have built the 64bit images?

[ROM][UNOFFICIAL] LineageOS 17.1 for Unihertz Atom L (20200828)

Introduction
This thread contains the LineageOS 17.1 custom firmware images for the Unihertz Atom L, a rugged Android phone released by Unihertz in July 2020, and the accompanying LineageOS Recovery used for flashing the firmware.
Please note that this ROM is one of my side projects, for which I could provide zero warranty. By installing this ROM, you acknowledge that you take all the risks that come with installing custom firmwares on your devices, including but not limited to bricking your device, losing your data, etc. You are always suggested to keep backups and make sure you know how to flash back to official ROM before trying any custom ROMs.
Please find the download links in the Download section. The following sections are guides to installing the ROM.
WARNING: DO NOT try to install this on Atom XL. This is ONLY for the Atom L.
Working Features
- All basic features (Telephony, VoLTE, Audio, Camera, NFC, WiFi, Bluetooth, ....)
- Programmable PTT (red) button (Functionality can be set in Settings - System - Buttons, under the "Search Button" section)
- 48MP camera seems to be working (unlike on many other super resolution devices)
Known Issues
- VoLTE is working (at least for me) but sometimes quirky. If you find it somehow stopped working, usually turning it off and back on again (in Settings - Network - Mobile Network) will fix it. Putting the device to SELinux Permissive mode also fixes most of the VoLTE quirks but this is not recommended (a few quirks in Enforcing mode is better than having the whole device Permissive)
Unlocking
1. Boot your Atom L to the official OS
2. Go into Settings - About phone, tap "build number" several times to enable developer settings
3. Go to Settings - System - Developer Settings, enable OEM unlocking and ADB debugging
4. Run `adb reboot bootloader` on your PC (there is no way to enter bootloader directly, only possible through adb)
5. Run `adb flashing unlock` and comfirm unlock on device (THIS WILL WIPE ALL DATA)
6. Reboot and now you should see an unlocked warning during boot screen.
Installing LineageOS Recovery
For now the only working recovery is the LineageOS Recovery, because the device's kernel does not load the touch driver in recovery mode for whatever reason, rendering TWRP useless.
1. Download `lineage_recovery_XXX.img` and `vbmeta.zip`, unpack `vbmeta.zip` to get three .img files starting with `vbmeta`
2. Run `adb reboot bootloader` to put your device in bootloader mode
3. Run `fastboot flash --disable-verification --disable-verity vbmeta vbmeta.img`
4. Run `fastboot flash --disable-verification --disable-verity vbmeta_system vbmeta_system.img`
5. Run `fastboot flash --disable-verification --disable-verity vbmeta_vendor vbmeta_vendor.img`
6. Run `fastboot flash recovery lineage_recovery_XXX.img`
7. Run `fastboot reboot recovery` to reboot into the newly-installed LineageOS Recovery
The LineageOS Recovery is operated by volume keys as selection and power as confirmation (or entering sub-menus). To return to upper levels of menus from sub-menus, press volume up until the selection goes to the first item and then disappears, then press power (i.e. there's a hidden "Go Back" item at the very top of each sub-menu).
The recovery will show a verification failed prompt for most packages that are not signed with the AOSP keys. This is safe to ignore.
Installing LineageOS 17.1
The LineageOS image must be installed via LineageOS recovery.
1. Download `lineage-17.1-Atom_L-XXX.zip`
2. Reboot your device into recovery (`adb reboot recovery` or simply hold volume up while turning power on)
3. Wipe all data (factory reset) (THIS DELETES EVEN INTERNAL STORAGE)
4. Choose Apply Update, then Apply Update from ADB
5. Run `adb sideload lineage-17.1-Atom_L-XXX.zip` from your PC
6. Wait for the process to finish. (The recovery might prompt something about verification failure, just ignore it and continue anyway)
7. At this point, you can then sideload the LATEST Magisk and OpenGAPPS Nano at your will (note that the size of the system partition might only be enough for the `nano` variant of OpenGAPPS) (If installing Magisk / OpenGAPPS fails, you can try rebooting into recovery again in advanced menus, then try installing them again)
8. Reboot into system and enjoy (Note that Magisk might cause your device to boot loop once or two but it will eventually boot)
When updating to a newer build, you have to flash the new zip, and then re-flash whatever mod you have installed previously (Magisk / GAPPS).
Download Links
LineageOS:
lineage-17.1-Atom_L-20200828-peter-signed.zip: https://mega.nz/file/bAgh1BZA#jzMs_0e9NUR9NcALXWp51ZeWttM5rl_3K5T8Or9hAW0
- Synchronized updates from LineageOS upstream.
lineage-17.1-Atom_L-20200728-peter-signed.zip: https://mega.nz/file/vBwlmL5D#wpw8RovBHyVFCLFlhQ2H5QAIb0ECXkT4of0FRijiP6A
LineageOS Recovery:
lineage_recovery_20200728.img: https://mega.nz/file/yc4Dnbyb#yx0Ci9p3q9_lfAiXkGfgWDFnRJI-JSGrv3kyawkU3fw
vbmeta:
vbmeta.zip: https://mega.nz/file/nF51mBoY#ZNY4j92wc_6a1dXch3l5r-w4VFl9QjN7YJaRMKRoEGk
XDA:DevDB Information
LineageOS 17.1 for Unihertz Atom L, ROM for the Android General
Contributors
PeterCxy
Source Code: https://cgit.typeblog.net/android/device/unihertz/Atom_L/
ROM OS Version: Android 10
Version Information
Status: Alpha
Created 2020-07-28
Last Updated 2020-07-28
How different is the Atom XL?
PeterCxy said:
Introduction
WARNING: DO NOT try to install this on Atom XL. This is ONLY for the Atom L.
Unfortunately I've got the XL version which I thought only varied from the L by the presence of a UHF radio! Can you explain to me why its not a suitable candidate for your mods which sound very good!?
And before you ask, I only got this radio for hacking so I don't mind experimenting if that is required. Please let me know if I can help.
The Bitfarmer
Click to expand...
Click to collapse
tvroman said:
PeterCxy said:
Introduction
WARNING: DO NOT try to install this on Atom XL. This is ONLY for the Atom L.
Unfortunately I've got the XL version which I thought only varied from the L by the presence of a UHF radio! Can you explain to me why its not a suitable candidate for your mods which sound very good!?
And before you ask, I only got this radio for hacking so I don't mind experimenting if that is required. Please let me know if I can help.
The Bitfarmer
Click to expand...
Click to collapse
Because Unihertz publishes completely different firmware files for the L and XL, so the safest assumption is that there is more difference than just the UHF radio. If you want to risk it, then you CAN try using this ROM on the XL, as long as you know how to revert back to official if things go wrong. (But I cannot guarantee if the kernel image from L that this ROM uses will not cause serious issues like corrupted baseband or something on the XL)
My suggestion is that instead of trying this ROM directly on the XL, someone with XL can try to modify my device tree for L, replacing the kernel, dtbo images and other vendor blobs from the ones from XL, and then re-compile the ROM for XL. This would be the proper way to handle these two devices.
Click to expand...
Click to collapse
Going XL
Hi.
Great work. :good:
I want to built a ROM for the Atom XL myself. And because I'm no expert on this (for now) I'm in search of guides and hints on how to achieve my goal.
As far as I know the biggest problem with Unihertz is that they use a Mediatek chipset with which they are not allowed to provide the sourcecode of the kernel. Or at least you have to pay for it from Mediatek.
But there are some variants of the chipset (Helio P60; mt6771) used in other mobile phones (e.g. Nokia X5) for which I was able to find kernelsources on Github. Using these and the latest Android kernel from google I tried to compile a kernel as a starting point. I was able to extract the build.config directly from the phone which helped tremendously. This should at least get me to the point where I'm able to assemble a TWRP build. But I believe that I'm still missing some (vital?) drivers which are specific to the actual device. This includes I think the missing touchscreen driver that you mentioned is preventing the recovery to be useful.
So now I'm a little bit stuck, because most of the guides to arrange a LineageOS (or any other custom ROM) build tree I found require the sourcecode from the manufacturer which we don't have. All other guides to build from scratch were too generic for my current level of expertise.
Can you please share your approach to create this build?
If you don't want to do this in the open you could also PM me.
With kind regards
ADT
a-dead-trousers said:
Hi.
Great work. :good:
I want to built a ROM for the Atom XL myself. And because I'm no expert on this (for now) I'm in search of guides and hints on how to achieve my goal.
As far as I know the biggest problem with Unihertz is that they use a Mediatek chipset with which they are not allowed to provide the sourcecode of the kernel. Or at least you have to pay for it from Mediatek.
But there are some variants of the chipset (Helio P60; mt6771) used in other mobile phones (e.g. Nokia X5) for which I was able to find kernelsources on Github. Using these and the latest Android kernel from google I tried to compile a kernel as a starting point. I was able to extract the build.config directly from the phone which helped tremendously. This should at least get me to the point where I'm able to assemble a TWRP build. But I believe that I'm still missing some (vital?) drivers which are specific to the actual device. This includes I think the missing touchscreen driver that you mentioned is preventing the recovery to be useful.
So now I'm a little bit stuck, because most of the guides to arrange a LineageOS (or any other custom ROM) build tree I found require the sourcecode from the manufacturer which we don't have. All other guides to build from scratch were too generic for my current level of expertise.
Can you please share your approach to create this build?
If you don't want to do this in the open you could also PM me.
With kind regards
ADT
Click to expand...
Click to collapse
You don't need the kernel source code to build a working ROM -- just look at my device tree for Atom L. I think you can build a working ROM for the XL by just replacing the prebuilt kernel in my device tree with the one from Atom XL and also re-extracting the vendor blobs from XL using the script in my devcie tree, then rename everything to Atom XL instead of L. I don't know if the integrated amateur radio would still work though.
PeterCxy said:
You don't need the kernel source code to build a working ROM -- just look at my device tree for Atom L. I think you can build a working ROM for the XL by just replacing the prebuilt kernel in my device tree with the one from Atom XL and also re-extracting the vendor blobs from XL using the script in my devcie tree, then rename everything to Atom XL instead of L. I don't know if the integrated amateur radio would still work though.
Click to expand...
Click to collapse
I'm already on to that.
But I seem to have trouble extracting the prebuilt kernel. None of the tools I found gave me the exact files you have got (dtb.img, dtbo.img, Image.gz). What did you use?
The best I could get were "dtb", "kernel" and "dtborecovery" (without extensions) which roughly had the same size as yours.
Also, as far as I understand it, with your initial commit (without the modifications for Lineage itself) I should be able to at least compile a recovery image but I got an error regarding a missing dtb.img file in the "out" directory.
Something seems to be missing because, my dtb file is in the "device" directory and not being transfered into "out" during building.
I'm not sure that is because I have got a different naming scheme (renamig it didn't help) or I did something wrong with the extraction.
---------- Post added at 07:30 ---------- Previous post was at 07:14 ----------
Another question I have:
Are the vbmeta-files you used to flash the recovery the ones from the original firmeware zip from unihertz or did you get them from the lineage built?
And reguarding the rather smallish system partition:
I have an idea to bypass that by using the SPFlash Tool from Mediatek. As far as I understand the settings in the scatter-file this tool does a repartitioning of the internal storage. So we only need to "decrease" the userdata, "move" some partitions inbetween and "increase" the system. Only problem is, I couldn't find a partition designated as "system" in the scatter-file, only one big "super" and a "vbmeta-system" (which for my understaning is for verified boot) partition.
What do you think?
a-dead-trousers said:
I'm already on to that.
But I seem to have trouble extracting the prebuilt kernel. None of the tools I found gave me the exact files you have got (dtb.img, dtbo.img, Image.gz). What did you use?
The best I could get were "dtb", "kernel" and "dtborecovery" (without extensions) which roughly had the same size as yours.
Also, as far as I understand it, with your initial commit (without the modifications for Lineage itself) I should be able to at least compile a recovery image but I got an error regarding a missing dtb.img file in the "out" directory.
Something seems to be missing because, my dtb file is in the "device" directory and not being transfered into "out" during building.
I'm not sure that is because I have got a different naming scheme (renamig it didn't help) or I did something wrong with the extraction.
---------- Post added at 07:30 ---------- Previous post was at 07:14 ----------
Another question I have:
Are the vbmeta-files you used to flash the recovery the ones from the original firmeware zip from unihertz or did you get them from the lineage built?
And reguarding the rather smallish system partition:
I have an idea to bypass that by using the SPFlash Tool from Mediatek. As far as I understand the settings in the scatter-file this tool does a repartitioning of the internal storage. So we only need to "decrease" the userdata, "move" some partitions inbetween and "increase" the system. Only problem is, I couldn't find a partition designated as "system" in the scatter-file, only one big "super" and a "vbmeta-system" (which for my understaning is for verified boot) partition.
What do you think?
Click to expand...
Click to collapse
> None of the tools I found gave me the exact files you have got (dtb.img, dtbo.img, Image.gz). What did you use?
There is a tool called `unpack_bootimg` in the Android source code. Just run `make unpack_bootimg` in the root directory of the Android source tree and you will get one in the output directory. (btw I have renamed those extracted files so the names won't exactly match, but you need this tool to extract the correct images. All other tools won't work properly).
> my dtb file is in the "device" directory and not being transfered into "out" during building.
Because most tools other than `unpack_bootimg` extracts dtb incorrectly.
> Are the vbmeta-files you used to flash the recovery the ones from the original firmeware zip from unihertz or did you get them from the lineage built?
Those don't matter. Either will work as long as you flash it with the correct parameters as given in my post.
> And reguarding the rather smallish system partition
No don't do that. Android 10 does not use a separate system partition anymore, instead both system, vendor and product are sub-partitions in a huge super partition. When flashing a new ROM, the partitions are automatically resized to match the new image exactly, instead of leaving free space unused like before Android 10. That's why I need to reserve space in BoardConfig.mk for gapps to be installed correctly.
Still not able to build.
PeterCxy said:
There is a tool called `unpack_bootimg` in the Android source code. Just run `make unpack_bootimg` in the root directory of the Android source tree and you will get one in the output directory. (btw I have renamed those extracted files so the names won't exactly match, but you need this tool to extract the correct images. All other tools won't work properly).
Click to expand...
Click to collapse
I'm still getting an error:
Code:
FAILED: ninja: 'out/target/product/Atom_XL/dtb.img', needed by 'out/target/product/Atom_XL/boot.img', missing and no known rule to make it
Comparing your BoardConfig.mk with mine shows a slight difference in the offset and size values which could be associated with the different kernels of the phones.
But using "unpack_bootimg" I didn't get a value for "BOARD_KERNEL_OFFSET" like you have it in your config. Could this be the problem?
Your BoardConfig.mk
My BoardConfig.mk
Do you see anything else out of the ordinary?
(Because I'm doing everything what you did step-by-step the links point to the best matching commits)
Despite not being able to compile right now I tried to press on with integrating your changes in the hopes that it will be fixed somehow later on
So I'm currently stuck on this commit of yours:
Atom_L: import overlay from official vendor
Where did you get the "config.xml" and "power_profile.xml" from? The best thing I could find was a "power_profile.xml" inside "/vendor/overlay/FrameworkResOverlay/FrameworkResOverlay.apk" which seems to be a "compiled" version of the aforementioned xml-file.
a-dead-trousers said:
I'm still getting an error:
Code:
FAILED: ninja: 'out/target/product/Atom_XL/dtb.img', needed by 'out/target/product/Atom_XL/boot.img', missing and no known rule to make it
Comparing your BoardConfig.mk with mine shows a slight difference in the offset and size values which could be associated with the different kernels of the phones.
But using "unpack_bootimg" I didn't get a value for "BOARD_KERNEL_OFFSET" like you have it in your config. Could this be the problem?
Your BoardConfig.mk
My BoardConfig.mk
Do you see anything else out of the ordinary?
(Because I'm doing everything what you did step-by-step the links point to the best matching commits)
Despite not being able to compile right now I tried to press on with integrating your changes in the hopes that it will be fixed somehow later on
So I'm currently stuck on this commit of yours:
Atom_L: import overlay from official vendor
Where did you get the "config.xml" and "power_profile.xml" from? The best thing I could find was a "power_profile.xml" inside "/vendor/overlay/FrameworkResOverlay/FrameworkResOverlay.apk" which seems to be a "compiled" version of the aforementioned xml-file.
Click to expand...
Click to collapse
> Comparing your BoardConfig.mk with mine shows a slight difference in the offset and size values which could be associated with the different kernels of the phones.
TARGET_KERNEL_OFFSET should normally always be 0x00008000. Also, your other offset values seem to be wrong too -- those values from `unpack_bootimg` cannot be filled in directly to BoardConfig.mk. Instead, you need to subtract BOARD_KERNEL_BASE from them (e.g. BOARD_RAMDISK_OFFSET should be 0x55000000 - 0x40078000, which is 0x14f88000, the same as mine). In fact, I think those parameters should be exactly the same for XL and L. Other than that, I don't think I can see much of a problem about your makefiles.
However, note that not all of my historical commits represent a compilable state of the device tree. I'd suggest you start directly from the latest state and just replace whatever is relevant instead of starting over. And there should not be much that needs changing at all except device names, fingerprints and the proprietary vendor files.
> Where did you get the "config.xml" and "power_profile.xml" from
Exactly from those apks. Just decompile them using apktool.
PeterCxy said:
TARGET_KERNEL_OFFSET should normally always be 0x00008000. Also, your other offset values seem to be wrong too -- those values from `unpack_bootimg` cannot be filled in directly to BoardConfig.mk. Instead, you need to subtract BOARD_KERNEL_BASE from them (e.g. BOARD_RAMDISK_OFFSET should be 0x55000000 - 0x40078000, which is 0x14f88000, the same as mine). In fact, I think those parameters should be exactly the same for XL and L. Other than that, I don't think I can see much of a problem about your makefiles.
Click to expand...
Click to collapse
Still giving me errors.
So I tried a very unconventional approach: I just copied the file myself into the mentioned "out/target/product/Atom_XL" folder.
For now it's still compiling. Fingers crossed.
PeterCxy said:
However, note that not all of my historical commits represent a compilable state of the device tree. I'd suggest you start directly from the latest state and just replace whatever is relevant instead of starting over. And there should not be much that needs changing at all except device names, fingerprints and the proprietary vendor files.
Click to expand...
Click to collapse
I just reached your biggest commit yet.
Can you tell me how you got the list of needed files? I hope it's not through trial-and-error.
Except for the values in "setup-makefiles.sh" only the "proprietary-files.txt" seems to be device specific. Is there anything else I need to be aware of in this commit?
P.S.: I know it is tedious to go through your commits one by one but I want to learn something of it not just simply copying what you did. To get a feeling where the biggest pitfalls are and what you did to circumvent them.
a-dead-trousers said:
Still giving me errors.
So I tried a very unconventional approach: I just copied the file myself into the mentioned "out/target/product/Atom_XL" folder.
For now it's still compiling. Fingers crossed.
I just reached your biggest commit yet.
Can you tell me how you got the list of needed files? I hope it's not through trial-and-error.
Except for the values in "setup-makefiles.sh" only the "proprietary-files.txt" seems to be device specific. Is there anything else I need to be aware of in this commit?
P.S.: I know it is tedious to go through your commits one by one but I want to learn something of it not just simply copying what you did. To get a feeling where the biggest pitfalls are and what you did to circumvent them.
Click to expand...
Click to collapse
> Still giving me errors.
Looks like that dtb.img error was totally my fault -- it was due to my jerry-rigged solution of using prebuilt dtb image that conflicted with one of Lineage's update in August and I haven't built the ROM for a month. Now I have fixed it in the latest commit.
> Can you tell me how you got the list of needed files?
All of those files are for VoLTE support and I started with the list from a commit in Redmi Note 7 Pro's device tree that imported those VoLTE blobs, and then added what was missing one by one (when something is missing the Phone process will crash and you can see what got missing in the logs). I don't think the list will be any different on Atom XL so you can just use the one in my device tree.
Hi.
Thanks to you everything is running smoothly here. But what bugs me is that TWRP is not working on our devices.
Although for the Atom there is a possibility: https://forum.xda-developers.com/android/development/twrp-modded-to-unihertz-atom-t3885793
Before I want to go public with my build I wanted to solve this last "mystery".
So I tried to include it in my current source tree according to the (official?) guide but some errors prevented me from a successful build.
Naturally I asked for some guidance at the most reasonable places I know of but got nothing so far:
https://forum.xda-developers.com/showpost.php?p=83443611&postcount=4622
https://forum.xda-developers.com/showpost.php?p=83455271&postcount=4623
https://github.com/TeamWin/android_bootable_recovery/issues/70
I even tried different repositories (omnirom/android_bootable_recovery) and revisions (android-9.0) but these resulted in missing library "type" (static vs. shared) errors so I assume these are too old for LineageOS 17.1
What I want to know is how you managed to get TWRP to built for your device even though the touchscreen wasn't working?
Did you use your LineageOS source tree or one of the many "minimal" manifests? If so, which one would be the "best" to use?
wkr ADT
@PeterCxy and @a-dead-trousers
Thanks for all the work on this so far. I've got an Atom L and have gotten the ROM's PeterCxy posted running on them as in the OP. Do either of you have a quick step-by-step workflow of how you got all the Lineage sources set up and built into the various ROMs? I'd like to be able to build the ROMs from scratch and understand the process.
If I can get caught up to where you two are at with the builds, I can help debug, test and work through issues.
dirtylimerick said:
[MENTION=5351691] Do either of you have a quick step-by-step workflow of how you got all the Lineage sources set up and built into the various ROMs? I'd like to be able to build the ROMs from scratch and understand the process.
If I can get caught up to where you two are at with the builds, I can help debug, test and work through issues.
Click to expand...
Click to collapse
I documented my steps to setup up the build environment in the readme of my repo:
https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL
But leave out the TWRP part. It isn't working yet mostly because TeamWin/android_bootable_recovery and LineageOS/android_bootable_recovery are too similar.
To figure out all the bits and pieces needed for the device I followed the commit log of @PeterCxy build.
Hi, @PeterCxy.
Finally I was able to build a TWRP recovery and surprise, surprise the touchscreen isn't working.
But during my attempts to get a working TWRP build I came acros a guide that explains how to patch the kernel to get the touchscreen to work.
https://forum.hovatek.com/thread-27132.html
So I tried to follow it but failed to identify the "end" of the zipped Image-file (step 18) to remove the payload from the gz-file. Regardless of which of the null-bytes I use for cutting I always get a warning from 7-zip that there is still data at the end.
Do you know a better approach to achieve this whole patching? Maybe even come up with a scripting solution to easily apply this patch in later builds?
wkr ADT
a-dead-trousers said:
Hi, @PeterCxy.
Finally I was able to build a TWRP recovery and surprise, surprise the touchscreen isn't working.
But during my attempts to get a working TWRP build I came acros a guide that explains how to patch the kernel to get the touchscreen to work.
https://forum.hovatek.com/thread-27132.html
So I tried to follow it but failed to identify the "end" of the zipped Image-file (step 18) to remove the payload from the gz-file. Regardless of which of the null-bytes I use for cutting I always get a warning from 7-zip that there is still data at the end.
Do you know a better approach to achieve this whole patching? Maybe even come up with a scripting solution to easily apply this patch in later builds?
wkr ADT
Click to expand...
Click to collapse
There is no sane way to solve the problem without kernel source code. Basically the stock kernel just does not load the touch screen driver in recovery mode. That patching guide is pretty out of date and I imagine it won't work on most recent kernels. The only proper way is to pressure Unihertz to actually obey GPLv2 and release their kernel source code. Or maybe someone can try reverse-engineering the kernel, but at least I won't do it because it'll just be too much of a hassle.
PeterCxy said:
There is no sane way to solve the problem without kernel source code. Basically the stock kernel just does not load the touch screen driver in recovery mode. The only proper way is to pressure Unihertz to actually obey GPLv2 and release their kernel source code.
Click to expand...
Click to collapse
I'm with you on this one, but as long as we don't have the source code we need to resort to other means to achieve our goals.
PeterCxy said:
That patching guide is pretty out of date and I imagine it won't work on most recent kernels.
Click to expand...
Click to collapse
Yeah it's from way back in 2019
Anyway, with a little bit of tinkering I was able to modify my kernel to load the touchscreen driver in recovery mode.
Here is the device tree and the manifest i used.
I wouldn't recommend to use it in it's current state at all though because the fstab needs a little bit of tinkering. Everything seems to be either unordered or not mounted properly and I fear anything you do in there now will mess up the whole device. BUT I got the touchscreen goin for me which is nice.
PeterCxy said:
Or maybe someone can try reverse-engineering the kernel, but at least I won't do it because it'll just be too much of a hassle.
Click to expand...
Click to collapse
As soon as I have everything sorted out that needs to be fixed on my build (e.g. signing, radio, included gapps working properly, TWRP) I want to dig deeper into the kernel.
There are some devices with Helios P60 out there from other vendors which offer kernel sources.
P.S.: I also uploaded a HOW-TO in my device tree.
If you or someone else wants to try it. Also if you want to you can send me a "symbl.txt" (see to the HOW-TO) extracted from your device then I can do the patching for the Atom_L too.
a-dead-trousers said:
I'm with you on this one, but as long as we don't have the source code we need to resort to other means to achieve our goals.
Yeah it's from way back in 2019
Anyway, with a little bit of tinkering I was able to modify my kernel to load the touchscreen driver in recovery mode.
Here is the device tree and the manifest i used.
I wouldn't recommend to use it in it's current state at all though because the fstab needs a little bit of tinkering. Everything seems to be either unordered or not mounted properly and I fear anything you do in there now will mess up the whole device. BUT I got the touchscreen goin for me which is nice.
As soon as I have everything sorted out that needs to be fixed on my build (e.g. signing, radio, included gapps working properly, TWRP) I want to dig deeper into the kernel.
There are some devices with Helios P60 out there from other vendors which offer kernel sources.
P.S.: I also uploaded a HOW-TO in my device tree.
If you or someone else wants to try it. Also if you want to you can send me a "symbl.txt" (see to the HOW-TO) extracted from your device then I can do the patching for the Atom_L too.
Click to expand...
Click to collapse
Happy to hear that you were able to figure the touchscreen out. I tried to port TWRP at the very beginning when I started tinkering with the device but quickly grew frustrated and just ported Lineage Recovery instead. I guess I might try patching the kernel image too at some point later.
BTW, for TWRP to work with devices released after Android 10, I'm pretty sure you need an extra set of patches that are not yet fully merged to the main TWRP repository. I remember there's some guy providing another manifest with all the patches applied but I couldn't remember the name.
Hi.
I just officially announced my build for the Atom XL:
https://forum.xda-developers.com/android/development/rom-lineageos-17-1-unihertz-atom-xl-t4171407
Could you please put a link in your first post for those in search of the Atom XL and found your thread instead. Thanks.
wkr ADT
hi @PeterCxy.
During my daily usage of the phone I encountered a strage problem:
The audio jack isn't working. Plugging in some headphones I get this slight click in the earpieces when the circuits connect but nothing else happens. Neither a "headphone" icon in the status bar nor hearing anything coming from the headphones itself. The main speaker of the phone keeps playing the music. Using bluetooth everything is working as expected though. So I used logcat to see if something is coming up during plugging in but nothing "catchy" shows up in the logs. My guess is that some (vendor?) service is missing or not started during booting. Next I checked If something shows up on logcat during boot but I'm not sure for what to look exactly. There are quite a few errors and warnings though. In my despair I started to "fix" the "avc: denied" (SEPolicy) entries. Thats when I found a specific error reguarding VoLTE. Maybe this would fix the problems you had with VoLTE in enforcing mode:
https://github.com/ADeadTrousers/an..._Atom_XL/blob/master/sepolicy/private/init.te
(The line with "socket_device:sock_file")
My provider doesn't support VoLTE so I'm not sure if this helps or not. Maybe you could check it.
Anyway can you please tell me if your device's audio jack is working or not?
If you're (by some mysterious coincidence) not affected by this, can you at least give me some pointers for what to look for to get this fixed on my side.
The Internet Is not very helpful when searching for "android audio jack" or something similiar.
Thanks in advance.
wkr ADT

Categories

Resources