Related
I have been trying for some time now to enable KVM on the Pixel XL, by compiling the stock Google kernel and adding the KVM switches to "marlin_defconfig".
Unfortunately, while the kernel with KVM compiles properly and could be flashed, /dev/kvm doesn't show up.
Analyzing the output of "dmesg" would show this offending line:
Code:
[ 1.039716] c3 1 kvm [1]: HYP mode not available
I know, however, that the SoC definitely supports KVM (it's based on the ARMv8-A architecture, which means that it has virtualization support, according to this page: https://www.linux-kvm.org/page/Processor_support).
I'm stumped. Can anybody tell me what to do? It would be greatly appreciated!
My marlin_defconfig is attached below.
WaseemAlkurdi said:
I have been trying for some time now to enable KVM on the Pixel XL, by compiling the stock Google kernel and adding the KVM switches to "marlin_defconfig".
Unfortunately, while the kernel with KVM compiles properly and could be flashed, /dev/kvm doesn't show up.
Analyzing the output of "dmesg" would show this offending line:
I know, however, that the SoC definitely supports KVM (it's based on the ARMv8-A architecture, which means that it has virtualization support, according to this page: https://www.linux-kvm.org/page/Processor_support).
I'm stumped. Can anybody tell me what to do? It would be greatly appreciated!
My marlin_defconfig is attached below.
Click to expand...
Click to collapse
This should have been posted in Q&A..
stebomurkn420 said:
This should have been posted in Q&A..
Click to expand...
Click to collapse
Was going to post it under Q&A, but changed my mind, since (a) it's a dev-related question warranting dev attention, and (b) I expect that this thread is going to become the "official" thread of the kernel once it's done.
Thanks for your concern though!
how does kvm affect the kernel? are you trying to add it just for the hell of it? or wanting to work on something bigger?
ztotherad said:
how does kvm affect the kernel? are you trying to add it just for the hell of it? or wanting to work on something bigger?
Click to expand...
Click to collapse
@ztotherad
It's already built-in the kernel sources, but I'm trying to enable it. I am actually attempting to run QEMU in KVM mode as to emulate both Linux and (most importantly) Windows 10 ARM. at native speeds.
I have QEMU built (Limbo's is too old, so I built it myself from source), I just need KVM.
WaseemAlkurdi said:
@ztotherad
It's already built-in the kernel sources, but I'm trying to enable it. I am actually attempting to run QEMU in KVM mode as to emulate both Linux and (most importantly) Windows 10 ARM. at native speeds.
I have QEMU built (Limbo's is too old, so I built it myself from source), I just need KVM.
Click to expand...
Click to collapse
You can't use kvm even If you enable it in kernel.KVM on ARM is based on the ARM virtualization support, i.e. you'll need ARM EL2 permission (on ARMv8) or HYP (on ARMv7).Just like on x86 , you'll have to enable VT-X or AMD-V in BIOS or so.
However sadly, on Qualcomm devices, EL2 isn't designed to be in our reach, even If you unlock bootloader ,all you'll get is full control of EL1.EL2 is instead running QHEE,which is basically for security.So if you still want to run kvm on a Qualcomm device you'll at least either need a prototype device(unfused) to custom qualcomm bootloaders and underlying stuffs, and let your kernel running in EL2, or need a really really powerful exploit like trustzone exploit, to take the control of EL2, EL3, breaking chain-of-trust etc.
Android phones are mostly designed for security concerns and mostly shipped without hypervisor permission.However there are some exceptions like Samsung Exynos that allows you to switch to EL2 with some specific ways.
fxsheep said:
You can't use kvm even If you enable it in kernel.KVM on ARM is based on the ARM virtualization support, i.e. you'll need ARM EL2 permission (on ARMv8) or HYP (on ARMv7).Just like on x86 , you'll have to enable VT-X or AMD-V in BIOS or so.
However sadly, on Qualcomm devices, EL2 isn't designed to be in our reach, even If you unlock bootloader ,all you'll get is full control of EL1.EL2 is instead running QHEE,which is basically for security.So if you still want to run kvm on a Qualcomm device you'll at least either need a prototype device(unfused) to custom qualcomm bootloaders and underlying stuffs, and let your kernel running in EL2, or need a really really powerful exploit like trustzone exploit, to take the control of EL2, EL3, breaking chain-of-trust etc.
Android phones are mostly designed for security concerns and mostly shipped without hypervisor permission.However there are some exceptions like Samsung Exynos that allows you to switch to EL2 with some specific ways.
Click to expand...
Click to collapse
Thanks for the reply! (Apologies for the extreme delay)
You said:
.However there are some exceptions like Samsung Exynos that allows you to switch to EL2 with some specific ways.
Click to expand...
Click to collapse
Can you provide any examples?
WaseemAlkurdi said:
Thanks for the reply! (Apologies for the extreme delay)
You said:
Can you provide any examples?
Click to expand...
Click to collapse
https://github.com/limboemu/limbo/wiki/KVM
I dunno if this works.(Samsung S8 example)Afaik on Exynos you need a special SMC call to the secure monitor (ARM EL3)
fxsheep said:
https://github.com/limboemu/limbo/wiki/KVM
I dunno if this works.(Samsung S8 example)Afaik on Exynos you need a special SMC call to the secure monitor (ARM EL3)
Click to expand...
Click to collapse
I've seen that link. It's basically a kernel compilation guide.
It also makes a serious mistake: that an x86 VM would be able to make use of arm64 KVM. This is impossible.
But what I haven't seen anywhere is this:
a special SMC call to the secure monitor (ARM EL3)
Click to expand...
Click to collapse
Any pointers?
WaseemAlkurdi said:
I've seen that link. It's basically a kernel compilation guide.
It also makes a serious mistake: that an x86 VM would be able to make use of arm64 KVM. This is impossible.
But what I haven't seen anywhere is this:
Any pointers?
Click to expand...
Click to collapse
https://t.me/raspberrypiwoa/34623
https://t.me/raspberrypiwoa/34624
https://t.me/raspberrypiwoa/34625
---------- Post added at 10:56 AM ---------- Previous post was at 10:54 AM ----------
WaseemAlkurdi said:
I've seen that link. It's basically a kernel compilation guide.
It also makes a serious mistake: that an x86 VM would be able to make use of arm64 KVM. This is impossible.
But what I haven't seen anywhere is this:
Any pointers?
Click to expand...
Click to collapse
btw,
https://t.me/c/1160371980/102118
Arm el2 patch
I was searching about KVM and I found that to linux/Android must be boot in EL2 mode for KVM to be work
And I found arm64 el2 patch :
https://patchwork.kernel.org/patch/6749811/
So I would say that try this patch,compile kernel again and install it and paste result here.
If it doesn't work,then try xen virtualiztion but first try this patch
Thank you, waiting for result
Ever get this to work?
WaseemAlkurdi said:
I have been trying for some time now to enable KVM on the Pixel XL, by compiling the stock Google kernel and adding the KVM switches to "marlin_defconfig".
Unfortunately, while the kernel with KVM compiles properly and could be flashed, /dev/kvm doesn't show up.
Analyzing the output of "dmesg" would show this offending line:
Code:
[ 1.039716] c3 1 kvm [1]: HYP mode not available
I know, however, that the SoC definitely supports KVM (it's based on the ARMv8-A architecture, which means that it has virtualization support, according to this page: https://www.linux-kvm.org/page/Processor_support).
I'm stumped. Can anybody tell me what to do? It would be greatly appreciated!
My marlin_defconfig is attached below.
Click to expand...
Click to collapse
I was wondering if you ever got this to work, since I have an exynos device and am trying to get kvm to work too. Also you ever try this: https://patchwork.kernel.org/[email protected]/ patch? Cause if not I might give it a ago.
Same here, enabled the necessary kernel flags, flashed, but still dmesg informs me my cores are at EL1.
Seems @fxsheep has a clear point, but, who knows.
*I'm using the sdm 845 SoC on oneplus6
Any progress on your side?
Sleirsgoevy could get into EL2 and could use kvm.
See it here
raspiduino said:
Sleirsgoevy could get into EL2 and could use kvm.
See it here
Click to expand...
Click to collapse
This just uses Exynos-specific exploit, and as such useless for Snapdragon devices.
So project treble android Q based GSI image is released.
So any one try it and know us is it working or not.
Actually i will Do that but i am Outside so i cants do it rightnow.
so it will be helpful to know whats working and how the rom is as it is beta release we can except the bugs.
Download link ARM64 AOSP:
https://developer.android.com/preview/gsi-release-notes
Same problem as Q sGSI from Erfan and my Blueline Q port. MediaProjectionService incorrect uid or something.
We might have to wait for OP to fix it cause I tried multiple vendors and boot.imgs and none worked.
And repacking Q GSI and AOSP Master builds just breaks their boot so I can't even mod system or anything.
ProtoDeVNan0 said:
Same problem as Q sGSI from Erfan and my Blueline Q port. MediaProjectionService incorrect uid or something.
We might have to wait for OP to fix it cause I tried multiple vendors and boot.imgs and none worked.
And repacking Q GSI and AOSP Master builds just breaks their boot so I can't even mod system or anything.
Click to expand...
Click to collapse
Ok man lets take some time u will do it..... ?
To install the Android Q GSI on your device, you’ll need to meet the following requirements:
Your device "launched" with Android 9 Pie and is Treble-compliant.....
Our device launched with Oreo
Is it going to work?
The difference between Oreo launched and Pie launched, is that Oreo didn't enforce System ad root, only Treble
Pie enforces system as root, so thats maybe the reason? We still have the Oneplus 6t that is absolutly the same so.
CyanideIII said:
To install the Android Q GSI on your device, you’ll need to meet the following requirements:
Your device "launched" with Android 9 Pie and is Treble-compliant.....
Our device launched with Oreo
Is it going to work?
Click to expand...
Click to collapse
Booted fine on OP5,
GSI from Erfan,
evilbait said:
Booted fine on OP5,
GSI from Erfan,
Click to expand...
Click to collapse
Any link pls?
CyanideIII said:
To install the Android Q GSI on your device, you’ll need to meet the following requirements:
Your device "launched" with Android 9 Pie and is Treble-compliant.....
Our device launched with Oreo
Is it going to work?
Click to expand...
Click to collapse
If you read the requirements document (from the OP link) then the op6, even though not released with pie, meets all the criteria to be able to boot the gsi.
---------- Post added at 10:05 PM ---------- Previous post was at 10:02 PM ----------
Astrubale said:
Any link pls?
Click to expand...
Click to collapse
In the treble section
https://forum.xda-developers.com/pr...ment/rom-android-p-developer-preview-t3816659
Has anyone booted yet?
goRt said:
If you read the requirements document (from the OP link) then the op6, even though not released with pie, meets all the criteria to be able to boot the gsi.
Click to expand...
Click to collapse
-They are unlocked.
-They have Treble support.
-They were launched with Android 9 (API level 28) or higher. Devices upgraded to Android 9 from an earlier version may or may not support GSI.
I know but why they said ”launched with Android 9"? All devices that launched with Android 8 must have treble Support!
CyanideIII said:
-They are unlocked.
-They have Treble support.
-They were launched with Android 9 (API level 28) or higher. Devices upgraded to Android 9 from an earlier version may or may not support GSI.
I know but why they said ”launched with Android 9"? All devices that launched with Android 8 must have treble Support!
Click to expand...
Click to collapse
The GSI requirements document:
https://developer.android.com/topic/generic-system-image
goRt said:
The GSI requirements document:
https://developer.android.com/topic/generic-system-image
Click to expand...
Click to collapse
Dude you're just ignoring my question
I copied that terms from Android developer site and wrote my problem with that
And again you just shared that link
NVM ???
CyanideIII said:
Dude you're just ignoring my question
I copied that terms from Android developer site and wrote my problem with that
And again you just shared that link
NVM ???
Click to expand...
Click to collapse
Dude,
You're ignoring the answer that I've pointed you to twice, because you don't like the answer:
https://developer.android.com/topic/generic-system-image#device-compliance
Code:
Check devices for compliance
GSI works only on devices with the following characteristics:
They are unlocked.
They have Treble support.
They were launched with Android 9 (API level 28) or higher. Devices upgraded to Android 9 from an earlier version may or may not support GSI.
Warning: Attempting to flash GSI to a non-compliant device could result in your device becoming non-bootable. Always confirm that your device is compliant before flashing, and follow the installation steps provided by your device's manufacturer.
GSI doesn't support rollback. You will need a recovery method and original system ROM to revert to the original system.
To determine whether your device can use GSI and determine which GSI OS version you should install, do the following:
Check for Treble support by running the following command:
adb shell getprop ro.treble.enabled
If the response is false, the device isn't compatible with GSI and you shouldn't continue. If the response is true, continue to the next step.
Check for cross-version support by running the following command:
adb shell cat /system/etc/ld.config.version_identifier.txt \
| grep -A 20 "\[vendor\]"
Note: Depending on your platform, the configuration file in the preceding command may or may not have a version identifier in it.
In the output, look in the section [vendor] for namespace.default.isolated.
If the value for that attribute is true, then the device fully supports Vendor Native Development Kit (VNDK) and can use any GSI operating system (OS) version. Choose the latest GSI OS version available.
If the value for the attribute is false, then the device isn't fully VNDK-compliant, and the device can use only the GSI for the same on-device OS version. For example, an Android 9 (API version 28) device that isn't VNDK-compliant can load only an Android 9 GSI image.
The GSI CPU architecture type must match the device’s CPU architecture. To find the right CPU architecture for the GSI image, run the following command:
adb shell getprop ro.product.cpu.abi
Use the output to determine which GSI image to use when flashing your device. For example, on a Pixel 3, the output would indicate that the CPU architecture is arm64-v8a, so you would use the arm64 type of GSI.
For devices that were upgraded to Android 9 from an earlier version, there are two different types of legacy GSI images available: _a and _ab. The system user's privilege level on the device determines which type to use.
To determine the system user’s privilege level, run the following command:
adb shell cat /proc/mounts | grep -q /dev/root && echo "system-as-root" || \
echo "non-system-as-root"
If the output of the command is system-as-root, you must use the _ab type of GSI image. If the output is non-system-as-root, you must use the _a type. If neither value is in the output of the command, the device isn't compatible with GSI and you shouldn't continue.
CyanideIII said:
Dude you're just ignoring my question
I copied that terms from Android developer site and wrote my problem with that
And again you just shared that link
NVM
Click to expand...
Click to collapse
You can also just read further than "They were launched with Android 9 (API level 28) or higher. Devices upgraded to Android 9 from an earlier version may or may not support GSI." and enter each command to check for GSI support.
The OnePlus 6, even if launched with Android 8, has been updated to Android 9, and is fully compliant with GSI requirements (check attachment)
goRt said:
Dude,
You're ignoring the answer that I've pointed you to twice, because you don't like the answer:
https://developer.android.com/topic/generic-system-image#device-compliance
Code:
Check devices for compliance
GSI works only on devices with the following characteristics:
They are unlocked.
They have Treble support.
They were launched with Android 9 (API level 28) or higher. Devices upgraded to Android 9 from an earlier version may or may not support GSI.
Warning: Attempting to flash GSI to a non-compliant device could result in your device becoming non-bootable. Always confirm that your device is compliant before flashing, and follow the installation steps provided by your device's manufacturer.
GSI doesn't support rollback. You will need a recovery method and original system ROM to revert to the original system.
To determine whether your device can use GSI and determine which GSI OS version you should install, do the following:
Check for Treble support by running the following command:
adb shell getprop ro.treble.enabled
If the response is false, the device isn't compatible with GSI and you shouldn't continue. If the response is true, continue to the next step.
Check for cross-version support by running the following command:
adb shell cat /system/etc/ld.config.version_identifier.txt \
| grep -A 20 "\[vendor\]"
Note: Depending on your platform, the configuration file in the preceding command may or may not have a version identifier in it.
In the output, look in the section [vendor] for namespace.default.isolated.
If the value for that attribute is true, then the device fully supports Vendor Native Development Kit (VNDK) and can use any GSI operating system (OS) version. Choose the latest GSI OS version available.
If the value for the attribute is false, then the device isn't fully VNDK-compliant, and the device can use only the GSI for the same on-device OS version. For example, an Android 9 (API version 28) device that isn't VNDK-compliant can load only an Android 9 GSI image.
The GSI CPU architecture type must match the device’s CPU architecture. To find the right CPU architecture for the GSI image, run the following command:
adb shell getprop ro.product.cpu.abi
Use the output to determine which GSI image to use when flashing your device. For example, on a Pixel 3, the output would indicate that the CPU architecture is arm64-v8a, so you would use the arm64 type of GSI.
For devices that were upgraded to Android 9 from an earlier version, there are two different types of legacy GSI images available: _a and _ab. The system user's privilege level on the device determines which type to use.
To determine the system user’s privilege level, run the following command:
adb shell cat /proc/mounts | grep -q /dev/root && echo "system-as-root" || \
echo "non-system-as-root"
If the output of the command is system-as-root, you must use the _ab type of GSI image. If the output is non-system-as-root, you must use the _a type. If neither value is in the output of the command, the device isn't compatible with GSI and you shouldn't continue.
Click to expand...
Click to collapse
casual_kikoo said:
You can also just read further than "They were launched with Android 9 (API level 28) or higher. Devices upgraded to Android 9 from an earlier version may or may not support GSI." and enter each command to check for GSI support.
The OnePlus 6, even if launched with Android 8, has been updated to Android 9, and is fully compliant with GSI requirements (check attachment)
Click to expand...
Click to collapse
Now i get it
Sorry and thank you both
i really want to test this but not sure how
Any new info on Android 10 for op6
Hello forum guys, I've registered now to see if any enlightened souls could help me.
So straight to the problem...As stated in the title I have a Galaxy A02s and I am having problems with its Android.
I did a lot of research but I'm just getting more doubts, I read things like custom mod, kernel 64, treble info, and so on.
I will specify my device with the Aida64 information for better understanding:
Chipset: Qualcomm Snapdragon 450
Core Architecture: 8x ARM CORTEX-A53 @ 1804MHz
Manufacturing Process: 14nm
Instruction Set: 64-bit ARMv8-A (32-bit Mode)
And Treble Info says:
In the Architecture part: "Your device is ARM32 but uses a 64-bit binder. This usually indicates that the hardware supports 64-bits but the software does not. In this case, a 'binder64' or 'a64' image should be used. "
And in the Image Requested part: "Your device needs an image file called 'system-arm32_binder64-ab.img.xz.'"
I don't know if this Treble has anything to do with leaving Android in 64-bit, but I was researching and researching and that's what I got, however, I have little knowledge about these things and I didn't find any tutorial teaching how to install/update to 64-bit
That's it, I hope you can help me, thank you in advance
What's your real problem?
Any 64-bit SoC flawlessly runs 32-bit Android OS and 32-bit apps
jwoegerbauer said:
What's your real problem?
Click to expand...
Click to collapse
sorry, stopping to read again what i wrote i realized i didn't specify what i needed help lol
So I just don't want this 32-bit mode, I googled to see if my processor had architecture to run in 64-bit, and apparently yes, so I wanted to put android in 64-bit, but I have no idea of how to do this
thanks again
Replace this thread's title by your real problem: How to reflash Galaxy A20s with 64bit Android
Certainly, you flashed a 32bits system.
Just flash a 64bits system.
VD171 said:
Certainly, you flashed a 32bits system.
Just flash a 64bits system.
Click to expand...
Click to collapse
I bought the phone and it came like this, but how do I do it ? To a 64bits system
I'm also with the same problem, I would need some ROM for the 64-bit system, but I realized that there is none so far, is there any other way to change it to 64-bit without changing the ROM?
Short answer: NO
Short answer: NEVER
I'd like to ask how is the 32bit system with the 64bit system?
Releases · EnesSastim/Downloads
Contribute to EnesSastim/Downloads development by creating an account on GitHub.
github.com
Bump thread
Bumped thread, again.
Hello everyone
Briefly , I try to understand HOW to mod our Sony BRAVIA 4K VH21 UC TV to go from 32 to 64 bit in order to install the Dolphin emulator.
on Dolphin website the requirements are :
System Requirements
The following are requirements your Android device needs to meet in order to install the application:
Android 5.0 or higher
A 64-bit processor (AArch64/ARMv8 or x86_64)
A version of Android that supports 64-bit applications
A graphics processor that supports OpenGL ES 3.0 or higher.
If your device fails to meet any of these requirements, attempting to install Dolphin will return an error message reading "Application not installed."
Note that some devices are equipped with 64-bit processors but ships with 32-bit builds of Android. Installation will fail on these devices as well. There's no way to fix this, and no manufacturer has updated a 32-bit only device to support 64-bit apps.
our Sony Bravia have theses specs :
-- Android 10
-- 4x ARM Cortex-A73 @ 1800 MHz / 64-bits ARMv8-A (Mode 32-bit)
-- OpenGL ES 3.2 v1
Downloaded DOLPHIN 5.0-17995 and APK installer
the app refuse to install saying the app is incompatible....
I feel im touching the dream at the tips of my fingers
Please tell me its fesable with my specs and how to proceed step by step
I HOPE someone will be able to help me (but you are all invited for sure
HAPPY NEW YEAR 2023 guys !
Install a Custom ROM that is compiled for 64-bit ARM SoC what is suitable to the device in question, what requires to install a suitable Custom Recovery before.
jwoegerbauer said:
Install a Custom ROM that is compiled for 64-bit ARM SoC what is suitable to the device in question, what requires to install a suitable Custom Recovery before.
Click to expand...
Click to collapse
Hi
thanks for your answer.
QUESTION 1 : BEFORE i proceed , did the process is reversible ?
It will not be hard/impossible to re-install app like youtube/netflix ?
QUESTION 2 : where i can find such custom rom ? I have to make it myself ?
QUESTION 3 : Did you have a step-by-step tutorial to do so ?
As you can see here obviously a Custom Recovery - what is prerequiste to install a Custom ROM - isn't available.
But may be you find one doing a related Google search.
Curious if anyone has any experience good or bad about rooting these two tablets, if you have I'd love the method!
I haven't seen any methods, conversations, twrp for the iPlay 50 or the Blackview Tab15.
I understand these are not mainstream tablets and won't receive mainstream attention however I can always hope. A tablet like this suits my wanted specs and budget.
thanks
If the Linux kernel of both tablets mentioned is version 5.10 or higher then you can root via KernelSU: KernelSU is working in Linux kernel mode, it has more control over userspace applications. Only App that is granted root permission can access `su`, other apps cannot perceive su. KernelSU supports.
See also here:
KernelSU reborn: Developer ports kernel-assisted root access to GKI compatible devices
A Magisk successor at last?
www.xda-developers.com
Very interesting. I'll research and post an update.
In downloading a terminal emulator and using the command uname -a I've got the following.
ALLDOCUBE iPlay 505.4.161Blackview Tab154.19.191
ah well
I've looked and found a reference to an earlier tablet model an iPlay 40 where they say " you can use magsik app to modify the factory boot.img ,and flash patched boot.img ".
I'll take a look at this.
didn't have much luck. it seems these tablets are locked in not a conventional way. best to leave as is unfortunately.
Up
mountainsnow said:
these tablets are locked in not a conventional way
Click to expand...
Click to collapse
Did you try this method for unlock?
Meberry M7 - Unisoc Tiger T310 - Root, TWRP, +Info, etc.
Little review and tablet issues: This is a 2020 Tablet, that was launched with Android 11, and the last security patch was December 2021. Hardware It packs an UNISOC Tiger T310, basically 1 ARM A75 and 3 A55 4 GB RAM and 64 GB ROM Build...
forum.xda-developers.com
-------------------
Drivers for windows
SP_Drivers_EXE_v2.0.zip
drive.google.com
-----------------------------
Unlocking Unisoc Bootloader on linux1) fastboot oem get_identifier_token
2) ./signidentifier_unlockbootloader.sh 303132333435363038394142434????6 rsa4096_vbmeta.pem signature.bin
where 303132333435363038394142434????6 is identifier_token , rsa4096_vbmeta.pem is a private key of Unisoc
3) fastboot flashing unlock_bootloader signature.bin
I ended up just returning the tablet and grabbing something else. I no longer have this model to test unforunately.