So I began with this whole endeavour like a week ago and while I've learnt a couple of things I'm still hitting my head against a wall. The issues seem to be regarding the Kernel I'm using, someone mentioned that I'm supposed to be using the source Kerner of the ROM but isn't the Kernel device specific?
I'm also getting some errors regarding neverallows, a user suggested to ignore them but as far as I understand you should not be doing that.
So any pointers, suggestions or tips?
Here are my sources as well as the errors I'm getting.
Device tree: https://github.com/celepharn/device_xiaomi_vince/tree/havoc-11
Vendor tree: https://github.com/celepharn/vendor_xiaomi_vince/tree/havoc-11
Kernel Source: https://github.com/celepharn/kernel_dark_ages_vince
ROM Source: https://github.com/Havoc-OS
Haste or Dogbin URL (here are the errors as displayed in the terminal): https://del.dog/wiryckoful.txt
look like the compilation stop because of sepolicy usually you just remove and it would compile
ineedroot69 said:
look like the compilation stop because of sepolicy usually you just remove and it would compile
Click to expand...
Click to collapse
Remove what exactly? I'm pretty new to this.
celephrn said:
Remove what exactly? I'm pretty new to this.
Click to expand...
Click to collapse
i uploaded the compile log on pastebin so it's much easier to read
on line 493 its where it stop
also notice on line 499 it say " Please fix the policy "
ineedroot69 said:
i uploaded the compile log on pastebin so it's much easier to read
on line 493 its where it stop
Click to expand...
Click to collapse
Ahh you mean in the domain.te and coredomain.te files? I'm doing that right now, will get back to you when I'm through. Thanks!
ineedroot69 said:
i uploaded the compile log on pastebin so it's much easier to read
on line 493 its where it stop
also notice on line 499 it say " Please fix the policy "
Click to expand...
Click to collapse
Did that, and got error in
#error "Please don't include <linux/compiler-gcc.h> directly, include <linux/compiler.h> instead."
it's a line in the compiler-gcc.h file located in /havoc/kernel/xiaomi/vince/include/linux
Any clues on how to proceed? I'm going to try with clang to see if it works.
Edit: here's the code in said file.
celephrn said:
Did that, and got error in
#error "Please don't include <linux/compiler-gcc.h> directly, include <linux/compiler.h> instead."
it's a line in the compiler-gcc.h file located in /havoc/kernel/xiaomi/vince/include/linux
Any clues on how to proceed? I'm going to try with clang to see if it works.
Edit: here's the code in said file.
Click to expand...
Click to collapse
usually sepolicy are easy to fix since they point out line # of code and the file location causing issue on your case thou look like you have allow and not allow parameter conflict
also i forgot to say .te file are viewable as text so gedit works on them
ineedroot69 said:
usually sepolicy are easy to fix since they point out line # of code and the file location causing issue on your case thou look like you have allow and not allow parameter conflict
also i forgot to say .te file are viewable as text so gedit works on them
Click to expand...
Click to collapse
I did that, then I got some other errors and the suggestion was to switch to clang-proton, which I did. I got to the part of kernel image building only to fail once again.
These are my updated sources:
Device tree: https://github.com/celepharn/device_xiaomi_vince/tree/havoc-11
Vendor tree: https://github.com/celepharn/vendor_xiaomi_vince/tree/havoc-11
Kernel Source: https://github.com/celepharn/kernel_dark_ages_vince
ROM Source: https://github.com/Havoc-OS
Haste or Dogbin URL (here are the errors as displayed in the terminal): https://del.dog/locorfyvas
I'm certain the issue is building the kernel image, the Image.gz file but don't know how else to proceed, is the kernel I'm using outdated or something?
I'm also getting issues with lines of qseecomi.h located in /kernel/xiaomi/vince/include/soc/qcom, for example in line 108 stating I should put packed after "struct" but such instruction is not clear to me, perhaps would it be something like this?
__struct packed qsee_apps_region_info_ireq {
uint32_t qsee_cmd_id;
uint32_t addr;
uint32_t size;
};
Try to hire a Good developer to solve this issue! Good luck buddy!
mehtamanisha169 said:
Try to hire a Good developer to solve this issue! Good luck buddy!
Click to expand...
Click to collapse
I got it working, the build is now complete. Thanks!
Related
Hi everyone,
I have been trying for quite a while now to compile HID Gadget support for my galaxy S3 and think i may be getting close. My current problem is that when i run insmod g_hid.ko i receive the following
Code:
insmod: init_module 'g_hid.ko' failed (Device or resource busy)
. The weird thing is that next time the screen turns off or if i attempt to insert it again the phone crashes (kernel panic i assume). I get this same error when i try and insmod g_zero.ko (although this one doesn't kill the phone). Can anyone tell me how i would attempt to debug this? Or even better, has anyone got g_hid working on there phone and if so, what modifications/kernel configs did you use?
Also, when compiling the kernel, in "USB gadget support" if i select any option other than Android Gadget in USB Gadget Drivers my kernel fails to build. Has anyone got any USB gadgets to compile and run and if so what procedure/modifications did you have to make. Currently i am compiling my kernel with android gadget selected as the usb gadget driver and then changing it to HID module and running make module_prepair and make module to get my .ko files (which may be why i am getting the above error).
If anyone can provide some insite and advice it would be greatly appreciated.
Thank you
Adrian
After months of trying, it appears i have got it solved. Unfortunately its not the most graceful solution and currently it disables MTP but i dont care. To fix it i searched every file in the kernel for mentions of CONFIG_USB_G_ANDROID and everywhere it was involved in an #if defined statement i added another section like so
Code:
#if defined(CONFIG_USB_ANDROID) || defined(CONFIG_USB_G_ANDROID) || defined(CONFIG_USB_S3C_OTGD)
In this case i added USB_S3C_OTG. As i said, it isn't pretty but it works.
Hope this helps someone in the future coz there is very little info on the net about this
Enjoy
Adrian
Code sample
I asked a question on Stack Overflow about exactly this issue. There is a small group of people who seem quite interested in this issue, and there really is not a lot of information on the net.
I would very much appreciate if you could explain in a little more detail what steps you took to get this to work for you. You could probably answer the Stack Overflow question more decisively than the current answers too: stack-overflow questions/9805731 - is-it-possible-to-program-android-to-act-as-physical-usb-keyboard. (I can't post the link as this forum blocks it.)
darcpyro said:
After months of trying, it appears i have got it solved. Unfortunately its not the most graceful solution and currently it disables MTP but i dont care. To fix it i searched every file in the kernel for mentions of CONFIG_USB_G_ANDROID and everywhere it was involved in an #if defined statement i added another section like so
Code:
#if defined(CONFIG_USB_ANDROID) || defined(CONFIG_USB_G_ANDROID) || defined(CONFIG_USB_S3C_OTGD)
In this case i added USB_S3C_OTG. As i said, it isn't pretty but it works.
Hope this helps someone in the future coz there is very little info on the net about this
Enjoy
Adrian
Click to expand...
Click to collapse
No worries, im happy to help. The funny thing is by reading the answers you got it started me on the right path to finding a solution. Im not sure how this will translate to other devices firmware but in the case of the galaxy S3 it was i went threw every file and added the
Code:
|| defined(CONFIG_USB_S3C_OTGD)
to all if defined statement that made any mention of CONFIG_USB_GADGET so that the code inside would be compiled. This was so that in the .config file for the kernel CONFIG_USB_GADGET would be set to yes and would then allow the hid driver to be compiled. Basically every time i got an error i saying something wasn't compiled or wasn't declared i went to that file, found where it was declared and added that if defined statement. I would upload my working source code but it would take weeks on my internet connection. If there is a specific file you want to see then let me know and i will post its contents.
Good luck
Adrian
darcpyro said:
No worries, im happy to help. The funny thing is by reading the answers you got it started me on the right path to finding a solution. Im not sure how this will translate to other devices firmware but in the case of the galaxy S3 it was i went threw every file and added the
Code:
|| defined(CONFIG_USB_S3C_OTGD)
to all if defined statement that made any mention of CONFIG_USB_GADGET so that the code inside would be compiled. This was so that in the .config file for the kernel CONFIG_USB_GADGET would be set to yes and would then allow the hid driver to be compiled. Basically every time i got an error i saying something wasn't compiled or wasn't declared i went to that file, found where it was declared and added that if defined statement. I would upload my working source code but it would take weeks on my internet connection. If there is a specific file you want to see then let me know and i will post its contents.
Good luck
Adrian
Click to expand...
Click to collapse
Hi Adrian
did you manage to use your android phone as a keyboard with USB_H_HID module ? I'm trying to do the same thing and I would be interested if you have more informations. For now, I had cyanogendmod source for Samsung Galaxy S III and I've compiled the default 10.1 ROM.
Yesterday, I tried to modify kernel options to include USB_H_HID in the kernel but the build fails on some android.c error.
See you
--
Thus0
Hi Thus0
I did manage to get it to work late last year (Just so you know that it can be done).From memory i basically ran grep over every file in the modules directory looking for CONFIG_USB_GADGET and then edited those files to say something like:
#if defined(CONFIG_USB_ANDROID) || defined(CONFIG_USB_G_ANDROID) || defined(CONFIG_USB_S3C_OTGD)
This way it would compile the USB Gadget modules as well. Let em know if you have any more questions and ill try and help.
Adrian
Huh – is it possible to make apk file for root devices?
Shir_man said:
Huh – is it possible to make apk file for root devices?
Click to expand...
Click to collapse
No sorry, as far as i know a custom kernal is compiled
darcpyro said:
No sorry, as far as i know a custom kernal is compiled
Click to expand...
Click to collapse
Is it possible to only use a driver and to load it with insmod in a stock rom? What modification require a custom kernel?
i was looking for a solution and ou,d something for the nexus 7
https://play.google.com/store/apps/details?id=remote.hid.keyboard.client
open xource here with kernel patch
https://www.google.com/url?q=https:...t&sa=D&usg=AFQjCNGztTd4-U4gHvd4DLzdg_qBxLb7gw
maybe someone can use it
Im in the process of compiling android 4.2 for the skyrocket right now. i wanted to share the changes i needed to make to get it to keep compiling. i am not currently done with the compiling process right now but i have made a few changes that others can use to get them along the way as well. if you have any other changes i have not listed here PLEASE LET ME KNOW so i can add them to this google drive doc and always have it up to date. if there also is something you think should be in there PLEASE LET ME KNOW! i would like to collaborate with some people to get this built quick. we did an awesome job with jellybean and i have hope we can get this going quick.
Here is the google drive doc i have with the changes needed to get this compiling.
Google Drive Doc to build Android AOSP 4.2
if i come across any issues that i cannot solve i will be asking on this thread so please be checking back every once in a while if you are an experienced dev.
i have already made a few changes to the doc. im trying to make this as easy as possible to build.
i got it to completely build without any errors. http://d-h.st/Dvo
it does not boot though. and i dont know why. im going to need some help on this one.
im guessing maybe it has something to do with the ramdisk
sk8erwitskil said:
i got it to completely build without any errors. http://d-h.st/Dvo
it does not boot though. and i dont know why. im going to need some help on this one.
im guessing maybe it has something to do with the ramdisk
Click to expand...
Click to collapse
so i diff'd the init.rc of the skyrocket cm10 and the init.rc and of the stock nexus4 system image from the android website and theyre exactly the same. so im guessing its not the init.rc. i tried copying over adbd and init from the n4 ramdisk but it gets stuck at the samsung logo.
edit: ignore that. i was looking at the same file. lol. this is what comes from no sleep
sk8erwitskil said:
i got it to completely build without any errors. http://d-h.st/Dvo
it does not boot though. and i dont know why. im going to need some help on this one.
im guessing maybe it has something to do with the ramdisk
Click to expand...
Click to collapse
thanks for sharing your efforts, ill be downloading the source over night and tackling this in the morning, with this ill have a head start on it, appreciate sharing your work.
sk8erwitskil said:
so i diff'd the init.rc of the skyrocket cm10 and the init.rc and of the stock nexus4 system image from the android website and theyre exactly the same. so im guessing its not the init.rc. i tried copying over adbd and init from the n4 ramdisk but it gets stuck at the samsung logo.
edit: ignore that. i was looking at the same file. lol. this is what comes from no sleep
Click to expand...
Click to collapse
the issue is most definitely in the ramdisk. im 99% sure. so if anyone with ramdisk knowledge wants to help it would be very appreciated. i only know a little bit about what it should look like. the BOOTCLASSPATH needs to be changed and some permissions have been changed in 4.2 but besides that im lost. the init.rc that it builds is completely wrong. i think we would be best off taking the cm10 one and editing it.
sk8erwitskil said:
the issue is most definitely in the ramdisk. im 99% sure. so if anyone with ramdisk knowledge wants to help it would be very appreciated. i only know a little bit about what it should look like. the BOOTCLASSPATH needs to be changed and some permissions have been changed in 4.2 but besides that im lost. the init.rc that it builds is completely wrong. i think we would be best off taking the cm10 one and editing it.
Click to expand...
Click to collapse
which kernel modules did you use? since you added the kernel during the build?
gs2usr said:
which kernel modules did you use? since you added the kernel during the build?
Click to expand...
Click to collapse
i didnt manually add any modules. i thought those get added from the vendor/samsung/skyrocket folder.
sk8erwitskil said:
i didnt manually add any modules. i thought those get added from the vendor/samsung/skyrocket folder.
Click to expand...
Click to collapse
if the make file was not building you a kernel, then it shouldnt make you any modules, could you check if you have anything on dir system/lib/modules
gs2usr said:
if the make file was not building you a kernel, then it shouldnt make you any modules, could you check if you have anything on dir system/lib/modules
Click to expand...
Click to collapse
haha wow i totally missed that. it didnt add any modules. imma add the ones from cm10 to the zip and re-install and see if it works.
sk8erwitskil said:
haha wow i totally missed that. it didnt add any modules. imma add the ones from cm10 to the zip and re-install and see if it works.
Click to expand...
Click to collapse
added the modules and it still gets stuck in a boot loop
sk8erwitskil said:
haha wow i totally missed that. it didnt add any modules. imma add the ones from cm10 to the zip and re-install and see if it works.
Click to expand...
Click to collapse
Sounds good, keep us informed
Sent from my SAMSUNG-SGH-I727 using Tapatalk 2
just going through the overlays you removed. In the msm8660 overlays, you could keep
Code:
<string name="config_datause_iface">rmnet_sdio0</string>
as that is in the config.xml in AOSP, but is set to rmnet0 by default.
Also for the location provider, in AOSP, the default is:
Code:
[COLOR="RoyalBlue"]<!-- Package name(s) containing location provider support.
These packages can contain services implementing location providers,
such as the Geocode Provider, Network Location Provider, and
Fused Location Provider. They will each be searched for
service components implementing these providers.
It is strongly recommended that the packages explicitly named
below are on the system image, so that they will not map to
a 3rd party application.
The location framework also has support for installation
of new location providers at run-time. The new package does not
have to be explicitly listed here, however it must have a signature
that matches the signature of at least one package on this list.
-->[/COLOR]
<string-array name="config_locationProviderPackageNames" translatable="false">
[COLOR="RoyalBlue"]<!-- The standard AOSP fused location provider -->[/COLOR]
<item>com.android.location.fused</item>
but in CM10, it's this:
Code:
[COLOR="RoyalBlue"] <!-- Component name of the service providing network location support. -->[/COLOR]
<string name="config_networkLocationProvider">com.google.android.location.NetworkLocationProvider</string>
[COLOR="RoyalBlue"] <!-- Component name of the service providing geocoder API support. -->[/COLOR]
<string name="config_geocodeProvider">com.google.android.location.GeocodeProvider</string>
Also, in the celox-common overlays for Phone, all of those configs are in AOSP, so I'm not sure why they would need to be removed.
Doubt that any of this matters in terms of you not being able to boot, but I just thought I would make a note.
the fix for the kernel being added is here:
ifeq ($(TARGET_PREBUILT_KERNEL),)
LOCAL_KERNEL := device/samsung/skyrocket/kernel
else
LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
endif
PRODUCT_COPY_FILES += \
$(LOCAL_KERNEL):kernel
add to device.mk
sk8erwitskil said:
added the modules and it still gets stuck in a boot loop
Click to expand...
Click to collapse
Oh well, was worth a shot. Anyways should be added to the list, I probably wont be of much help until I have the source downloaded, but keep up the good work
Sent from my SAMSUNG-SGH-I727 using Tapatalk 2
gs2usr said:
Oh well, was worth a shot. Anyways should be added to the list, I probably wont be of much help until I have the source downloaded, but keep up the good work
Sent from my SAMSUNG-SGH-I727 using Tapatalk 2
Click to expand...
Click to collapse
i made some changes to device.mk to add the kernel to the out directory. hopefully it adds the modules as well. ill see once its done compiling again.
m4570d0n said:
just going through the overlays you removed. In the msm8660 overlays, you could keep
Code:
<string name="config_datause_iface">rmnet_sdio0</string>
as that is in the config.xml in AOSP, but is set to rmnet0 by default.
Also for the location provider, in AOSP, the default is:
Code:
[COLOR="RoyalBlue"]<!-- Package name(s) containing location provider support.
These packages can contain services implementing location providers,
such as the Geocode Provider, Network Location Provider, and
Fused Location Provider. They will each be searched for
service components implementing these providers.
It is strongly recommended that the packages explicitly named
below are on the system image, so that they will not map to
a 3rd party application.
The location framework also has support for installation
of new location providers at run-time. The new package does not
have to be explicitly listed here, however it must have a signature
that matches the signature of at least one package on this list.
-->[/COLOR]
<string-array name="config_locationProviderPackageNames" translatable="false">
[COLOR="RoyalBlue"]<!-- The standard AOSP fused location provider -->[/COLOR]
<item>com.android.location.fused</item>
but in CM10, it's this:
Code:
[COLOR="RoyalBlue"] <!-- Component name of the service providing network location support. -->[/COLOR]
<string name="config_networkLocationProvider">com.google.android.location.NetworkLocationProvider</string>
[COLOR="RoyalBlue"] <!-- Component name of the service providing geocoder API support. -->[/COLOR]
<string name="config_geocodeProvider">com.google.android.location.GeocodeProvider</string>
Also, in the celox-common overlays for Phone, all of those configs are in AOSP, so I'm not sure why they would need to be removed.
Doubt that any of this matters in terms of you not being able to boot, but I just thought I would make a note.
Click to expand...
Click to collapse
Thanks I'll add that to the doc tomorrow
Sent from my SAMSUNG-SGH-I727 using xda app-developers app
Hopefully you get this up &running. But you should soon, having Gs2 helping you out. Can't wait till this is complete so I can check it out. :good:
im trying to get aosp to compile the kernel like cm does. i added build/core/tasks/kernel.mk but it gets stuck on
Code:
out/target/product/skyrocket/obj/KERNEL_OBJ does not exist
when i check that folder does exist. for some reason its not recognizing it.
sk8erwitskil said:
im trying to get aosp to compile the kernel like cm does. i added build/core/tasks/kernel.mk but it gets stuck on
Code:
out/target/product/skyrocket/obj/KERNEL_OBJ does not exist
when i check that folder does exist. for some reason its not recognizing it.
Click to expand...
Click to collapse
if i just do that prebuilt kernel option then it doesnt add any modules. not sure how to fix that.
Hi!
I am new to submitting changes to Omnirom. I submitted my first change (see https://gerrit.omnirom.org/#/c/4460) and when reviewing it, I found some places, where I accidentally violated the 'No trailing spaces' rule.
What can I do to correct this?
Should I fix that issue in my sources and supply an other change based on the supplied one or is there a more efficient way to solve this problem?
Kind regards
Uwe
u.k-f said:
Hi!
I am new to submitting changes to Omnirom. I submitted my first change (see https://gerrit.omnirom.org/#/c/4460) and when reviewing it, I found some places, where I accidentally violated the 'No trailing spaces' rule.
What can I do to correct this?
Should I fix that issue in my sources and supply an other change based on the supplied one or is there a more efficient way to solve this problem?
Kind regards
Uwe
Click to expand...
Click to collapse
Repo sync.
Cherry pick your patch.
Make required changes.
In terminal:
git add -A
git commit --amend
Then push the commit. This will create a patch set of same commit.
Sent from my GT-N7100 using Tapatalk
Please excuse my for having a further question:
When I tried to do so I did not succed in pushing my changes:
I tried to
Code:
repo upload
but I got message: 'no branches ready to upload'
and I tried to
Code:
git push
but I got message 'error: The requested URL returned error: 403 Forbidden while accessing https:77github.com/omnirom/android_frameworks_native/info/refs
Do I have to to start a 'repo start' before doing the operation you suggested?
Kind regards and sorry for being a bit helpless...
Uwe
Hmm... That's odd... Are you sure you committed the amend? Or did you maybe accidentally cherrypick the commit onto a branch repo was unaware of? (e.g. one not created with 'repo start')?
I took just the following way:
I abandoned my old change and created a new change without trailing spaces:
https://gerrit.omnirom.org/#/c/4462/
Hope this OK for you...
Kind regards
Uwe
u.k-f said:
I took just the following way:
I abandoned my old change and created a new change without trailing spaces:
https://gerrit.omnirom.org/#/c/4462/
Hope this OK for you...
Kind regards
Uwe
Click to expand...
Click to collapse
OK for this time - but I strongly suggest figuring out how to amend commits in the future.
Welcome
I have started this thread for the THEORETICAL development of the mt6732/mt6752 from source if such a thing happened to exist which of course it does not.
While compiling from source is pretty well documented :good: compiling MTK is not so well documented especially the mt6732/6752.
I have tried to keep this thread as ambiguous as possible and hopefully we will be left in peace to iron out any difficulties.
DO's:
I am a Total Noob myself to compiling from source but experienced enough to use the xda search box, Google and Youtube first before asking any questions. If your still confused after using the above then by all means ask here.
DON'T s:
If your a noob who should happen upon this thread then by all means read and learn but please respect the dev's by not asking random question without searching first :fingers-crossed:
SHARING:
Please only share things of a sensitive nature with recognised members who you know and via the PM. :good:
Lets just see how far we can push this Kernel
Recommended Reading:
[GUIDE]Building a Kernel from source{Mediatek}
Build Kernel MT6577 - Can't boot after build
How To Port CyanogenMod Android To Your Own Device
XDA:DevDB Information
k01q_e k01q_h, Kernel for all devices (see above for details)
Contributors
bigrammy
Kernel Special Features: Remains to be seen
Version Information
Status: Testing
Created 2015-02-25
Last Updated 2015-02-25
I am here, reporting for duty. If anyone wants an extra "potato" because he has too much "ketchup" for use feel free to ask me
Just to be clear
I am new to compiling from source in any shape or form
I believe the kernel to be not a problem and I know dev's are working on getting our phone on cm and maybe others :fingers-crossed:
But me being me I am very curious and would like to understand how we would go about doing what @varun.chitre15 managed to do for the mt6582 Here
I have the PC all setup for building now thanks to @carliv great guide Here and the cm and android tut's I also found this useful guide on youtube by Dave Bennet Here
Our device is not on the cm or google repo so how do we add it locally.
Do we need any special commands for mediatek
Could we use the mt6582 repo and substitute or mod the files
As you can see I have more questions than answers as normal :laugh:
I dont want to tread on any toes here or take over current developing but just want to learn as said in the OP there is a lack of mtk guides regarding this.
If I missed a clear mtk guide then please post the link to it. :good:
In short your looking at manifests. http://wiki.cyanogenmod.org/w/Doc:_Using_manifests
carliv (I think) posted the device config on github - link in your SPFlash thread somewhere.
Found it: https://github.com/carliv/device_elephone_p6000?files=1
Vendor files
I have compiled and flashed a kernel, I've been running it for 24+ hours with no obvious issues. It's honestly very easy to just get it to build if you don't try to make major changes.
I have (very lazily) tried to change a couple of things in the config to fix the known issues (OTG, compass): unfortunately I have no way to test the OTG function right now, while the compass did not magically start working. On the other hand, the notification light issue which is introduced by V8.4 is not strictly or exclusively kernel-dependent, since I am running V8.3 with my own kernel and the notification function is intact. That's all I can share at the moment.
xenonism said:
I have compiled and flashed a kernel, I've been running it for 24+ hours with no obvious issues. It's honestly very easy to just get it to build if you don't try to make major changes.
I have (very lazily) tried to change a couple of things in the config to fix the known issues (OTG, compass): unfortunately I have no way to test the OTG function right now, while the compass did not magically start working. On the other hand, the notification light issue which is introduced by V8.4 is not strictly or exclusively kernel-dependent, since I am running V8.3 with my own kernel and the notification function is intact. That's all I can share at the moment.
Click to expand...
Click to collapse
Can you switch on and post the /proc/config ?
Regarding the notification lights, I think v8.4 introduced the custom partition (might be wrong on that). Running grep -r "ro.notification.breath" /system/ the only result I got was services.odex (might have been settings.odex). I've bak(smali)ed it but couldn't see the difference between the two that would explain the change.
HypoTurtle said:
Can you switch on and post the /proc/config ?
Regarding the notification lights, I think v8.4 introduced the custom partition (might be wrong on that). Running grep -r "ro.notification.breath" /system/ the only result I got was services.odex (might have been settings.odex). I've bak(smali)ed it but couldn't see the difference between the two that would explain the change.
Click to expand...
Click to collapse
The config file is attached to the post, it's too big to paste it.
I have tried the new ROM which came out today, then flashed my kernel. I can't use either SIM card anymore. Flashed the boot.img that comes with the ROM - same. I guess I gotta go back to V8.3 for now.
The new ROM doesn't seem to be the same as the OTA: it reports as: Elephone_P6000_02_V8.0_20150206.
About the notification issues (which bothers me the most), I haven't had much time do to more experiments, but I was thinking this (which probably also led to my confusion*): there's a chance the functionality is not removed or shut down, at least in the intentions of the maker. After all, in V8.4 (and in the new ROM), when the phone is connected the light stays on, while notifications make it breath. While not a desirable behaviour (at least IMO), I wouldn't call it... a non-behaviour, so to say. So perhaps the functionality itself is intact but something is altering the way it works, for whatever reason. I also did some unpacking and grepping a few days ago, but I couldn't find anything useful.
* At some point I thought the issue was fixed because the light was breathing while connected to my PC, but it was probably because I had a notification to read.
xenonism said:
The config file is attached to the post, it's to big to paste it.
I have tried the new ROM which came out today, then flashed my kernel. I can't use either SIM card anymore. Flashed the boot.img that comes with the ROM - same. I guess I gotta go back to V8.3 for now.
The new ROM doesn't seem to be the same as the OTA: it reports as: Elephone_P6000_02_V8.0_20150206.
Click to expand...
Click to collapse
Lets not speculate too much - but perhaps there was a minor board change between the first and second preorders, notification could be a problem with granting notification access (in settings) - could this be a selinux issue? It would explain why things like Light manager work - as you grant them notification access.
For lost Imei - can you compare the custom partition to the one in the ota?
If anyone needs an easier way to grab the 'ketchup', my GitHub has it. Click on my blog link in my signature.
BachMinuetInG said:
If anyone needs an easier way to grab the 'ketchup', my GitHub has it. Click on my blog link in my signature.
Click to expand...
Click to collapse
Thanks bro,
Nice log
I was going to try use the sprout config as this is nice and clean Here when I have worked out how to do things that is.
My eyeballs are bleeding now with all this reading but from what I can see most of files are the same names so maybe we could just replace them with ours probably 98% ish
I did see one ROM some place for the mt6732/52 that had mt6582 references I just wish I could remember where I had seen it
Like I say I am a noob to this compiling and linux stuff so I maybe talking out of my ass :laugh:
bigrammy said:
Thanks bro,
Nice log
I was going to try use the sprout config as this is nice and clean Here when I have worked out how to do things that is.
My eyeballs are bleeding now with all this reading but from what I can see most of files are the same names so maybe we could just replace them with ours probably 98% ish
I did see one ROM some place for the mt6732/52 that had mt6582 references I just wish I could remember where I had seen it
Like I say I am a noob to this compiling and linux stuff so I maybe talking out of my ass :laugh:
Click to expand...
Click to collapse
I'm actually a noob too, and honestly I've only ever successfully built a fakeflash (temporary recovery) that didn't even work.
bigrammy said:
Thanks bro,
Nice log
I was going to try use the sprout config as this is nice and clean Here when I have worked out how to do things that is.
My eyeballs are bleeding now with all this reading but from what I can see most of files are the same names so maybe we could just replace them with ours probably 98% ish
I did see one ROM some place for the mt6732/52 that had mt6582 references I just wish I could remember where I had seen it
Like I say I am a noob to this compiling and linux stuff so I maybe talking out of my ass :laugh:
Click to expand...
Click to collapse
Can anyone actually make a guide noob friendly to build kernel from source? I got kernel with me locally zip file I want to build it please any help?
Tech N You said:
Can anyone actually make a guide noob friendly to build kernel from source? I got kernel with me locally zip file I want to build it please any help?
Click to expand...
Click to collapse
I think you can use the scripts in the root of the source code to build the kernel? make<something>.sh.
Make sure you're on Linux (Ubuntu preferred) and that you have all dependencies installed correctly. To execute the script, simply go to the Terminal, cd to the location, then type . make<something>.sh
Tech N You said:
Can anyone actually make a guide noob friendly to build kernel from source? I got kernel with me locally zip file I want to build it please any help?
Click to expand...
Click to collapse
Have a look at the README.
Does make menuconfig work here?
These few simple instructions from the readme file enable you to build a working kernel (at least in a Linux environment):
Code:
How to Build
kernel
======
1. Get the prebuilt cross compiler from AOSP website:
$ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
2. Add required cross compiler to PATH:
$ export PATH=/YOUR_TOOLCHAIN_PATH/arm-eabi-4.6/bin:$PATH
$ export CROSS_COMPILE=arm-eabi-
3. Then use the following commands to build the kernel:
$ ./makeMtk k01q_e new k
make menuconfig can be made to work, but you need to set some parameters and I can't look into it right now.
You previously asked something about the custom partition, I need some guidance there as I am not familiar with the IMEI issue.
xenonism said:
These few simple instructions from the readme file enable you to build a working kernel (at least in a Linux environment):
Code:
How to Build
kernel
======
1. Get the prebuilt cross compiler from AOSP website:
$ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
2. Add required cross compiler to PATH:
$ export PATH=/YOUR_TOOLCHAIN_PATH/arm-eabi-4.6/bin:$PATH
$ export CROSS_COMPILE=arm-eabi-
3. Then use the following commands to build the kernel:
$ ./makeMtk k01q_e new k
make menuconfig can be made to work, but you need to set some parameters and I can't look into it right now.
You previously asked something about the custom partition, I need some guidance there as I am not familiar with the IMEI issue.
Click to expand...
Click to collapse
Yea wasn't sure about menuconfig as mtk uses projectconfig rather than def_configs.
In the custom partition there are files like /custom/etc/firmware/modem.img etc. When messing with a Flyme port it was these files (and possible conflicts in /system) that caused an IMEI:nul.
FYI I opened the custom partitions on windows using an ext viewer after running the imgs through sgs2toext4.
Kernel building Mediatek
Tech N You said:
Can anyone actually make a guide noob friendly to build kernel from source? I got kernel with me locally zip file I want to build it please any help?
Click to expand...
Click to collapse
Not sure if you guys have seen or read this but it's a pretty comprehensive guide to building the mediatek kernel by @MasterAwesome and should really be compulsary for all kernel related things thread here http://forum.xda-developers.com/showthread.php?t=2754513
@HypoTurtle
Regarding the custom partition this is or could be a problem for us now and in the future and may require further investigation. The cm sprout branch has the modem.img in the (normal place /system/etc/firmware) but as you say ours is in the custom partition which is probably to protect it from bad /system flashes
Thing is I see no normal type link to it in the /system/etc/firmware so it must be linked some other way which may explain why all my port attempts failed as none of them used a custom partition (Asus_X002)
Maybe we will have to repartition the emmc to a standard config and alter the kernel (if the links are set via the kernel that is) for cm and other ports to work smoothly as I am unsure just how everything is linked up.
I have not had much experience with custom partitions so someone one know's of a good info source please link it. :good:
Hopefully Master @Santhosh M can figure out what's going on with the custom partition :fingers-crossed:
bigrammy said:
@HypoTurtle
Regarding the custom partition this is or could be a problem for us now and in the future and may require further investigation. The cm sprout branch has the modem.img in the (normal place /system/etc/firmware) but as you say ours is in the custom partition which is probably to protect it from bad /system flashes
Thing is I see no normal type link to it in the /system/etc/firmware so it must be linked some other way which may explain why all my port attempts failed as none of them used a custom partition (Asus_X002)
Click to expand...
Click to collapse
The partition is symlinked from .../by-name/custom (which is symlinked by the kernel from dev/block/mmcblk0p12) to /dev/customimg which is mouned after an e2fsck to /custom. /custom isn't linked to /system, it's just added to the global environment (init.environ.rc), will need to check on the environ, I'm on flyme and it has /custom/lib added to the library path (which doesn't exist).
HypoTurtle said:
The partition is symlinked from .../by-name/custom (which is symlinked by the kernel from dev/block/mmcblk0p12) to /dev/customimg which is mouned after an e2fsck to /custom. /custom isn't linked to /system, it's just added to the global environment (init.environ.rc), will need to check on the environ, I'm on flyme and it has /custom/lib added to the library path (which doesn't exist).
Click to expand...
Click to collapse
Haha thanks that explains a lot of weird things perfectly. :good:
What's the problem or what is the issue here.
Mediatek compiling guide ( by masterawesome ) that you have linked to is not actually practically this mtk kernel is done and is just way too complicatedly explained.
There is no defconfig stuff or pulling config.gz from phone in mtk. In this new source its just simple. Set up your toolchain path. Execute the makeMtk followed by the project no u want. Get zImage and patch it for mtk header and merge it with stock ramdisk. For this newer mtk chipsets repack has an extra stuff where u have to be careful of kernel command line parameters.
That's it the kernel stuff in mtk
https://github.com/Microsoft/winfile was open source recently, so I built it for rt.
It doesnt ran under WinRT8.1 with same error like WinDjView "number 1566 didn't fnd in the library". Rebuilded new one WinDjView with leaked MFC from VS2001beta works well (with some limitation). Please research this bug. I need an 2window file manager for my RT. How can I help ya?
any chance to get the error as shown in the English ui? would be more familiar to me.
I don't think this project uses mfc.
my guess is some linked dll has an ordinal of 1566 which moved in the dll between rt8.0 and rt8.1. if i get some time I'll recreate the libs from custom def and avoid including ordinal values, so the linker will be forced to load by symbol name.
a note to remind myself how to do that:
lib.exe /def:libfile.def /out:libfile.lib
Please look at there its my opened issue
https://github.com/Microsoft/winfile/issues/6
Unfortunately even when I install English UI some parts of UI still in prenstalled language (Russian in my case) ecen when it sets to English and reboot. This error is still in Russain and Im not sure how it sounds correctly in English.
hooddy said:
Please look at there its my opened issue
https://github.com/Microsoft/winfile/issues/6
Unfortunately even when I install English UI some parts of UI still in prenstalled language (Russian in my case) ecen when it sets to English and reboot. This error is still in Russain and Im not sure how it sounds correctly in English.
Click to expand...
Click to collapse
Privet! Yes, thanks, I am in that github thread also.
Please try this one if you have the time and willingness.
TLDR; Made libs without ordinals to force the system to load libraries and symbols by name. Based upon your error message containing a numerical value and not knowing whether the system will fail if incorrect ordinal or will retry by name.
Steps to produce are different from these: http://www.wanderinghuman.com/blog/archives/000123.html
In addition to that workspace, here's the changes:
Linked without each library individually to see which symbols were used
For each library
created a library.def file with the missing symbols obtained from linked errors
used this command: lib /def:library.def /out:library.lib /MACHINE:ARM
If First time;Observed linker error on resulting library about 0x1c0 (MACHINE:ARM) and remembered that's the Windows CE ARM thumb1
Hex edited library.lib to replace 0x1c0 with 0x1c4 (THUMB2) where relevant
end
Adjusted linker properties to hard code my libraries, so it didn't search default libraries.
Linked and produced what is attached here.
Edit, had typo in a def file, so fixing binary after fixing it/
smb_gaiden said:
any chance to get the error as shown in the English ui? would be more familiar to me.
I don't think this project uses mfc.
my guess is some linked dll has an ordinal of 1566 which moved in the dll between rt8.0 and rt8.1. if i get some time I'll recreate the libs from custom def and avoid including ordinal values, so the linker will be forced to load by symbol name.
a note to remind myself how to do that:
lib.exe /def:libfile.def /out:libfile.lib
Click to expand...
Click to collapse
NEVER LINK WITH ORDINALS, JUST NEVER. That made me lose a metric ton of time reporting stuff which was already ported to RT otherwise. It's a very bad idea, it's worse having builds with ordinals than no builds at all; a fixed version is attached by the way.
Why are you doing it by generating .libs? that's not required anymore, just add the ARM desktop SDK in individual components on VSinstaller
black_blob said:
NEVER LINK WITH ORDINALS, JUST NEVER. That made me lose a metric ton of time reporting stuff which was already ported to RT otherwise. It's a very bad idea, it's worse having builds with ordinals than no builds at all; a fixed version is attached by the way
Click to expand...
Click to collapse
Thanks for the build. I miss some dll to run it. Can ya share it please?
And please share your Far manager build. I really miss them.
smb_gaiden said:
Privet! Yes, thanks, I am in that github thread also.
Please try this one if you have the time and willingness.
TLDR; Made libs without ordinals to force the system to load libraries and symbols by name. Based upon your error message containing a numerical value and not knowing whether the system will fail if incorrect ordinal or will retry by name.
Steps to produce are different from these: http://www.wanderinghuman.com/blog/archives/000123.html
In addition to that workspace, here's the changes:
Linked without each library individually to see which symbols were used
For each library
created a library.def file with the missing symbols obtained from linked errors
used this command: lib /def:library.def /out:library.lib /MACHINE:ARM
If First time;Observed linker error on resulting library about 0x1c0 (MACHINE:ARM) and remembered that's the Windows CE ARM thumb1
Hex edited library.lib to replace 0x1c0 with 0x1c4 (THUMB2) where relevant
end
Adjusted linker properties to hard code my libraries, so it didn't search default libraries.
Linked and produced what is attached here.
Edit, had typo in a def file, so fixing binary after fixing it/
Click to expand...
Click to collapse
Privet! Ill try this new build and it's not workd with the same error as early was. What about all you write there I not really undasttod what can I do for you to improve it Im sorry for my stupidility(((
black_blob
can you tell me more about that please?
hooddy said:
Privet! Ill try this new build and it's not workd with the same error as early was. What about all you write there I not really undasttod what can I do for you to improve it Im sorry for my stupidility(((
Click to expand...
Click to collapse
you'll have to install the ucrt compatibility update
smb_gaiden said:
black_blob
can you tell me more about that please?
Click to expand...
Click to collapse
Windows 10 SDKs for VS2017 have the full set of ARM .libs these days. Set the SDK version to 10.0.16299
black_blob said:
you'll have to install the ucrt compatibility update
Click to expand...
Click to collapse
Where I can get it? Some msu file please. I try to obtain this dll form powershell and dot.net at github with no luck.
@black_blob thank you
@hooddy don't try to understand, just some development information.
smb_gaiden said:
@black_blob thank you
@hooddy don't try to understand, just some development information.
Click to expand...
Click to collapse
I thinks it's an https://support.microsoft.com/en-us/help/3118401/update-for-universal-c-runtime-in-windows I didn't get it over WU. Can ya share direct link for KB3118401 and KB2919355 msu for WinRT please?
Maybe this can help to build proper
https://github.com/Microsoft/winfile/issues/102
Well how about working RT build? Nope?
hooddy said:
Well how about working RT build? Nope?
Click to expand...
Click to collapse
Ended up choosing the nuclear option, and that seems to work alright.
black_blob said:
Ended up choosing the nuclear option, and that seems to work alright.
Click to expand...
Click to collapse
Ya make my day! Thank ya really much!
black_blob said:
Ended up choosing the nuclear option, and that seems to work alright.
Click to expand...
Click to collapse
Oh cool, you saved my future self some time! I ordered a surface RT in order to run 8.1 and leave my main one undisturbed. However, still have some work to do elsewhere, so can you elaborate on the nuclear option in order to save my future self more time? Thank you very much!
Static linking for everything + LTCG + removal of all unused code. It ends up working so well that it has the same size as the binary with outside depends.
I got my new (used) surface rt a few days ago, spent 3 days discovering the service pack update black screen error, installing all the service packs, then using the tool provided by Qiangong et. all.
Reproduced the error with my Winfile and realised that there was one critical library that was being linked with ordinals. Drum roll... kernel32.lib due to not using /NODEFAULTLIBS.
Anyway, it has been corrected and attached is a dynamically linked winfile.exe which runs on Windows RT 8.1. It has already been signed.