Some rooting/custom ROM questions - Android Q&A, Help & Troubleshooting

Hey, I hope this is the right place to ask this, as this is a general rooting question that is not relevant for the device
Anyway, I have a few questions I hope you guys could answer me
1. From what I've understood, when I want create my own ROM, downloading the source also includes the actual OS right?
2. Assuming I'm creating a costume ROM, will I be able to:
a. Have a complete control over connections? As in, create an app that will be able to (with out notifying the user) turn off/on any connection? (BT / wifi / GPS / NFC or anything else)?
b. Make an app that will have access to the OS's file system?
c. Make an app that will be able to control the content of the device, as in, add or remove any given app?
d. Will I have access to the OS drivers? As in, will I be able to remove drivers or add costume drivers?

danduson said:
Hey, I hope this is the right place to ask this, as this is a general rooting question that is not relevant for the device
Anyway, I have a few questions I hope you guys could answer me
1. From what I've understood, when I want create my own ROM, downloading the source also includes the actual OS right?
2. Assuming I'm creating a costume ROM, will I be able to:
a. Have a complete control over connections? As in, create an app that will be able to (with out notifying the user) turn off/on any connection? (BT / wifi / GPS / NFC or anything else)?
b. Make an app that will have access to the OS's file system?
c. Make an app that will be able to control the content of the device, as in, add or remove any given app?
d. Will I have access to the OS drivers? As in, will I be able to remove drivers or add costume drivers?
Click to expand...
Click to collapse
1. Yes, you will download the source to build the OS, as well as the Device Tree, Kernel, and Vendor Files.
2.
a. Yes, that is possible, if you know how to make an app.
b. Yes, that is possible, if you know how to make an app.
c. Yes, that is possible, if you know how to make an app.
d. I'm not sure that I understand the question, but yes, you will have access to the BLOBS (Binary Large OBjectS) that are the drivers for your device. You can substitute them or build other ones, depending on your phone or platform.
I recommend that you watch through my video tutorial on how to build Android, and how to make device trees from scratch, as well as other videos about upgrading and making changes to apps that are in your custom rom.
You can find a link to it here:
https://forum.xda-developers.com/android/general/guide-how-to-build-custom-roms-kernel-t3814251
Hope that helps! :good:

AlaskaLinuxUser said:
1. Yes, you will download the source to build the OS, as well as the Device Tree, Kernel, and Vendor Files.
2.
a. Yes, that is possible, if you know how to make an app.
b. Yes, that is possible, if you know how to make an app.
c. Yes, that is possible, if you know how to make an app.
d. I'm not sure that I understand the question, but yes, you will have access to the BLOBS (Binary Large OBjectS) that are the drivers for your device. You can substitute them or build other ones, depending on your phone or platform.
I recommend that you watch through my video tutorial on how to build Android, and how to make device trees from scratch, as well as other videos about upgrading and making changes to apps that are in your custom rom.
You can find a link to it here:
https://forum.xda-developers.com/android/general/guide-how-to-build-custom-roms-kernel-t3814251
Hope that helps! :good:
Click to expand...
Click to collapse
I see, thank you very much for the info
I will watch the tutorial you provided

Related

[Q] Integrate drivers into AOSP ROM

Since I have my HTC Desire, I wanted to build a custom ROM, and read a lot about it.
Everything is pretty clear to me, except that I'm not sure about the drivers. I read the wiki of CyanogenMod, which tells you to use a script called 'extract-files.sh' to extract appropriate files from your CyanogenMod ROM on your HTC Desire.
Does this script take care of the driver integration? And if not, how can I integrate the drivers to make the hardware work?
Thanks in advance,
Chaosz-X.
Chaosz-X said:
Does this script take care of the driver integration? And if not, how can I integrate the drivers to make the hardware work?
Click to expand...
Click to collapse
The 'extract-files.sh' and 'unzip-files.sh' scripts just copy any needed proprietary files (not necessarily just drivers) from a connected phone or existing ROM to their correct locations before you compile the new ROM. Someone (you?) have to figure out which files are needed and adjust the scripts accordingly. Each device has a different 'extract-files.sh' and 'unzip-files.sh'.
If there is an existing vendor tree for your device or a similar device, I would start there.

[Q] Wifi Monitor mode, need help for configuration

Hey guys,
I started my last thread about if there are custom wifi drivers to enable monitor mode. But it only need to configure and maybe compile it.
Is there someone that can complete this project and configure this on android to make it automaticly install for users? Or maybe make a tutorial to get it work?
Get source:
Code:
git clone https://android.googlesource.com/platform/hardware/broadcom/wlan
My experince with drivers on linux is very low. That why i asked for help. I hope we can finish this!
My Source about it is possible for monitor mode:
Code:
wireless.kernel.org/en/users/Drivers/brcm80211
Why not just download these apps from play store, there are some available.
kms108 said:
Why not just download these apps from play store, there are some available.
Click to expand...
Click to collapse
Monitor mode has to be enabled in the drivers. Not one app are able to do that because it has to make changes in the system. Like the /etc/wifi directory. You need root to come there. there are standing the basis drivers from android. There are standing the broadcom drivers. Those need to be changed.
Look at:
http:// forum.xda-developers.com/showthread.php?t=1368452
The Driver dont support this yet:
http:// linuxwireless.org/en/users/Drivers/brcm80211#Get_the_code
And even there is support for this Feature in the Android Drivers,you couldnt use it unless you have a new Firmware which will support it:
http: //markmail.org/message/xe4ygjoc5zl3hb4f#query:+page:1+mid:4yrkzxsczivcg6td+state:results
The Conclusion is: You couldnt do it,unless you would reverse engeenere the Broadcom Firmware and make one which would support it.
I have looked it to this a few times and as far as I have found it is just not possible yet. Would be very good if a top dev could get on the case as I would definitely find this very handy.
sent from my SGS3 Using XDA app

Some Hacking in Yoga Book

Hi folks.
I'm an Android firmware developer (you can see my posts here in xda) that got a yoga book yesterday. For me it works at it should (by now) but my hacker soul speak to me and said: "at least take a look to see what you can get from this device". I don't have many time, so I can't spend time doing roms or fixing things by myself, but I can share with you some info I get and help you with my knowledge if someone is interested in "play" with this device.
First of all, I'm not responsable of anything that you can break following these steps. Almost all of them are tested and with some common sense you will not break anything, and if you break anything I will try to help you to fix it (if you are polite), but this is a work in progress and hacking and the possibility of brick the device is always there.
I only have the Android version without LTE, so I only tested in my Book.
So, here we go:
1) Secret codes:
I get this codes decompiling EngineeringCode.apk with apktool. Be carefull with them:
####0000# - Display version info
####7599# - Display hardware info
####8375# - Display baseband info
####1111# - Factory test
####2222# - Display SN
####7777# - Factory Reset???
####5993# - Display internal frameWork version
####7642# - Cut the power off to reload the PMIC - This command shutdowns the device. Just press the power button to reboot.
####5236# - Display LCD name
####2834# - ES close test
####8899# - open the ums mode default for debug
####3333# - offline log
####3334# - offline modem log
####9527# - Mediaplayer setting
####78646# - RunIn test
####6020# - switch country code
####59930# - Display current country code
####8746# - Enter engineering mode
####4227# - Enter engineer test
####357# - DLP_TEST
To use these codes, open the contacts app, press the search button and enter the code in the search bar.
2) OTA Images
You can get OTA images directly from lenovo servers. Just open your browser and paste this url:
http://fus.lenovomm.com/firmware/3....WW06_BP_ROW&action=querynewfirmware&locale=en
Change device model if needed (LenovoYB1-X90F or LenovoYB1-X90L)
Change curfirmwarever to a valid OLD firmware, this way you will get the next one in age.
Change locale if needed.
With this url you will get a download url at the end of the result page. In this case: http://tabdl.ota.lenovomm.com/dls/v...S000426_1705080316_WW06_BP_ROW_WC80C2A0F2.zip
These images are not full ota images, they are diff versions. This means that we can't use them to mod the image, or recover a bricked device, but this is a first step
3) Custom images
We don't have real sources to build a custom image (the lenovo's open source files are useless), but this doesn't mean that we couldn't modify stock images to take out useless apks or get better performance.
We can get this using an Android Kitchen and a full update image for the device.
As Android kitchen you can use SuperR kitchen (https://forum.xda-developers.com/ap...chen-superr-s-kitchen-v1-1-50-v2-1-6-t3597434)
As full image, I only tested the one here (https://easy-firmware.com/index.php?a=browse&b=category&id=19521) because I can't download any newer one.
I tested uncompressing it, deodexing the apks and doing a new image. But I don't test it in the device because I need to install twrp to flash the new image and I don't have time to test. But this should work, I did it many times so if someone is interested I can give steps to do it and support for testing.
If someone can get the latest full images, send then to me and maybe I can get some time to do some tests.
PD: Probably we could use this as a base to get LineageOS 14.1 working: https://github.com/latte-dev/android_device_xiaomi_latte/tree/cm-14.1
So, if you are interested in some hacking with the Yoga Book, contact me and we could team to get the most of this device.
First of all thank you for your post, it´s really useful
if you could somehow manage to boot windows on this machine it´s by far the greatest war we have right now.
Il promise you a lunch or dinner on Lisbon whenevere you want!
joao1979 said:
First of all thank you for your post, it´s really useful
if you could somehow manage to boot windows on this machine it´s by far the greatest war we have right now.
Il promise you a lunch or dinner on Lisbon whenevere you want!
Click to expand...
Click to collapse
Sorry, my knowledge of Windows is only user level . Install it in personal computer to play games .
But I really don't know why people wants to run Windows there, it will go slowly than Android and its less touch oriented... but I suppose that this is a chat for another thread
corvus said:
Sorry, my knowledge of Windows is only user level . Install it in personal computer to play games .
But I really don't know why people wants to run Windows there, it will go slowly than Android and its less touch oriented... but I suppose that this is a chat for another thread
Click to expand...
Click to collapse
in my particular case, i´l admit that is for football manager the touch version
joao1979 said:
in my particular case, i´l admit that is for football manager the touch version
Click to expand...
Click to collapse
Have you tried running it through Crossover? It may be in its infancy but i have got a few apps running OK with it.
I have the full "YB1-X90F_USR_S000196_1611040312_WW06_BP_ROW" I can upload somewhere if anyone can suggest a good site to do so without signing up? The file is about 2.5gb
It will be great if we could get the latest version, because maybe these older versions have older files that we have updated in our tablets.
Mixing files could give unknown problems
The current TWRP is based on the new Yoga Tab 3
I am starting to think they do not do full roms for this in the same way they do for a lot of their other devices.
We know the otas are available from tabdl.ota.lenovomm.com/dls/v6/ and are named according to the 2 builds that it bridges. As easy-firmware had the december full rom under the file name B1-X90F_USR_S000196_1611040312_WW06_BP_ROW-flashfiles.zip I had hoped that I could work out the file path to pull it down.
There were some interesting ideas here, https://forum.xda-developers.com/android/help/how-download-stock-roms-lenovos-ota-t3109507 but it seems there is a difference between phonedl.ota and tabdl.ota
Queries to full roms that work for phones, don't seem to work for the yoga book.
Anyone with more web knowledge able to pick this up? I am not sure the files are there but I feel they should be.
Good luck
Update: the downloads seem to be hosted via CloudFront. An Amazon service, but I can not find out a way of listing the available files. The latest full rom would be
http://tabdl.ota.lenovomm.com/dls/v6/YB1-X90F_USR_S000426_1705080316_WW06_BP_ROW_WC80C2A0F2.zip
But the Last 8 chars are random and we do not know what they are.
So we have two hopes. First work out the right query to the link from fus.lenovomm.com or two find a way of listing files available in tabdl.ota.lenovomm.com/dls/v6
Not sure I have got much further but ill keep trying when I can.
Hey, I should mention that I have some files that you may find helpful; I got them from the easy firmware website. They're all the .img files for each partition in Android (ie. boot.img, cache.img, config.img, factory.img, recovery.img, system.img) as well as: biosupdate.fv, bootloader, firmware.bin and gpt.bin. However, these of course aren't in the normal "flashable .zip ROM" format. So unless you know how to take apart these .img files they aren't very useful. If you need any more help or have any other questions about how far we've come on our own, feel free to ask. danjac also has great knowledge of our efforts.
Yes, I know how to use them, unpack, modify, etc. But what I want is the latest version, no a old version (I hav these files too). If you have them I can do some changes, debloat, etc.
Anyway, I see little interest in custom roms in this forum ( probably because it's not a device with a lot of users or the users are not the techy kind), so I prefer to help others with info than do a custom rom that only 2 or 3 people will use. Doing custom roms is a time hungry task and probably it doesnt worth the effort. Anyway this device is not full of bloatware like samsung ones, so it useable as it is.
As I said in my first post if anyone is interested I can give some hints and support to modify the full image (but only the latest one).
It's so sad that there are only a few interested owners of this tab - it's such a nice device but i fear the day lenovo decides to end their support for it. There will be no custom roms to switch to and keep the device alive - it will be a soon to be bit of old tech garbage BTW. I still use my Asus Transformer Prime because of the nice community
@NiffStipples I fully agree. This device is so powerful and its a suprise that it is invisible to the "market". In my humple opinion the normal ROMs aren't that bad besides missing updates but I would love to see all the power served through a custom rom. unfortunately programming is not my business
Stefan
Broomfundel said:
Have you tried running it through Crossover? It may be in its infancy but i have got a few apps running OK with it.
Click to expand...
Click to collapse
Interesting - is Crossover good (and does it require factory reset)?
Hi, It works well with some things and not others. Often the why and where are not obvious. It is basically "wine" the layer that allows some windows apps to run on a linux install. Tweeked to work with android. Just an install to put crossover on. Then another install (Within crossover), to put you app on crossover. If it doesn't work out of the box, there windows libraries you can switch out and dependencies you can install. (Eg: directx , .net) Even if your not technical. I would say get on the beta program and give it a try.
Hi! what do you mean by "lenovo's open source files are useless"? do you refer to this packet on lenovo's suppport site? download.lenovo.com/consumer/open_source_code/lenovo_yb1_x90f_l_osc_201608.zip
I've entered the Android YogaBook's BIOS and noticed that VT-X is enabled by default! With Limbo x86 we could get a fully working virtualized Windows or Linux, if it wasn't for... KVM. It seems like it's not enabled in Lenovo's default kernel. Could we get to recompile the kernel with this option on? i'm not a big android/ROM expert but i surfed the open_source_code folder from Lenovo and it seemed, to me, that we could rebuild the Kernel at least.
This could really change things!
morrolinux said:
Hi! what do you mean by "lenovo's open source files are useless"? do you refer to this packet on lenovo's suppport site? download.lenovo.com/consumer/open_source_code/lenovo_yb1_x90f_l_osc_201608.zip
I've entered the Android YogaBook's BIOS and noticed that VT-X is enabled by default! With Limbo x86 we could get a fully working virtualized Windows or Linux, if it wasn't for... KVM. It seems like it's not enabled in Lenovo's default kernel. Could we get to recompile the kernel with this option on? i'm not a big android/ROM expert but i surfed the open_source_code folder from Lenovo and it seemed, to me, that we could rebuild the Kernel at least.
This could really change things!
Click to expand...
Click to collapse
How did you enter the bios? Can you boot from usb?
anyone managed to use swiftkey keyboard?

Exchange platform-signature in custom ROM

Hi there -
short prologue: I am working on my bachelor thesis and must develop a service that keeps a record of how often a user actively uses the application permission settings of Android 6 and above. The main goal is to have a custom ROM which can be deployed on several phones to conduct a survey.
I identified the file where these settings are stored:
Code:
/system/users/0/runtime-permissions.xml
I want to set up a service running a FileObserver to keep track of the changes in this file. The file is not accessible by normal applications (permission -rw-------) but the service has to run without superuser.
So I want to sign my application with the platform key to obtain system permissions. I am totally clear on the purpose of this security concept and I know that I cannot get the original key. The resulting ROM is not going to be public and is used only in a controlled group for research purposes.
My question is how to exchange the signature/key with what the system applications of my actual ROM are signed. So that I sign my own apk with the same key so it has the special permission. I found the answer to this exact question on stackoverflow but it is quite old and I did not succeed with this explanation.
Do you know if there is another, more current approach?
Thanks in advance!
Device is a Xiaomi Redmi 4X running stock MIUI 9 (Android 7.1.2)
Just have the app built as part of the rom. This will make sure they both have the same signature.
zelendel said:
Just have the app built as part of the rom. This will make sure they both have the same signature.
Click to expand...
Click to collapse
What do you mean by "built as part of the rom"? I cannot build the rom from aosp because the device should run the original MIUI firmware. I used SuperR's Kitchen to modify the rom. Is this not suitable?
That will not work no. Maybe you could try using their patch rom setup. As very little is done with miui here, you mugjt be better off asking in n their forums.
zelendel said:
That will not work no. Maybe you could try using their patch rom setup. As very little is done with miui here, you mugjt be better off asking in n their forums.
Click to expand...
Click to collapse
Can you explain, why this wont work? I supposed I just have to exchange all the signed apk files. When I re-sign them with apksigner then they also obtain the self-signed certificate containing the public key. So why is this not enough? Is there another instance in the OS which checks the app signature on boot?
The entire system partition uses the same signature. So I guess you could go through and recompile everything with the new key but I doubt it would work. Many oem system apps won't work without their oem signature.
Like I said. You maybe better off asking over in the miui forums as very little is done here for it.

Android building questions

Hey, I hope I am in the right place.
I need to do some modifications to a custom android version.
I have the source code of the whole android and can compile it,
thing is, I need to modify some system settings so these are my questions:
1. Is it possible to see which driver is loaded into the system?
2. Is it possible to see some sort of booting log? What is being loaded into the system, stuff like that.
3. Is it possible to modify this drivers list? Change which driver is loading, cancel loading of a specific driver and so on.
Also, if anyone could refer me to a guide on the matter, something that explains the system level of android I'd appreciate it too
Bump. Anyone?
Bumpy again

Categories

Resources