Related
I want to develop stuff for our phone. Is there something useful I could help making?
I have basic to little advanced knowledge of Java
I understand c++ except for pointers which I might want to look up. But presumeably not good enough...
I could make frameworks. If I only knew how or where to start and which files to edit for example. Is it possible to decrypt xml files or why are they not readable?
Compile it from the source without any touchwiz on it, just murder touchwiz from it roots. then release the rom. I will LOVE you. but add launcherpro ;P
djjonastybe said:
I want to develop stuff for our phone. Is there something useful I could help making?
I have basic to little advanced knowledge of Java
I understand c++ except for pointers which I might want to look up. But presumeably not good enough...
I could make frameworks. If I only knew how or where to start and which files to edit for example. Is it possible to decrypt xml files or why are they not readable?
Click to expand...
Click to collapse
Well, basically you can try different things:
1) ROM's - We have plenty , so not worth wasting time on that.
2) Kernel's - We need more, so definitely worth it
3) Applications - You need Java & XML Knowledge...
4) Developing from source (AOSP, CM) - Too much knowledge needed...
5) Edit Default apps - (Edit Smali, xml files )
And yes, you can decrypt xml files...
one good example is this one... http://forum.xda-developers.com/showthread.php?t=1065452
See the HOW-TO...
And Please Dont Post In Development Section, Unless You Have Already Started Developing, Hope You Understand
I am also very interested in making performance themes which are as light as possible... And improving batterylife as well by making the theme as dark as possible while still making it very attractive.
When editing the framework-res of for example g3mod. Will I need to zipalign again? Or do I need to do some after optimization after replacing the files through 7-Zip?
I read I had to use 7-zip to keep the apk signed... I may be wrong.
EDIT: I think APK Manager is my solution! Thanks for the link!
Sure...
Better Video recording!
at least 640x480 please.
FROYO Call recording
I have my stock rom from Samsung, which I downloaded with checkfusdownloader.
So what are the steps I need to take to start modding this thing? So I can deodex this and maybe zipalign it
djjonastybe said:
I have my stock rom from Samsung, which I downloaded with checkfusdownloader.
So what are the steps I need to take to start modding this thing? So I can deodex this and maybe zipalign it
Click to expand...
Click to collapse
Yeah you can do that.
Hi hackers,
i know about the common method described by chulri, to compile custom kernels and it works well.
Anyway for kernel only experiments this way is little too bloated.
EDIT3:
So here's my standalone toolchain for archos (build with modified buildroot system for 32Bit linux OS):
arm-archos GCC4.4.1 for ARM uClinux (uClibc C library 0.9.30 with Archos specific tweaks and bugfixes)
http://dl.dropbox.com/u/8815400/arm-archos.tar.gz
EDIT5:
The toolchain does not work on a 64Bit OS.
I'll post a link for the 64Bit version soon.
Only for reference:
There are a lot of external solutions to be found in the web.
E.g. there are different flavoured toolchains based on gcc 4.4.1 from Mentor Graphics (formerly known as Codesourcery):
Sourcery G++ Lite 2010q1-188 for ARM EABI (Newlib C library 1.17.0)
Sourcery G++ Lite 2010q1-189 for ARM uClinux (uClibc C library 0.9.30)
Sourcery G++ Lite 2010q1-202 for ARM GNU/Linux (GNU C library 2.11)
So if i restrict my activities on kernel compilation all three should do the job.
I made a custom kernel using the above mentioned GNU C toolchain, all compiles fine, but did not test it yet.
This is next... i need to find an easy way to test my tweaked kernels.
So far i would recommend UrukDroid running and use the recovery menu to exchange the kernel & ramdisk.
Any comments are welcome.
Unfortunately our devices use also some binary only kernel modules which are not supported by this method:
hmditx.ko (though marked as GPL, we got no sources)
hdmicec.ko (same here)
UPDATE: Sources had been published by Archos at gitorious.
nwolc.ko (proprietary module from NXP)
BTW, someone should contact the author Andre Lepine to hand out the GPL'ed source code
If i got it right, all custom kernels had been build using the buildroot system because of these.
AFAIK using another toolchain would result in a completely different system map and prevent the modules to load.
Anyway if we exclude HDMI and tweak some start scripts to prevent the modules to get loaded, we'll be fine.
Would be nice to start some discussion up here or leave a comment.
I'd also like to get some tricks form the cracks
EDIT:
Sure there's also Ti's wireless driver package which has to be integrated to compile tiwlan_drv.ko.
Need to do some research to find the correct package.
Any hints are welcome!
EDIT2:
Anyone tried to compile a gen8 kernel using the new gen9 kernel source?
Everything seems to be there...
EDIT4:
See above! The toolchain works very nice.
It had been specially compiled for external use and in the meantime it was tested on many different hosts.
Instructions how to install and use it could be found here:
http://forum.xda-developers.com/showpost.php?p=19134490&postcount=8
Thanks a lot for your attention!
Regards,
scholbert
One question: What's so much better about that toolchain to throw away the Archos-compatible toolchain and deal with the hassle of excluding features to build compatible binaries? I guess I didn't get the point
chulri said:
One question: What's so much better about that toolchain to throw away the Archos-compatible toolchain and deal with the hassle of excluding features to build compatible binaries? I guess I didn't get the point
Click to expand...
Click to collapse
Like i tried to point out:
Anyway for kernel only experiments this way is little too bloated.
Click to expand...
Click to collapse
A neat little cross toolchain environment would be enough for kernel experiments.
I'm working on different platforms e.g. old Debian 4.0 workstation, Netbook with UNR 11 but limited space, other linux machines i don't like to run entire process.
You need a lot of disk space and time (at least first time to build the whole environment).
The other thing is that everything is built into the buildroot structure, you could barely locate the toolchain itself...
Sure your right, if you say everthing works out of the box, but i don't like all these automated procedures, to build my own kernel.
In fact that's just it and i wonder if there's another way.
Just kernel source + cross-toolchain...
Apart from that, the toolchain Sourcery G++ Lite 2010q1-189 for ARM uClinux (uClibc C library 0.9.30) is very close to the Archos one.
BTW, anyone tried to tweak the Archos build script to built the toolchain for external use?
Cheers,
scholbert
scholbert said:
So if i restrict my activities on kernel compilation all three should do the job.
I made a custom kernel using the above mentioned GNU C toolchain, all compiles fine, but did not test it yet.
Click to expand...
Click to collapse
Hi Scholbert!
I've been doing the same for my kernels, it compiles and runs fine, wifi loads without any particular tweak with the original Archos compiled module, but I didn't check hdmi as I don't have cable for it. I'm using a cm7 toolchain to build it (arm-eabi-4.4.3) though.
scholbert said:
This is next... i need to find an easy way to test my tweaked kernels.
So far i would recommend UrukDroid running and use the recovery menu to exchange the kernel & ramdisk.
Click to expand...
Click to collapse
My setup is a bit different since I patched bootloader: I have my "stable" build on normal boot (/rawfs/init) and my dev build on sde (/rawfs/custom), and I flash my kernel directly from my stable build without going through recovery.
I just do adb push kernel and initrd, then directly on device a "kd_flasher -k kernel -i initrd", and I reboot from normal to sde with a "reboot_into sde". It's really quick this way, I just have a script on my linux box to do all this.
I believe you can do the same without patched bootloader with a temproot on secure archos build.
scholbert said:
EDIT2:
Anyone tried to compile a gen8 kernel using the new gen9 kernel source?
Everything seems to be there...
Click to expand...
Click to collapse
Yes, I'm playing with it. I don't know what device you have, but mine (A70S) was not finished in Archos sources: board-archos-a70s is almost empty, panel wasn't finished... I add stuff slowly (still learning Omap, I know Qualcomm better), my kernel boots, I currently have framebuffer, internal mmc and usb working.
Hi letama!
letama said:
I've been doing the same for my kernels, it compiles and runs fine, wifi loads without any particular tweak with the original Archos compiled module, but I didn't check hdmi as I don't have cable for it. I'm using a cm7 toolchain to build it (arm-eabi-4.4.3) though.
Click to expand...
Click to collapse
Cool that's nice information.
Interesting that the tiwlan_drv.ko loads without problems.
Just to start an experiment, i started to shrink down the buildroot setup from Archos and built the gcc 4.4.1 toolchain only.
But it's not finished yet...
letama said:
My setup is a bit different since I patched bootloader: I have my "stable" build on normal boot (/rawfs/init) and my dev build on sde (/rawfs/custom), and I flash my kernel directly from my stable build without going through recovery.
Click to expand...
Click to collapse
O.k. i see, sounds like a clean environment this way.
In fact there's no need for this sqashfs thing anymore...
I already got the SDE's avboot version installed. This version is little bigger in size and obviously got some add-on's.
The same byte signature could be found here, so i guess the hack would match this avboot version as well.
Maybe i give it a try.
letama said:
I just do adb push kernel and initrd, then directly on device a "kd_flasher -k kernel -i initrd", and I reboot from normal to sde with a "reboot_into sde". It's really quick this way, I just have a script on my linux box to do all this.
Click to expand...
Click to collapse
Cool, sounds like a nice development platform this way.
letama said:
I believe you can do the same without patched bootloader with a temproot on secure archos build.
Click to expand...
Click to collapse
Mmmh i thought about using it from UrukDroid...
Anyway, the way you do it sounds more elegant.
letama said:
Yes, I'm playing with it. I don't know what device you have, but mine (A70S) was not finished in Archos sources: board-archos-a70s is almost empty, panel wasn't finished... I add stuff slowly (still learning Omap, I know Qualcomm better), my kernel boots, I currently have framebuffer, internal mmc and usb working.
Click to expand...
Click to collapse
I got an A101... looks little better here, but i did not compile the kernel yet.
Anyway, would be nice to have a complete kernel (incl. wireless and HDMI base code) in the end which compiles fine with latest gcc and runs out of the box
Thanks a lot for your extensive reply!!!
Regards,
scholbert
scholbert said:
I already good the SDE's avboot version installed. This version is little bigger in size and obviously got some add-on's.
The same byte signature could be found here, so i guess the hack would match this avboot version as well.
Maybe i give it a try.
Click to expand...
Click to collapse
Yes, it's the same signature, I verified it with IDA before installing sde, only location differs. You should be fine as long as you don't have multiple matches. If you want my code to patch it, let me know... You'd have to adapt the offsets but it would be probably safer than doing it manually.
Regarding kernel development, I forgot one big advantage to have patched bootloaders: ram_console! I built my "stable" and "dev" kernels with it, so I just have to make my dev kernel to crash to reboot and get the full dmesg with "cat /proc/last_kmsg" even if framebuffer or usb don't work .
scholbert said:
I got an A101... looks little better here, but i did not compile the kernel yet.
Anyway, would be nice to have a complete kernel (incl. wireless and HDMI base code) in the end which compiles fine with latest gcc and runs out of the box
Click to expand...
Click to collapse
Yes, gen9 sources look better for A101, I took them as base for my A70 and it's almost ok. I took away hdmi as it seems a bit too hackish, I'll see later . I also had some issue with gp timers that wouldn't use 32K clock, I'd be curious to see a dmesg on a gen9 tablet.
Right now I'm fighting with usb that kills video driver looonng way to go before having a fully functional kernel.
letama said:
Yes, it's the same signature, I verified it with IDA before installing sde, only location differs. You should be fine as long as you don't have multiple matches. If you want my code to patch it, let me know... You'd have to adapt the offsets but it would be probably safer than doing it manually.
Click to expand...
Click to collapse
Thanks for offering your tool.
Guess it's the same you once posted in that thread about changing bootlogo.
I had a look at the soruces once.
Anyway i already prepared a patched bootblock. Did not re-write it yet
Time is lacking...
letama said:
Regarding kernel development, I forgot one big advantage to have patched bootloaders: ram_console! I built my "stable" and "dev" kernels with it, so I just have to make my dev kernel to crash to reboot and get the full dmesg with "cat /proc/last_kmsg" even if framebuffer or usb don't work .
Click to expand...
Click to collapse
Yupp that's nice... have you seen my UART hack?
letama said:
Yes, gen9 sources look better for A101, I took them as base for my A70 and it's almost ok. I took away hdmi as it seems a bit too hackish, I'll see later . I also had some issue with gp timers that wouldn't use 32K clock, I'd be curious to see a dmesg on a gen9 tablet.
Right now I'm fighting with usb that kills video driver looonng way to go before having a fully functional kernel.
Click to expand...
Click to collapse
Guess i will try to compile this kernel soon.
No time for that right now.
Made some efforts to built special toolchain.
See the upcoming post...
Big thanks for participating!!!
Regards,
scholbert
Ready to use Archos specific toolchain
Hi again,
three simple steps to build UrukDroid custom kernel/modules:
1. Grab my customized toolchain and install it (see first post).
The toolchain is configured to work on mostly any 32Bit linux host (min. libc 2.3.6, should work down to Debian 4.0, Ubuntu 8.04 and similar).
The toolchain must be extracted and placed at /opt on your host machine (x86).
To run it as a user you might change the properties for /opt directory to match the user's rights.
You also could extract the archive as root and run:
chown -R 1000:1000 /opt/arm-archos
To make it more comfortable:
Modify user's .bashrc file to include the path to the toolchain:
export PATH=$PATH:/opt/arm-archos/usr/bin
2. Grab UrukDroid kernel sources and compile.
UrukDroid kernel sources could be found here:
http://sauron.pourix.com/UrukDroid/UrukDroid-1.5/UrukDroid-1.5.1-kernelsrc.tar.bz2
You might extract the sources anywhere you like.
After this has been done, step into the kernel source root directory.
Modify Makefile to use the Archos toolchain (line 199):
Code:
...
# Alternatively CROSS_COMPILE can be set in the environment.
# Default value for CROSS_COMPILE is not to prefix executables
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
export KBUILD_BUILDHOST := $(SUBARCH)
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?= arm-linux-uclibcgnueabi-
...
cp linux.config .config
make oldconfig
make zImage
make modules
make modules_install INSTALL_MOD_PATH=/my_kernel/modules/
3. Transfer the binaries to your Archos device.
Right now there's no need to exchange the kernel, because we use $auron's base setup for the kernel.
Place your custom modules at /lib/modules
TBC
scholbert
scholbert said:
Thanks for offering your tool.
Guess it's the same you once posted in that thread about changing bootlogo.
I had a look at the soruces once.
Anyway i already prepared a patched bootblock. Did not re-write it yet
Time is lacking...
Click to expand...
Click to collapse
Yes, it's roughly the same code. You did patch both location ?
scholbert said:
Yupp that's nice... have you seen my UART hack?
Click to expand...
Click to collapse
Yes, saw it, it would be very nice to have console on serial, but I don't want to open my A70 yet as it's still has warranty running. I may try that if I can find parts and if I get a gen9 as "main".
scholbert said:
Guess i will try to compile this kernel soon.
No time for that right now.
Click to expand...
Click to collapse
Great! Let me know if you have something, I'd be very interested in a dmesg.
I somehow "fixed" my video driver problem (well, not really fixed, adding traces made it go away ), now I'm trying to get SurfaceFlinger works. Sgx driver doesn't seem to play nice with .29 userspace binaries, I'm not sure I'd be able to go much further without new binaries.
scholbert said:
Made some efforts to built special toolchain.
See the upcoming post...
Click to expand...
Click to collapse
Nice! I'll try to take a look at it when I find some time.
Hey letama,
sorry for the delay...
letama said:
Yes, it's roughly the same code. You did patch both location ?
Click to expand...
Click to collapse
Yepp, both locations are patched.
As we already pointed out, there the rawfs header contains some checksums and avboot is the first file in there.
What do you think, if i manually change some bytes in avboot and leave the checksum untouched, will there be any problems?
letama said:
Yes, saw it, it would be very nice to have console on serial, but I don't want to open my A70 yet as it's still has warranty running. I may try that if I can find parts and if I get a gen9 as "main".
Click to expand...
Click to collapse
O.k. if there's warranty on your device, i totally agree.
letama said:
Great! Let me know if you have something, I'd be very interested in a dmesg.
Click to expand...
Click to collapse
Need more time
letama said:
I somehow "fixed" my video driver problem (well, not really fixed, adding traces made it go away ), now I'm trying to get SurfaceFlinger works. Sgx driver doesn't seem to play nice with .29 userspace binaries, I'm not sure I'd be able to go much further without new binaries.
Click to expand...
Click to collapse
Yeah guess there are some changes in the drivers API.
letama said:
Nice! I'll try to take a look at it when I find some time.
Click to expand...
Click to collapse
So far i tested it, the toolchain works out very nice.
Concerning kernel compilation:
It seems the binaries are quite well optimized in size. No problems so far.
I found out that in stock ROM they used some strip command to make the modules even smaller.
Anyway won't speed things up significantly i guess...
Concerning userland apps:
Though my genereated uClibc is little bigger in size, i noticed no problems so far. A binary comparison between the libaries (stock vs mine), shows little differences though.
Anyway, would be nice if people use it and report...
Have a nice day!
scholbert
Hi Scholbert!
scholbert said:
sorry for the delay...
Click to expand...
Click to collapse
No problem, I'm also busy as hell...
scholbert said:
Yepp, both locations are patched.
As we already pointed out, there the rawfs header contains some checksums and avboot is the first file in there.
What do you think, if i manually change some bytes in avboot and leave the checksum untouched, will there be any problems?
Click to expand...
Click to collapse
Well, I didn't touch checksums either, and it seems they're not checked anywhere else, so you should be good. As long as you patched both location before reboot, you should be ok.
scholbert said:
Yeah guess there are some changes in the drivers API.
Click to expand...
Click to collapse
I made some progress there, I took LG P970 3D binaries with driver source code from their cm7 kernel (they also have a 2.6.35) and I was able to boot up to launcher. I had to fiddle a bit with audio runtime as phone audio won't work, but low level audio driver is working too. Next step is touchscreen... And probably doing a proper cm7 build, I'm running a frankenstein mix of cm7 for nook tablet
scholbert said:
So far i tested it, the toolchain works out very nice.
Click to expand...
Click to collapse
I tried it briefly yesterday as I borked my kernel config at some point and it was crashing my usual toolchain, it doesn't run on my comp: "error while loading shared libraries: libmpfr.so.1: wrong ELF class: ELFCLASS64". Ubuntu 11.10 64 bits...
Best,
LeTama
letama said:
Well, I didn't touch checksums either, and it seems they're not checked anywhere else, so you should be good. As long as you patched both location before reboot, you should be ok.
Click to expand...
Click to collapse
Yeah guessed so... the russian guy who first tried this hack also never mentioned anything like this. So it'll be safe then.
letama said:
I made some progress there, I took LG P970 3D binaries with driver source code from their cm7 kernel (they also have a 2.6.35) and I was able to boot up to launcher. I had to fiddle a bit with audio runtime as phone audio won't work, but low level audio driver is working too. Next step is touchscreen... And probably doing a proper cm7 build, I'm running a frankenstein mix of cm7 for nook tablet
Click to expand...
Click to collapse
Wow sounds pretty like a "frankengenius" software design.
Good work!
Have you seen that Archos released part of the hdmi code as external driver code. So the kernel is even more open now (speaking of 2.6.29).
Sometimes their cooperation is very nice.
About two weeks ago i contact the author at NXP, then last week i wrote to Archos and on thursday they released it. Not bad...
Anyway they ought to release the source, even without mentioning it.
It's just GPL code.
letama said:
I tried it briefly yesterday as I borked my kernel config at some point and it was crashing my usual toolchain, it doesn't run on my comp: "error while loading shared libraries: libmpfr.so.1: wrong ELF class: ELFCLASS64". Ubuntu 11.10 64 bits...
Click to expand...
Click to collapse
Sure the toolchain is compiled for 32Bit systems, forgot to mention this.
So it will never work on a 64Bit system.... sorry
Cheers,
scholbert
scholbert said:
Have you seen that Archos released part of the hdmi code as external driver code. So the kernel is even more open now (speaking of 2.6.29).
Click to expand...
Click to collapse
Didn't see it, very nice! HDMI is a low on my priority list, but it's good to have source code, it will help porting it. Even though my efforts on this kernel will slow a bit as I purchased today a gen9 and ICS source code is out .
At first glance, boot process and layout looks very similar to our gen8, same rawfs, a custom file that would indicate that we should get SDE, so far so good. Need to spend some quality time with hex editor and IDA now .
Damn work, I need 72 hours days!
scholbert said:
Sure the toolchain is compiled for 32Bit systems, forgot to mention this.
So it will never work on a 64Bit system.... sorry
Click to expand...
Click to collapse
No problem, just wanted to give a bit of feedback.
@letama:
Wouldn't it be alot more productive for you and us if you would somehow join your affort with the guys from openaos?
cm7 and then cm9 would be here faster the more experienced devs are helping.
fzelle said:
@letama:
Wouldn't it be alot more productive for you and us if you would somehow join your affort with the guys from openaos?
cm7 and then cm9 would be here faster the more experienced devs are helping.
Click to expand...
Click to collapse
Hi fzelle,
Well, I'm only learning slowly, they're far more experienced than me on Archos. My main goal is to understand omap platform, that's why I'm toying with the 2.6.35 kernel. Cm7 is only a convenient for way me to make sure the kernel behaves well. I don't seek a perfect cm7/archos experience for all devices as they do, but if at some point I learned enough, I may try to help if I can.
LeTama
CM7 for Archos atm is based on the 2.6.29 kernel delivered from Archos, so your kernel is far more advanced.
And if you got 2.6.35 to work properly, the guys over at openaos would probably be happy to use that.
fzelle said:
CM7 for Archos atm is based on the 2.6.29 kernel delivered from Archos, so your kernel is far more advanced.
And if you got 2.6.35 to work properly, the guys over at openaos would probably be happy to use that.
Click to expand...
Click to collapse
Yes, 2.6.35 should match better gingerbread code. If I can go somewhere, I'll share it. Currently, I'm far from that, still having troubles with usb and a big piece will be power management. We'll see, but I'm a bit out of free time.
Hey letama,
i guess fzelle is right.
AFAIK, the openaos developers concentrate on the Android part for gen8. As stated they still use 2.6.29 and this no problem so far.
But a kernel project might run in parallel.
Would be nice to get the new kernel working at least for A70 and A101.
I started a build for A101 (...and still compiling), maybe we could share our .config file
EDIT: Aaaaaargh, still fighting with the kernel config/compile errors.
Wifi/BT framework issue.... RFKILL_STATE_UNBLOCKED etc. seems not to be implemented anymore...
letama said:
I made some progress there, I took LG P970 3D binaries with driver source code from their cm7 kernel (they also have a 2.6.35) and I was able to boot up to launcher. I had to fiddle a bit with audio runtime as phone audio won't work, but low level audio driver is working too. Next step is touchscreen... And probably doing a proper cm7 build, I'm running a frankenstein mix of cm7 for nook tablet
Click to expand...
Click to collapse
The SGX part is an open issue i guess, but there's some support form Ti as well. E.g.: https://gforge.ti.com/gf/project/openmax/frs/
Remember the Beagleboard-XM is very similar to what we got on our devices.
Also Zoom3 platform, so maybe their repository is a good starting point for these addon's as well.
In fact using the OMAP might be a benefit in general, because there are so many opensource projects covering this architecture
Happy hacking!
scholbert
Hi Scholbert,
scholbert said:
i guess fzelle is right.
AFAIK, the openaos developers concentrate on the Android part for gen8. As stated they still use 2.6.29 and this no problem so far.
But a kernel project might run in parallel.
Would be nice to get the new kernel working at least for A70 and A101.
Click to expand...
Click to collapse
Agreed! It would be nice if we could develop both A70 and A101 in parallel, sharing will speed things up.
scholbert said:
I started a build for A101 (...and still compiling), maybe we could share our .config file
Click to expand...
Click to collapse
I attached my current one, I added one config option that you don't have, CONFIG_MUSB_ERRATA_445, you can remove the line. I'm not sure I have the config right, but it boots and has quite a lot of stuff working. You need to re-add A10IT board though.
scholbert said:
The SGX part is an open issue i guess, but there's some support form Ti as well. E.g.: https://gforge.ti.com/gf/project/openmax/frs/
Click to expand...
Click to collapse
Well, for me it's no longer an issue, I think what I did is the best we can do until we can get a hand on Archos binaries for 3630. The issue is that you have to have proprietary binaries, they must match driver version, and the binaries I have from P920 works fine even though maybe not as recent as Archos ones. There is no open source implementation afaik. OpenMax is only for video codec, not 3D.
scholbert said:
Happy hacking!
Click to expand...
Click to collapse
Thanks, you too! You have a mission now! Let's get this kernel running on A101
Hi letama!
letama said:
Agreed! It would be nice if we could develop both A70 and A101 in parallel, sharing will speed things up.
Click to expand...
Click to collapse
To be honest i meant developing openaos and kernel in parallel. Who ever does it
Anyway, as i wrote it... i started to play around with the new kernel.
It's hard for me these days to find some time for hacking and i'm not a genius in modifying kernel drivers and stuff.
So in fact i don't know how far i will get things rollin'
letama said:
I attached my current one, I added one config option that you don't have, CONFIG_MUSB_ERRATA_445, you can remove the line. I'm not sure I have the config right, but it boots and has quite a lot of stuff working. You need to re-add A10IT board though.
Click to expand...
Click to collapse
Thanks a lot. I will compare your config with my setup.
Already found some missing parts in the board file...
letama said:
Well, for me it's no longer an issue, I think what I did is the best we can do until we can get a hand on Archos binaries for 3630. The issue is that you have to have proprietary binaries, they must match driver version, and the binaries I have from P920 works fine even though maybe not as recent as Archos ones. There is no open source implementation afaik. OpenMax is only for video codec, not 3D.
Click to expand...
Click to collapse
Ah i see, so i'll take a look at the binaries.
I guess you meant P970, as stated earlier.
letama said:
Thanks, you too! You have a mission now! Let's get this kernel running on A101
Click to expand...
Click to collapse
Haha, as stated above... nice mission anyway
BTW, did you see there are some nice projects at gitorious.
A 2.6.37 kernel port for A43 and A101 had also been started already.
I had a short look at some parts... don't know about the exact state of the code.
Let's stay in touch!
Best regards,
scholbert
Hi, I don't know the proper way of doing this but I do humble request to someone with spare time to make a PATCH or post some guide for patching at least the default MIUI kernel to have proper 2WCR on it.
I don't live in the US so 2WCR laws don't restrict me from recording my own calls.
Thank you in advance.
Is there a problem with the built-in method of 2wcr? I've never tried it, but it should work fine out of the box.
MIUzI weighs a ton.
EndlessDissent said:
Is there a problem with the built-in method of 2wcr? I've never tried it, but it should work fine out of the box.
MIUzI weighs a ton.
Click to expand...
Click to collapse
Built-in method from the EVO4G is only good if you make calls using the loudspeaker because it records from the MIC.
Wrong section my friend.
Sorry, I really didn't knew where to make the request, but I really hope someone has the spare time to make or help me accomplish this. If any moderator read this please be kind enough to move this thread to the appropriate section, and sorry for any inconvenience.
To Add it into the Kernel is pretty easy. Just replace 6 files in the source code of your Kernel with the ones from my www.github.com\detcup4evr
Sorry I haven't had a chance to look at ASOP kernel much, but code looks pretty similar.
Add these files
arch/arm/mach-msm/qdsp6/amrnb_in.c
arch/arm/mach-msm/qdsp6/vocpcm.c
Edit these or just replace
arch/arm/mach-msm/include/mach/msm_qdsp6_audio.h
arch/arm/mach-msm/qdsp6/Makefile
arch/arm/mach-msm/qdsp6/pcm_in.c
arch/arm/mach-msm/qdsp6/q6audio.c
Thank you very much for your response, I know it looks simple to do but for me those tips you gave me are like rocket science,I don't have the sightless idea on how to accomplish it but I will try to make some time to read and learn how to compile that, between work and my 2 kids I don't have too much spare time hehe, but I appreciate your kindness.
detcup4evr said:
Just replace 6 files in the source code of your Kernel
Click to expand...
Click to collapse
whether it is suitable for all devices, or for HTC only? e.g. will it work for LG O1, CM miks ROM?
thanks very much
detcup4evr said:
To Add it into the Kernel is pretty easy. Just replace 6 files in the source code of your Kernel with the ones from my www.github.com\detcup4evr
Sorry I haven't had a chance to look at ASOP kernel much, but code looks pretty similar.
Add these files
arch/arm/mach-msm/qdsp6/amrnb_in.c
arch/arm/mach-msm/qdsp6/vocpcm.c
Edit these or just replace
arch/arm/mach-msm/include/mach/msm_qdsp6_audio.h
arch/arm/mach-msm/qdsp6/Makefile
arch/arm/mach-msm/qdsp6/pcm_in.c
arch/arm/mach-msm/qdsp6/q6audio.c
Click to expand...
Click to collapse
Sadly it's not a cut and paste in the case of AOSP. I am having to rewrite of amrnb_in.c in order to evern suggest getting it to compile. I strongly discurage anyone from copy and pasting those files over as the have dependencys on things that come with sense that are simply not in AOSP.
vocpcm and qdsp6
atyoung said:
Sadly it's not a cut and paste in the case of AOSP. I am having to rewrite of amrnb_in.c in order to evern suggest getting it to compile. I strongly discurage anyone from copy and pasting those files over as the have dependencys on things that come with sense that are simply not in AOSP.
Click to expand...
Click to collapse
Hi, did anyone get this working ok ? I just tried the suggestion above but it seems like I am missing a bunch of dal headers etc.
Is it just working on specific Qulacomm DSPs in HTC devices ? I have for example a qdsp6v2_1x directory in my HTC sources for HTC Sensation
Anyone tried to build this on kernel 3.x ?
cheers
Mark
Hi,
I synced the CM10.1 source last weekend. I mucked about with the kernel. I pointed it to Christopher83's custom toolchain. I built it. It works. I'm content.
However my plan was to revive 4.2.2 and actually ADD to it, otherwise you could just go and download the zip which the Andromadus team uploaded. Unfortunately I've discovered that I'm completely incompetent when it comes to firstly finding things to add, secondly finding the commit, and then thirdly trying to cherry pick and apply the commit so it works. I haven't really got to stage 3 yet.
So here's my suggestion: could someone please work with me or if syncing sources etc. is not possible, at least help me by being knowledgeable enough to know some good features, point me to the commits, and help me fix conflicts so that I can apply them successfully. Therefore I either want a team, the 4.2.2 revival team as it were, or someone or some people to help me if they can't directly interact with the sources. Don't worry if you can't build for whatever reason: if you can sync specific repos, e.g. settings, frameworks base, and modify them, and push them, so that I can build the ROM, that's fine. Anyone who helps at all will be deemed equally if not more important than myself, as I expect I'll ultimately just end up being the builder.
Thanks very much for your support.
I can help you with that. Tell me when you start your project and what errors did you get
Best Regards,
MarcoMarinho
RE: [DEV] CM10.1 builds | help needed adding features | "4.2.2 Revival Team"
_MarcoMarinho_ said:
I can help you with that. Tell me when you start your project and what errors did you get
Best Regards,
MarcoMarinho
Click to expand...
Click to collapse
Thanks firstly I thought a simple thing to do would be to add the recent app screen ram bar from SlimBean, but I can't find the commit anywhere in the SlimRoms github. Perhaps you know where it is or can find it for me, then I could cherrypick it and we could fix the conflicts together and we'd have our first unofficial CM10.1 ROM with additional features!
HTCDreamOn said:
Thanks firstly I thought a simple thing to do would be to add the recent app screen ram bar from SlimBean, but I can't find the commit anywhere in the SlimRoms github. Perhaps you know where it is or can find it for me, then I could cherrypick it and we could fix the conflicts together and we'd have our first unofficial CM10.1 ROM with additional features!
Click to expand...
Click to collapse
Sure
Here is the commit: https://github.com/SlimRoms/frameworks_base/commit/9c1c3c0955d51adc589ec6fbb667a0ae482de24e
You need this to: https://github.com/AOSB/android/commit/a512f16890af8c277c3d1a88c8bca36711b82328
RE: [DEV] CM10.1 builds | help needed adding features | "4.2.2 Revival Team"
_MarcoMarinho_ said:
Sure
Here is the commit: https://github.com/SlimRoms/frameworks_base/commit/9c1c3c0955d51adc589ec6fbb667a0ae482de24e
You need this to: https://github.com/AOSB/android/commit/a512f16890af8c277c3d1a88c8bca36711b82328
Click to expand...
Click to collapse
That looks interesting, but it's for KitKat... I'll try later once I'm confident. In the meantime, how can I get this to work: https://github.com/SlimRoms/packages_apps_Settings/commit/fb2ea42468bea20f09b99048c9e7535b6cde643f I'm OK apart from the very last bit in UserInterface.java, although I'm applying that code to SystemSettings.java anyway. Thanks
@demkantor @_MarcoMarinho_ I've synced the PA source, can you help me at all setting up the vision.adds file? Thanks
Sure thing, assume this is for 4.2 android right?
Sent from my Nexus 4 using XDA Premium 4 mobile app
demkantor said:
Sure thing, assume this is for 4.2 android right?
Sent from my Nexus 4 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Yep, as you know I synced the CM10.1 source a while ago so I used repo init --reference to sync the PA jellybean-legacy sources. Thanks for helping
paste this in a folder and title it
local_manifests
then add it to your .repo folder in ROM directory
I commented out a few things you may need to add, and there is possibly more but i dont have time to look into it all right now. just start with this, repo sync, and then build and check for errors
best of luck!
damn.... giving me uknown file, had to zip it first, so unzip the contents!
demkantor said:
paste this in a folder and title it
local_manifests
then add it to your .repo folder in ROM directory
I commented out a few things you may need to add, and there is possibly more but i dont have time to look into it all right now. just start with this, repo sync, and then build and check for errors
best of luck!
damn.... giving me uknown file, had to zip it first, so unzip the contents!
Click to expand...
Click to collapse
Thanks, do I only need to add these to the vision.adds file then, or do I not need a vision.adds file at all now?
HTCDreamOn said:
Thanks, do I only need to add these to the vision.adds file then, or do I not need a vision.adds file at all now?
Click to expand...
Click to collapse
cant say I've ever used a vision.adds file in a source build, I just find the files i need in github, download source, create a local_manifest, sync, check errors for somethings to add to manifest, build, check for errors, google how to fix, fix, fix, fix ,fix, then bam, got a rom that works.
but I can look into this vision.adds business, I don't think it will be necessary as this will place need files in the proper directories in your source code for you, I assume that's what the vision.adds would do?
demkantor said:
cant say I've ever used a vision.adds file in a source build, I just find the files i need in github, download source, create a local_manifest, sync, check errors for somethings to add to manifest, build, check for errors, google how to fix, fix, fix, fix ,fix, then bam, got a rom that works.
but I can look into this vision.adds business, I don't think it will be necessary as this will place need files in the proper directories in your source code for you, I assume that's what the vision.adds would do?
Click to expand...
Click to collapse
Here's the bit from their guide: http://forum.xda-developers.com/showpost.php?p=30958881&postcount=2 I'm not sure what it does though. I'm completely clueless about that whole post actually. I think it just syncs stuff after a sync.. or something. I don't know why though, isn't that what a local manifests file is for?
hmm... it looks like there will be a bit more to make than just the local_manifests
but i would attempt this first and if it doesnt work than follow the direction in that post as there me be a special way needed to build for pa, which i never have tried to build
most of what they are after will get pulled from local_manifests folder and placed appropriately. but at the same time... never used ./rom-build.sh before so this may be specific to pa, as in you need to follow their steps....
eh, just give it a try, if it doesnt work ill help you create those json files and build it the way laid out in their guide!
HTCDreamOn said:
Here's the bit from their guide: http://forum.xda-developers.com/showpost.php?p=30958881&postcount=2 I'm not sure what it does though. I'm completely clueless about that whole post actually. I think it just syncs stuff after a sync.. or something. I don't know why though, isn't that what a local manifests file is for?
Click to expand...
Click to collapse
Isn't easy, you need to add more repos to configure it for our phone.
This is very diferent:
http://forum.xda-developers.com/showpost.php?p=45827346&postcount=3467
As I said before, you need extra repos than CM needs. You can talk to the dev that made the SlimBean for our phone, as it's based on AOSP he needed to configure it as well.
Hi guys, long time no post. I have updated this guide on how to build kernels for Falcon so that anyone can learn! It's pretty simple once you get the hang of it. So yeah, here we go!
Prerequisites:
- You must have a Linux firmware running on your computer (I suggest Builduntu because you can skip the next one [build environment setup])
- Build environment setup (Put the this in terminal and follow instructions)
- Patience and a heart willing to learn
- You need to know the languages C, C++, Java, Ruby, Python... NOT! You don't need to know ANY coding languages.
[MOTIVATIONAL SPEECH]
Truth be told, when I first started out developing, I knew NO coding languages except for HTML and a little bit of Java. Both have nothing to do with kernels! I actually learned how to do this when I suffered from a concussion. So if you really want to learn how to kernel dev and you give up halfway, just know that a 14/15 year old kid could do it..
[/MOTIVATIONAL SPEECH]
Click to expand...
Click to collapse
WARNING: I am not responsible for any damages to your phone or computer or pet unicorn. When you modify the wrong partitions, set too many jobs for your compiler, break your keyboard out of frustration etc., that is not anyone's fault but yours. Or your pet unicorn.
Your Personal Handbook to the Following:
- Anything inside "CODE" boxes, type it into your terminal. If you can't find terminal, then press CTRL, ALT, t.
- If I were you, I would write these by hand instead of copying and pasting it because after a certain amount of times, you will remember the linux commands and it will be easier for you to compile more kernels for different devices
- Use this thread as a "Help Me" button. Ask for help!
Click to expand...
Click to collapse
A New Beginning:
Let's start out with something simple, getting the actual code:
Code:
git clone https://github.com/cyanogenmod/android_kernel_motorola_msm8226
This could range from 3 minutes to 2 hours!
Once that's done, open up your file manager and rename the folder (should be android_kernel_motorola_msm8226) to whatever you want. I will refer it as "mykernel".
Click to expand...
Click to collapse
Pokemon!
For this tutorial, we will be using a Sabermod 4.7 toolchain to compile. I WOULD teach you how to compile with 4.8+, but it creates errors that will take even longer for me to write about sooooooooo :fingers-crossed:. Now to get the toolchain:
Code:
git clone https://github.com/SaberMod/android_prebuilts_gcc_linux-x86_arm_sabermod-arm-eabi-4.7
Rename this to whatever you like, but I will be referring this as "toolchain"
Now go into you folder where the kernel source is stored...
Code:
cd mykernel
Click to expand...
Click to collapse
You're Almost There!:
Time to set-up the compiler!
Code:
export CROSS_COMPILE=/home/(insert linux home name here)/toolchain/bin/arm-eabi-
This tells the toolchain that "OK, we want to make ALL this code here into a kernel".
This next line tells it that your defconfig (the toolchain's manual for compiling the kernel) that it's in the arch/arm/configs folder.
Code:
export ARCH=arm
Now to tell the it what the defconfig is!
Code:
make falcon_defconfig
Hehe, now to the hardest part of all...
MuHAHHAHAHa
Click to expand...
Click to collapse
THE HARD (coding) PART
You ready for this? HERE IT IS! TIME TO BUILD THE KERNEL!
Code:
make -j4
Now sit back, relax, and watch the code! Or you could read a book, watch ****, count your fingers, play with your toes...
If you have an error during the waterfall of code, find the part where it actually says *error* (you'll probably have to scroll upwards) and search it on Google or post it here.
Click to expand...
Click to collapse
THE BEST PART
If you manage to get something that says "the kernel zImage is ready" or something like that, that means you've made it!
You have officially compiled your own kernel from source! Now you need to put it in a flashable zip.
Download this file and open it up, but DON'T EXTRACT IT.
Now go to your kernel source then "CTRL + F" and search for "zimage-dtb".
Find it and put it in the "kernel" folder of "FalconKernel - Signed.zip". Then "CTRL + F" and search ".ko".
Copy radio-iris-transport.ko and put it in the system/lib/modules (not pronto) of the zip.
Then find wlan.ko and rename it to pronto_wlan.ko. Copy and paste it in system/lib/modules/pronto of the zip.
Click to expand...
Click to collapse
Now you can put it on your phone and flash it!
I will update this in a bit. What feature would you guys want in your kernel? The most votes in the POLL above will be the one I teach you here!
Here I will walk you through on how to add the intelliplug feature made by @faux123
First, fetch my Green Machine kernel source (go into your kernel folder in terminal):
Code:
git fetch https://github.com/YoshiShaPow/green_machine_falcon
Then you could cherry-pick (basically copy) all my cherry picks for intelliplug from my source.
If you do check my source out, you can see there's a little link to a history of commits near the middle of the screen, right above the files/folders. You can see at this page of my features history, you'll see a bunch of commits for intelliplug. I will use those commits and copy it to your own kernel.
This copies the initial coding/first commit of intelliplug!
Code:
git cherry-pick 01a850f
This cherry-picks the remaining commits so that your newly added intelliplug is updated.
Code:
git cherry-pick 6623f2f^..4e1ece7
One more thing though, you need to add the line to compile intelliplug!
Almost all things compiled along with the zImage are in a file called defconfig. What a defconfig does, is tell your machine to build certain modules, kernel objects, drivers, governors, etc.etc.etc.. Now, all of them are found in the folder
arch/arm/configs
Click to expand...
Click to collapse
As stated in the OP, you have to modify the defconfig you use. (CM11 Kernel is falcon_defconfig, Gummy Kernel is msm8226_mmi_defconfig). Open up the corresponding defconfig and add this to ANY line anywhere.
Code:
CONFIG_INTELLI_PLUG=m
Now, for those who are familiar with "y=yes/n=no/m=maybe", you'll see that I specifically told you to put the "m=maybe" one. That's because when you compile the kernel again, right after you're about to start your build. Since you put that "m", the terminal will prompt you with a "y=yes/n=no" question on whether or not you would like to add the following feature. Since you would like to add the feature, put in "y". Later on when you feel more comfortable with adding features to your kernel, you can go back into the defconfig and put it as
Code:
CONFIG_INTELLI_PLUG=y
So that it will compile it without asking, since you have given it an answer.
Now you have officially compiled a "Custom Kernel" and with the knowledge you know, you could create a feature packed one by just kanging (copying one's work/features).
Always remember to
Code:
make clean && make mrproper
after every build to prevent errors and such!
Click to expand...
Click to collapse
I will use this to teach you how to make your own Bash Building scripts (and save time) to make it easier for your development life to flourish... eventually....
Any guide on adding governors or hotplug driver??
Sent from my Moto G using XDA Free mobile app
Best guide but how to add features likes s2w,dt2w etc
Flashhhh said:
Any guide on adding governors or hotplug driver??
Sent from my Moto G using XDA Free mobile app
Click to expand...
Click to collapse
Vote in the poll above! I will make a guide for one or more of the top chosen picks!
Brawn_Sg said:
Best guide but how to add features likes s2w,dt2w etc
Click to expand...
Click to collapse
DT2W and S2W are more complex. They require a few other things (ex. Powersuspend). I'll wait a bit and see what feedback I get before moving forward to something a bit more complex like DT2W, or GPU Overclock.
Can i use make menuconfig?
Krizthian said:
Can i use make menuconfig?
Click to expand...
Click to collapse
Yes you can. Normally when using "make menuconfig", you use the command after making the kernel's defconfig (falcon_defconfig).
Build using Docker
If you're on Linux, take a look at this approach which uses Docker for building CyanogenMod 12.0:
http://forum.xda-developers.com/showthread.php?t=2650345
(Disclaimer: It's written by me)
YoshiShaPow said:
Hi guys, long time no post. I have updated this guide on how to build kernels for Falcon so that anyone can learn! It's pretty simple once you get the hang of it. So yeah, here we go!
WARNING: I am not responsible for any damages to your phone or computer or pet unicorn. When you modify the wrong partitions, set too many jobs for your compiler, break your keyboard out of frustration etc., that is not anyone's fault but yours. Or your pet unicorn.
Now you can put it on your phone and flash it!
Click to expand...
Click to collapse
when i was trying to flash cm12 rom in cwm recovery it says error in zip and getting status 1 error , installation aborted ,
pls help im using moto g gpe and when trying to flash from twrp it says error executing updater binary in zip ,
no idea what to do pls help me out
karthik432 said:
when i was trying to flash cm12 rom in cwm recovery it says error in zip and getting status 1 error , installation aborted ,
pls help im using moto g gpe and when trying to flash from twrp it says error executing updater binary in zip ,
no idea what to do pls help me out
Click to expand...
Click to collapse
When you downloaded the anykernel zip, you aren't supposed to extract it. The best way to put the kernel in the zip is to just drag and drop it while IN LINUX. It will not work for windows! Or you could try signing the zip in TWRP (I think there's an option for that somewhere).
YoshiShaPow said:
When you downloaded the anykernel zip, you aren't supposed to extract it. The best way to put the kernel in the zip is to just drag and drop it while IN LINUX. It will not work for windows! Or you could try signing the zip in TWRP (I think there's an option for that somewhere).
Click to expand...
Click to collapse
im not extracting anything , i just downloaded the official cm12 nightly and flashed but didn't workout ,any ideas
karthik432 said:
im not extracting anything , i just downloaded the official cm12 nightly and flashed but didn't workout ,any ideas
Click to expand...
Click to collapse
That has nothing to do with this thread :silly:. You probably have to sign the zip again.
@YoshiShaPow.... i need some help
i compile a kernel for my device and it booted fine but no display....
can you help me in this....
sorry for posting here..my device is Redmi 1s
Luffy.d said:
@YoshiShaPow.... i need some help
i compile a kernel for my device and it booted fine but no display....
can you help me in this....
sorry for posting here..my device is Redmi 1s
Click to expand...
Click to collapse
No problem, I welcome anyone with kernel development questions here! When booted, what do you mean? And if there's no display, how do you know it booted? Also, did you use my anykernel zip? I may be wrong but I don't think it is compatible with all phones.
YoshiShaPow said:
No problem, I welcome anyone with kernel development questions here! When booted, what do you mean? And if there's no display, how do you know it booted? Also, did you use my anykernel zip? I may be wrong but I don't think it is compatible with all phones.
Click to expand...
Click to collapse
yeah it booted bro....i can hear lock unlock sound and even i can hear incoming call ring
i was trying to fix this from a week and found out it not kernel it rom problem ...
my device is build using prebuilt kernel so any compile kernel wont work...but now they are build with this kernel source so compile kernel work
thanks bro...
and one thing bro... i m new to kernel development so how can i optimize kernel
i know about and can add governors and use custom toolchain but i don't know about o2 or o3 optimization etc and all
sorry if i m being too much
great I start today
Luffy.d said:
yeah it booted bro....i can hear lock unlock sound and even i can hear incoming call ring
i was trying to fix this from a week and found out it not kernel it rom problem ...
my device is build using prebuilt kernel so any compile kernel wont work...but now they are build with this kernel source so compile kernel work
thanks bro...
and one thing bro... i m new to kernel development so how can i optimize kernel
i know about and can add governors and use custom toolchain but i don't know about o2 or o3 optimization etc and all
sorry if i m being too much
Click to expand...
Click to collapse
Those changes are a bit more advanced because it will bring build errors. The kernel is already preoptimized with o2 changes. The errors are fixable though. I don't think I'll be able to add an explanation for those in this thread, maybe through pm?
YoshiShaPow said:
Those changes are a bit more advanced because it will bring build errors. The kernel is already preoptimized with o2 changes. The errors are fixable though. I don't think I'll be able to add an explanation for those in this thread, maybe through pm?
Click to expand...
Click to collapse
thanks bro...will pm you when i finish setuping my git
etvtaglios said:
great I start today
Click to expand...
Click to collapse
Go for it bro!!