This is first try for backporting bfs 313 to tattoo htc kernel 2.6.29.
I have created a boot.img for flashing (see attachment). I test it
and i get from linpack benc 2.34Mf/sec. I don't know any other
bencmark programs to test it.
You can try yourself. Some features may not work:
(wifi is the one - i ll compile the wlan.ko module later
and tattoo-hack.ko needs compile too).
UPDATE
In this later boot image wifi and tattoo-hack.ko modules works.
(Just change compile with make LOCALVERSION=-gf922713).
COMPILE HOW TO
Steps for compile you own kernel 2.6.29 with bfs 313:
Code:
1. Get toolchains from CodeSourcery ([url]http://www.codesourcery.com/gnu_toolchains/arm/download.html[/url])
2. Get kernel source code for tattoo from [url]http://member.america.htc.com/download/RomCode/Source_and_Binaries/click-656120.tar.gz[/url]
3. Deploy toolchains and uncompress kernel source in dir "kernel_msm-htc"
4. Apply the attached patch (in compile_tattoo_htc_with_bfs.zip) :
patch -p1 < htc_tattoo_kernel_2.6.29_apply_bfs_313.patch
5. Decommpress the attached config.gz (in compile_tattoo_htc_with_bfs.zip) in kernel_msm-htc-bfs and rename it as .config:
$ gunzip config.gz
$ mv config .config
6. Run "make LOCALVERSION=-gf922713" and wait the compile to finish.
7. Check zImage is created and the size is nearly same as the official htc kernel
$ ls -l arch/arm/boot/zImage
8. Use zImage to create the boot image you want (read for instructions at other posts).
USING ONLY THE PATCH patch_htc_tattoo_kernel_2.6.29_bfs_313.zip
Code:
If you don't want to use my config (as described in step 5) you must patch
the sources with the patch_htc_tattoo_kernel_2.6.29_bfs_313.zip.
Remember when configuring the kernel (make menuconfig or xconfig)
to say y to:
CONFIG_SCHED_BFS=y
and say n (or not set) to:
other SCHEDS.....
CONFIG_DEBUG_SPINLOCK_SLEEP=n
That's it...
That's for now..
cya
What is bfs 313?
Read here:
http://ck.kolivas.org/patches/bfs/bfs-faq.txt
cya
I read the faq and this could be epic.
How to and patch submitted...see first post...
cya
can't really get it to work
got it working now, had made some mods giving problems with the patch
Could this new kernel improve battery life maybe, like those on N1?
no!
this is a cpu scheduler which sets the priority of the apps (foreground & background)
what u are thinking of is undervolting, at the time im lokking a bit further into that.
i found one thing giving a little better battery, when u use the conservative cpu scaling i found a way to make it change frequency faster, giving a little better battery
ralle.gade said:
got it working now, had made some mods giving problems with the patch
Click to expand...
Click to collapse
Hi,
Please post any mods you make at the forum to test them.
Give back to the community..
thanx
segway
Just backported BFS 316 any one interested?
sureeeeeeee
any of you who knows how to compile the wlan.ko for tattoo??
when i do it the normal way through mydroid/system/wlan/ti/sta_dk_4_0_4_32
it gives me errors
rm -f ./libestadrv.a
make -C /root/Kernel-cooker/kernel_msm-htc-finished M=`pwd` ARCH=arm CROSS_COMPILE=arm-eabi- modules
make[1]: Går til katalog '/root/Kernel-cooker/kernel_msm-htc-finished'
CC [M] /root/mydroid/system/wlan/ti/sta_dk_4_0_4_32/./common/src/core/data_ctrl/Tx/MsduList.o
as: unrecognized option '-EL'
make[2]: *** [/root/mydroid/system/wlan/ti/sta_dk_4_0_4_32/./common/src/core/data_ctrl/Tx/MsduList.o] Fejl 1
make[1]: *** [_module_/root/mydroid/system/wlan/ti/sta_dk_4_0_4_32] Fejl 2
make[1]: Forlader katalog '/root/Kernel-cooker/kernel_msm-htc-finished'
make: *** [libestadrv.a] Fejl 2
what do u use?
forget it i found the problem (again) sry for posting
ralle.gade said:
Just backported BFS 316 any one interested?
Click to expand...
Click to collapse
Please post the patches.....
to test it out.
thnx
they are already attached in ralle.gade's first post dude
TheSSJ said:
they are already attached in ralle.gade's first post dude
Click to expand...
Click to collapse
read my friend ... the first post is mine ;P
I want the patch for bfs-316...
cya
segway_
Okay, it seems I became too old now
Sorry segway_, didn't want to give your achievements to someone else ^^
TheSSJ said:
Okay, it seems I became too old now
Sorry segway_, didn't want to give your achievements to someone else ^^
Click to expand...
Click to collapse
I don't care about that. All the credits must go to kolivas.
But the basic idea is to take and give back to the opensource
community..... so still waiting for the bfs-316 patches...
segway
i can give you the files but dunno how to make it to a patch
Related
here it is, the BFS 316 scheduler patch
first i would like to say thanks to segway for posting the first backport (313) couldn't have done it without
then i want to say thanks to Coburn for adopting me into the Tattoo's world and letting me work with him
how to use it:
1. Get toolchains from CodeSourcery (http://www.codesourcery.com/sgpp/lite/arm)
2. Get kernel source code for tattoo from http://member.america.htc.com/downlo...-656120.tar.gz
3. Deploy toolchains and uncompress kernel source in dir "kernel_msm-htc"
4. Apply the attached patch
patch -p1 < BFS-316.patch
5. make ARCH=arm SUBARCH=arm CROSS_COMPILE=arm-eabi- msm7225_defconfig
(this will make the .config file)
6. make ARCH=arm SUBARCH=arm CROSS_COMPILE=arm-eabi- menuconfig
(this will let you configure the .config in the kernel, do only touch this if you have some idea of what you are doing!)
7. make -j 4 ARCH=arm SUBARCH=arm CROSS_COMPILE=arm-eabi-
(this will compile the kernel)
i will try to answer any questions as good as i can
and i will welcome anything else you would like to see in the future, just post some comments folks ;D
ps new patch is up, this one is working!
reserved for the future
Great.
But, for what can this be used?
Hi ralle.gade,
Great work. But you missed the most important file kernel/sched_bfs.c, dude.
I was very impressed on bfs-patched kernel running smoothly on our Tattoo. And I will try to patch my custom kernel with your patch if 'adb shell cmd' works normally, which couldn't work with segway's 313 patch. Would you mind?
EDIT:
'adb shell cmd' runs abnormally as segway's 313 patch, just a little pity.
Seems something cool!!
But i dont know whats this and what are the benefits of this...
Please help..
the new patch is up, this time everything should work!
could i get the d-info so i can try look at the problems with "adb shell cmd"
Hello, I'm interesed if there's a possibility to update Tattoo's kernel? Is the source code for kernel modules available?
NForce25 said:
Hello, I'm interesed if there's a possibility to update Tattoo's kernel? Is the source code for kernel modules available?
Click to expand...
Click to collapse
i'm sorry bro! but the ****s at HTC can't get their ass up of the chair, meaning there's only the 2.6.29 kernel available from their site.
that doesn't mean we can't get a new version, at the time I'm working on getting 2.6.32 to work for the tattoo (but it's a pain in the ass when i don't even have a tattoo) :'(
But theoretically we could just apply HTC patches on a vanilla 2.6.33 kernel and get it working, couldn't we?
htc patches??? they don't release patches they only release the whole kernel but yes u can! that's what i'm doing right now
I didn't mean they release patches, but they add some to vanilla kernel for sure Thanks for the info, if you get success, please upload your patches so we can try to compile zen-kernel, git-kernel and so on
this is what htc added on top of the vanilla Linux 2.6.29 kernel
i made it into a patch, and by the way you can get a hard time opening it with a text editor as it is VERY BIG! cheers
Thanks. By the way, which encoding is the file? I cannot open it as utf8, and my text editor complains that it can't autodetect the encoding Anyway, i can't see any broken characters with utf8
i'm using ultraediter to open it, my normal text editer (gedit) compalins 2, but i just think it's because of the size and the amount of text! dude it's huge!
Oh, my bad, i was opening txt from zip archive. I unziped it and my KWrite opens it fast and smooth with utf8 now Going to try patching vanilla 2.6.29
good
please reply, and tell me if it works well
Ohai, everypwny!Wanna impress your girlfriend without spending any money? Show her your love through compiling her your own O2X stock kernel!
Requirements: A PC capable of running a virtual Linux machine -- if your PC isn't much older than 5-6 years there shouldn't be a problem. Just make sure you have enough RAM (at least 1,5 - 2 GB recommended) -- no programming - or special linux knowledge required!
## Info: The VMWare image has been created by Jonas Hendrickx for XDA (I just altered/modified it for my needs).
5 simple steps to success: -- EVERYONE can do that!
Download and install Vmware Player (Freeware): http://www.vmware.com/go/get-player (VirtualBox will work too if you like this app better)
Download the file "guestekrnL_doItYourself_developer.rar" (http://guendhoer.com:9000/guestekrnL_doItYourself_developer.rar or https://docs.google.com/open?id=0B5HJ_FpcC9ymM3ZCS0l5RFJtZnc , 1.5GB) and unpack it (using WinRar or 7Zip or...) to any folder of your choice, and afterwards double-click the file "Android Developer.vmx" -- or alternatively open VMware Player first and then import the virtual machine located in the unpacked .rar contents
Click "I copied it" and wait until virtual machine starts up, login with password "root"
Open folder "kernel_source" (on Desktop), double-click file "buildkernel" and click "run in terminal"
Wait until terminal window closes, and start using your new kernel located in folder Desktop/kernel_source/guestekrnL_BUILDS
After this an exact copy of current guestekrnL "SR99R100.1PI.1337-GoodBye" has been built and packaged to a flashable CWM-Zip.
Possible things you can easily change yourself for making your own different/improved kernel versions:
Use a different compilation toolchain
(p.ex. http://releases.linaro.org/<choose a release version>/components/android/toolchain/<choose a gcc version>/)
download the file "android-toolchain-eabi-linaro-..." and replace the folder "android-toolchain-eabi" on Desktop of virtual machine with the unpacked content of the downloaded file
There are many different builds of linaro toolchains available, resulting in different smoothness, battery life and stability of the built kernel. Important:
[*]After toolchain change you have to edit the file "buildkernel" (rightclick -> open with gedit) and change the gcc version number to the one of your new toolchain (you find it here: Desktop/android-toolchain-eabi/lib/gcc/arm-eabi/<gcc version number>), save the file afterwards
Attention: if you switch to a toolchain newer than september 2011, you MUST change
# CONFIG_ALLOW_CPU_ALIGNMENT is not set
Click to expand...
Click to collapse
to
CONFIG_ALLOW_CPU_ALIGNMENT=y
Click to expand...
Click to collapse
in file Desktop/kernel_source/arch/arm/configs/gueste_defconfig -- otherwise kernel won't boot!
Only use toolchains with a number up to "4.6" in name, the newer ones ("4.7") are for ICS and not Gingerbread!
NOT every new toolchain will work with O2X stock kernels -> p.ex. 4.6.4 might not work while 4.6.2 works. Every toolchain older or equal to september 2011 should work BUT maybe you will have to remove some of the build flags not recognized by the older chain.
Always check Desktop/kernel_source/guestekrnL_BUILDS/build.log for errors after you made a new kernel build, especially at the bottom of the file. (Warnings don't matter.)
Use a different version-name for the built kernel
right-click file "buildkernel" in kernel_source folder -> open with gedit -> change kernelVersion there
Use a different general name for the built kernel (other than "guestekrnL")
double-click file "Makefile" in kernel_source folder -> click "Display" -> change kernel name there (change ".9-guestekrnL" to ".9-<yourKernelName>")
Attention: the Android app GuesteOC won't work if it doesn't find the String "guestekrnL" in kernel name! You then have to use the function-reduced version of the OC app by TrymHansen available for all kernels!
Use different build optimization flags
double-click file "Makefile" in kernel_source folder -> click "Display" -> search "CFLAGS_GUESTE" -> edit the build flags there
you find a good overview + explainations of available build flags here http://gcc.gnu.org/onlinedocs/gcc-4.5.3/gcc/Optimize-Options.html
and an interesting article on which flags the toolchain guys use here: http://www.linaro.org/linaro-blog/2...aro-android-2011-10-and-future-optimizations/
it is completely up to YOU which flags to use and not to use!
Stock standard would be:
CFLAGS_GUESTE = -O2
Click to expand...
Click to collapse
while the flags of current guestekrnL are:
CFLAGS_GUESTE = -O3 -ffast-math \
-mtune=cortex-a9 -march=armv7-a \
-mfloat-abi=softfp -mfpu=vfpv3-d16 \
-fsingle-precision-constant -fgraphite-identity \
-ftree-loop-distribution -ftree-loop-linear \
-floop-interchange -floop-strip-mine -floop-block \
-fmodulo-sched -fmodulo-sched-allow-regmoves \
-fno-inline-functions
Click to expand...
Click to collapse
if you have many flags like above, make line-breaks using slashes like above and only put 2-3 flags in one line!
Use different basic kernel configuration values
open folder "kernel_source", click the search-icon, search for "gueste"
edit the 2 files "guestekrnl.c" and "guestekrnl.h" of the result set according to your needs
guestekrnl.c and guestekrnl.h contain many default voltage/speed/... values, you can change them easily there
if you change MAX_OVERCLOCK to a higher value, you might need to change MAX_VOLTAGE as well and have to alter the whole cpu voltage and frequency table (see next point)
Help & explainations here: http://forum.xda-developers.com/showpost.php?p=26696158&postcount=25
Change CPU scaling voltages and speed steps
Edit the file Desktop/kernel_source/arch/arm/mach-tegra/nvrm/core/common/nvrm_clocks_limits.c and alter the two arrays "FakeShmooVoltages[]" and "FakepScaledCpuLimits"
the difference from one voltage step to another one needs to be lower or equal than 100mV;; too low voltages for a step results in freezes !!
the values for MAX_VOLTAGE and MAX_OVERCLOCK are located in file guestekrnL.h!
Help & explainations here: http://forum.xda-developers.com/showpost.php?p=26696158&postcount=25
Example of creating a kernel overclockable to 1.5 GHz: http://forum.xda-developers.com/showpost.php?p=26759653&postcount=58
Enable/Disable kernel features you want to use or don't want to use
open folder "kernel_source", click the search-icon, search for "gueste", edit the file "gueste_defconfig" according to your needs
"<featureName>=y" means the feature is enabled
"#<featureName> is not set" means the feature is disabled
Google for more information about what the different kernel features do, just past the kernel feature name in Google and you will find a description for most of them
Change the text shown to user on CWM installation of kernel
Edit the file Desktop/kernel_source/zipstructure/META-INF/com/google/android/updater-script according to your needs
If you are completely bad-ass you can also compile the compilation toolchain from the official sources yourself instead of using a prebuilt one (even if the prebuilt ones tend to be much more stable than the self-compiled ones)
Useful & important additional tipps/hints: Check this out
Info: If you ever stop the compilation progress before finishing, you have to edit the file "Makefile" in kernel folder and remove the version number from the version string (so only .9-guestekrnL should remain), otherwise you will have double version number in next kernel build.
Start being a kernel developer for XDA right now, today!
Advantages:
- U can impress many users by presenting them your hard work
- You will be acknowledged
- You will be able to easily express your creativity to the world wide web
- And much much more ,,, Sign up today! Oh, wait, no signup needed
If you think you have created an extremely good version of guestekrnL or maybe a completely new kernel, think about posting it here in the thread (I will link the posted kernels here in first posting) or open your own thread for your new kernel, it is up to you
As always I'm not responsible for any harm you might do to your system
Wanna build other stock sources than the ones of guestekrnL? Check this out
Awesome, Stefan!
Downloading...
Yeehhaawwwww!!! This is what im searching for.. thank you very very very much..
Edit: You need to edit your post.. looks unorganized.. quite difficult to read..
Sent from my LG-P990 using XDA
ghadap said:
Yeehhaawwwww!!! This is what im searching for.. thank you very very very much..
Edit: You need to edit your post.. looks unorganized.. quite difficult to read..
Sent from my LG-P990 using XDA
Click to expand...
Click to collapse
Thx I restructured a bit
Great work!
sent from my wii remote
You are great, thx!!!
Hy Stefan,
thx a lot
Herzlichen Dank
Craxx
Direct download Link from my own FTP server coming soon, because some users might have problems with download of the 1.5GB .rar from current mirror
Stefan Gündhör said:
Ohai, everypwny!Wanna impress your girlfriend without spending money? Show her your love through compiling her your own O2X stock kernel!
Click to expand...
Click to collapse
LOL..! I can't think of any more evil scheme that this . Great work, Stefan..!
OH, on afterthoughts, a better thing that serves the purpose would be "How to build a theme..."
Yes Stefan, i have tried 3 times and download stops after around 300 MB, so i wait for direct download link
This is so awesome! Thanks alot!
Sent from my LG-P990 using Tapatalk
Great initiative Stefan. Download stops at ~300MB for me as well, looking forward to trying it.
Are the guestekrnl-scripts included in the finished kernel installer? (Just wondering if GuesteOC will work out of the box.)
TrymHansen said:
Great initiative Stefan. Download stops at ~300MB for me as well, looking forward to trying it.
Are the guestekrnl-scripts included in the finished kernel installer? (Just wondering if GuesteOC will work out of the box.)
Click to expand...
Click to collapse
Yeah I'm just uploading to a new FTP mirror, will take about 2 more hours I guess!
And yeah, the exact zipstructure of current guestekrnL release will be built automatically, including GuesteOC v2.1.5 + Myrt UV GUI, all working out of the box!
(In fact the most actual guestekrnL release was built exactly the way I describe it in first posting: I ran the virtual machine and double-clicked/ran the buildkernel-script. That's it.)
great tutorial Stefan...made it look very simple....NOTHING IS IMPOSSIBLE IN THIS WORLD..I am going to try doing it myself Stefan...as they say...the modern world is a place where a butcher can become a goldsmith, a carpenter can be a captain of the ship and a cleaner can be a pilot....
Thanks for the make urself tool kit mate.I am sure that we will find a lot of Kernels floating in this forum....
just a matter how many are good like urs or temaseks or vadonkas or so many others....time will tell that...have to wait to see that.
I appreciate the hard work put by you to make it so simple for starters and noobs morons like me to understand.
THANKS THANKS THANKS a million.I really mean it truthfully my friend
Stefan, will your tutorial works with original source (eg, V20q) and others (eg, spica HP)? and which file/folder to make our kernel support ext4?
My idea was using stock kernel but add ext4..
Downloading with FF stopped at 500MB, but with Free Download Manager, I could download it without problems.
The sources are very cool. Playing a bit around with them...
ghadap said:
Stefan, will your tutorial works with original source (eg, V20q) and others (eg, spica HP)? and which file/folder to make our kernel support ext4?
My idea was using stock kernel but add ext4..
Click to expand...
Click to collapse
Example of building unchanged stock kernel and only add ext4 compatibility:
start the kernelBuilder,
delete all folders located in Desktop/kernel_source except the folders "guestekrnl_BUILDS" and "zipstructure"
delete all files located in Desktop/kernel_source except the file "buildkernel"
edit the file "buildkernel" (rightClick-> open with gEdit) and change line
make ARCH=arm gueste${1}_defconfig;
Click to expand...
Click to collapse
to
make ARCH=arm star_ifx${1}_defconfig;
Click to expand...
Click to collapse
if you use v20 sources or to
make ARCH=arm star_rev_f_android${1}_defconfig;
Click to expand...
Click to collapse
if you use v10 sources
Download the official kernel sources you want from http://www.lg.com/global/support/opensource/opensource-detail.jsp?detailCustomerModelCode=LGP990
Extract the sources until you get a folder kalled "kernel"
copy the contents from inside "kernel" folder to Desktop/kernel_source
edit file Desktop/kernel_source/drivers/net/wireless/bcm4329/Makefile -> change line
-Wall -Wstrict-prototypes -Werror \
Click to expand...
Click to collapse
to
-Wall -Wstrict-prototypes \
Click to expand...
Click to collapse
edit file Desktop/kernel_source/arch/arm/configs/star_ifx_defconfig (or star_rev_f_android_defconfig): enable ext4 through replacing ext4 config (search for it in the file) with following:
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_XATTR=y
# CONFIG_EXT4_FS_POSIX_ACL is not set
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
Click to expand...
Click to collapse
run the buildkernel script, kernel will be built
Attention: don't use linaro/gcc toolchain newer than september 2011, otherwise kernel won't boot without additional modifications (the included default toolchain will work fine)
For every other stock kernel sources (in order to compile & zip-package them using kernelBuilder) the procedure should work similar!
Spica horsepower kernel however won't work that way, because spica does not upload his defconfig to his sources @GitHub (thus making rebuilding more difficult).
And default defconfig of stock kernel won't work with spica kernel. (Without the right defconfig the kernel does not boot.)
Older spica kernels (older than SR3) completely won't work and can't be rebuilt because spica never offered full sources @GitHub until SR3.
So in order to get a current spica kernel source working, you have to additionally
install the kernel you want to rebuild first on your phone and then
copy the file /proc/config.gz first to your internal SD and then to your PC,
unpack it and then rename the file you get to "spica_defconfig" and
place it in Desktop/kernel_source/arch/arm/configs/
finally edit the buildkernel file again so you have
make ARCH=arm spica${1}_defconfig;
Click to expand...
Click to collapse
in there!
In order to see the differences of guestekrnL compared to stock kernel, Download Meld Diff Viewer in App Store of virtual linux machine and make a folder-comparison of folder Desktop/kernel_source and a folder where you keep unchanged v10E kernel sources!
New direct download mirrors online! (Thx to cojo & myself ) Please report if the .rar files are error-free thx!
Additional tipps/hints:
change your keyboard layout to the one of your language/country (right-click top right most left icon and choose "change keyboard layout")
use versioning! :
double-click "Terminal" on desktop
enter "sudo apt-get install git-core git-gui" (internet connection is required)
enter the password ("root") , confirm installation, after install exit the window
enter "cd Desktop/kernel_source"
enter "git init"
enter "git add ./"
enter "git commit -a" then enter "first commit" & save & exit (the keyboard combinations for this are shown)
enter "git gui" and in first menu click "visualize master's history" -> you will see all commits and changes you made in each commit there
everytime you have made a few changes to the kernel, run "git commit -a" again (and if you add new file git add ./), so a new commit will be added to the commit history and you can see all changes there
use a diff viewer (Meld Diff Viewer of virtual machine linux software repository) for comparing guestekrnL sources with unchanged v10E stock kernel sources, so you can understand custom kernel making better! -- you can find orig sources here http://www.lg.com/global/support/opensource/opensource-detail.jsp?detailCustomerModelCode=LGP990 , download the v10E archive and unpack until you get a folder called "kernel", make a folder-comparison with Meld Diff Viewer afterwards!
Just take your time, begin with only compiling the kernel without changes (and try if it boots) and then slowly change more and more stuff, don't change too many things at once, always compile&try the kernel between more changes.
Learn by viewing the commits other developers make for their kernels, but pay attention that some commits might not be complete or incompatible with your kernel! Some commits of CM7 kernels can be useful, but not all will be compatible. When I started I learned much by just reading the commits of ironkrnL, from this commit page upwards: https://github.com/SetiroN/lge-kernel-star/commits/v2?page=5 (only the things "SetIron" directly commited) -- Please note that my own git repo is a mess, as I don't split up changes to single commits, I just make a commit for all changes a new kernel version has, so my repo won't help u much in learning
Always check Desktop/kernel_source/guestekrnL_BUILDS/build.log for errors after you made a new kernel build, especially at the bottom of the file. (Warnings don't matter.)
Stefan Gündhör said:
New direct download mirrors online! (Thx to cojo & myself ) Please report if the .rar files are error-free thx!
Click to expand...
Click to collapse
Downloaded from Google Docs and unpacked without incident. Now compiling under VirtualBox, which also worked without any modification.
...and as I was writing this it finished. Whole compilation job took less than 2 mins on a 4-core VM. ;-)
So I compiled franco's kernel with his sources at github with incoming call fix from CM with other improvements. All Credit goes to franciscofranco who was so kind to compile this kernel even-though he has other devices, and also other developers for all these patches included in the kernel.
I decide what I want not you. No means no, if you ask me to add *insert feature here* IF I consider it useless etc etc
Also one thing to note that it doesn't have :
* (Since franco didnt release his sources for it)
Doubled busses frequencies - system will go faster but you'll possible lose some overclocking capabilities. Busses frequency OC > cpu OC.
* Your megaduper governors (people failed to realise that tuned stock governors(or they can tune them themselves) have almost same performance with smartass etc)
Click to expand...
Click to collapse
Changelog - other changes are in my source
#12 http://www.mediafire.com/?vdm3xs1hdjuh7ju
- revert "conservative from 3.2 kernel", use .38 kernel version instead (works correctly now)
- revert back to .35 cpuidle
- use latest linaro toolchain for fun and testing
Click to expand...
Click to collapse
Sources:https://bitbucket.org/cresqo/2.6.35.10-p500
Cresqo said:
So I compiled franco's kernel with his sources at github with incoming call fix from CM. Also one thing to note that it doesn't have :
If all goes well I'll update the kernel with camera flicker bug fix, 652, 672, 691, 710 cpu frequencies, recent LCD patch and maybe the bluetooth sleep bug fix
So here's the link: http://www.mediafire.com/?zi2k8yp7ilvpibc
I need tests on this. (camera and incoming calls)
Also white noise is back as expected.
Click to expand...
Click to collapse
Well done!
Sent from my LG-P500 using xda premium
Just updated the kernel with latest linaro toolchain and other things
Great job!
Why not move it to the Development section if you are planning on improving this kernel?
Sent from my LG-P500 using xda premium
RockR172 said:
Great job!
Why not move it to the Development section if you are planning on improving this kernel?
Sent from my LG-P500 using xda premium
Click to expand...
Click to collapse
Well once I figure out how the heck do I use git (need help here)
Btw, this kernel with fix feels a bit faster than franco #3, but I don't think is nowhere near the speed of #4
nice, but why not compiled franco's kernel #4 ? why #3 ?
Edit: did u added Added tun.ko and cifs.ko ?
GonDr said:
nice, but why not compiled franco's kernel #4 ? why #3 ?
Edit: did u added Added tun.ko and cifs.ko ?
Click to expand...
Click to collapse
There are no sources for #4...
Sent from my LG-P500 using xda premium
Cresqo said:
Well once I figure out how the heck do I use git (need help here)
Btw, this kernel with fix feels a bit faster than franco #3, but I don't think is nowhere near the speed of #4
Click to expand...
Click to collapse
What kind of help do you need?
GonDr said:
nice, but why not compiled franco's kernel #4 ? why #3 ?
Edit: did u added Added tun.ko and cifs.ko ?
Click to expand...
Click to collapse
Added I guess, idk if working
DJNoXD said:
What kind of help do you need?
Click to expand...
Click to collapse
It sounds like a noob question, but how do you add alot of files as once and commit them, do I have to manually do it or do I need to use a git GUI like git-cola?
Cresqo said:
It sounds like a noob question, but how do you add alot of files as once and commit them, do I have to manually do it or do I need to use a git GUI like git-cola?
Click to expand...
Click to collapse
I did not find a gui (for linux) that I like. Therefor I only use the console git.
Adding all filles at once:
Code:
git add .
Commit all changed / modified / added files at onces:
Code:
git commit -a
Commit all changed / modified / added files at onces and set commit message (no editor opens).
Code:
git commit -a -m "my commit message"
Cresqo said:
So I compiled franco's kernel with his sources at github with incoming call fix from CM with other improvements. All Credit goes to franciscofranco who was so kind to compile this kernel even-though he has other devices. Also one thing to note that it doesn't have :
Click to expand...
Click to collapse
Dear Cresqo,
Please go thru following link it may be helpful to extract .config file from Franco kernel #4
Link:
http://droid-force.com/archive/index.php/thread-184.html
This what the thread says:
There is a simpler way to get the basic .config file, and this is to get it from a running kernel built by someone else. You can extract the .config from a running kernel with these commands:
Code:
cd ~/android/kernel/bravo_2.6.35_gb-mr
adb pull /proc/config.gz
zcat config.gz > .config
Now we can open menuconfig and add anything we need in addition.
Note: I think "bravo_2.6.35_gb-mr" is the working folder \ Home directory on PC
Cresqo said:
compiled with latest GCC 4.7.1 Linaro toolchain
Click to expand...
Click to collapse
Do you notice any advantages compiling kernel by using linaro toolchain?
Kanad said:
Dear Cresqo,
Please go thru following link it may be helpful to extract .config file from Franco kernel #4
Link:
http://droid-force.com/archive/index.php/thread-184.html
This what the thread says:
There is a simpler way to get the basic .config file, and this is to get it from a running kernel built by someone else. You can extract the .config from a running kernel with these commands:
Code:
cd ~/android/kernel/bravo_2.6.35_gb-mr
adb pull /proc/config.gz
zcat config.gz > .config
Now we can open menuconfig and add anything we need in addition.
Note: I think "bravo_2.6.35_gb-mr" is the working folder \ Home directory on PC
Click to expand...
Click to collapse
Honestly I don't think it will work and my .config is quite OK actually...so the only way is to ask Franco for it since he didn't enable the option for the config to be in config.gz
DJNoXD said:
Do you notice any advantages compiling kernel by using linaro toolchain?
Click to expand...
Click to collapse
Hmm, tough question, maybe a little smooth, maybe, but i'll revert as soon as there is any bug associated with it (didn't encounter static sound bug so far, perhaps it's due to compiling the ROM with linaro toolchain)
Btw i'm uploading my sources to bitbucket(though all changes are not visible as i've already modified the files and i'm lazy and don't have that much time to do it again...)
Cresqo said:
Btw i'm uploading my sources to bitbucket(though all changes are not visible as i've already modified the files and i'm lazy and don't have that much time to do it again...)
Click to expand...
Click to collapse
I'm curious about to see your sources.
DJNoXD said:
I'm curious about to see your sources.
Click to expand...
Click to collapse
My sources: https://bitbucket.org/cresqo/2.6.35.10-p500
Though the commits are wrong(was messed up with an earlier source from last time)
Cresqo said:
My sources: https://bitbucket.org/cresqo/2.6.35.10-p500
Though the commits are wrong(was messed up with an earlier source from last time)
Click to expand...
Click to collapse
Is your repo private?
DJNoXD said:
Is your repo private?
Click to expand...
Click to collapse
Oops sorry didn't know I enabled the option, just disabled it.
You have added lots of temp files, which (I think) you don't wont to upload (e.g. all *.o files).
Add a gitignore file to your repo and those files will be ignored.
DJNoXD said:
You have added lots of temp files, which (I think) you don't wont to upload (e.g. all *.o files).
Add a gitignore file to your repo and those files will be ignored.
Click to expand...
Click to collapse
Eh...gitignore file is gone...will recommit it again
Sorry Cresqo, i haven't repplied your PM cause i had exams... now two biggest exams now is gone! I've finished it! Now I can do everythings i want: learn C, C++, play badminton , play games, compile ROM or kernel ...
Love Tyn!
hi.
i would like to get some information about how to compile frandom module for my kernel.
here is the wiki... https://github.com/pier11/kernel_hu...-packing-the-kernel-into-a-flashable-boot.img
and git https://github.com/pier11/kernel_huawei_u8220
so which command i should use ? (i ve been told ---> CONFIG_*=m)
and when ?
i have the frandom kernel module tarball. dl it here= http://billauer.co.il/frandom.html
do i have to extract it? in which directory?
thank you very much...
desalesouche said:
hi.
i would like to get some information about how to compile frandom module for my kernel.
here is the wiki... https://github.com/pier11/kernel_hu...-packing-the-kernel-into-a-flashable-boot.img
and git https://github.com/pier11/kernel_huawei_u8220
so which command i should use ? (i ve been told ---> CONFIG_*=m)
and when ?
i have the frandom kernel module tarball. dl it here= http://billauer.co.il/frandom.html
do i have to extract it? in which directory?
thank you very much...
Click to expand...
Click to collapse
as there is no teachers(for the moment) in that "university", i had to "harass" some regonized people from xda...(sorry for that)
and they kindly try to help me...
i had this kind of answer which i could do : i think that the following is to build the module included in the kernel..
Download Makefile, Kconfig, and frandom.c and put all three in your downloaded kernel source (drivers/char directory) overwriting any existing file.
this part is done...
but how to do that ? add FRANDOM=m to the kernel .config file ? and where is located that file?
2 minutes of googling suggests you take a look at these:
http://forum.xda-developers.com/showthread.php?t=1236576
http://yatsec.blogspot.co.uk/2011/01/guide-to-compiling-custom-kernel.html
pulser_g2 said:
2 minutes of googling suggests you take a look at these:
http://forum.xda-developers.com/showthread.php?t=1236576
http://yatsec.blogspot.co.uk/2011/01/guide-to-compiling-custom-kernel.html
Click to expand...
Click to collapse
i have been googling far much more than 2 minutes and i already found these threads...but couldn't manage...
by egg with this one ...which contains error... http://yatsec.blogspot.co.uk/2011/01...om-kernel.html
PREPARING YOUR KERNEL SOURCE
First we must retrieve and copy the kernel config from our device.
Code:
$ cd /path/to/android-sdk/tools ----->ok
$ ./adk pull /proc/config.gz ----->not good! you have to make first $ adb devices in terminal....then $ adb pull /proc/config.gz
$ gunzip ./config.gz ----->ok
$ cp config /path/to/kernel/.config not working! ----> cp: cannot create regular file /path/to/kernel/.config : No such file or directory....
so what to do now?
how to solve this please? i will keep on googling to try to find out solution...any help is welcome
thank you
when i will finish my little project , i think that other people would benefit from that... i might make a how to .
for information ,i have been setting ubuntu 12.10 64 bits from this thread ---->http://soupdawg.wordpress.com/2012/...-for-building-android-jellybean-all-variants/
new link : http://nathanpfry.com/2014/02/07/how-to-prepare-ubuntu-14-04-lts-trusty-tahr-to-compile-android-roms
Re: [Q] Compiling frandom module for kernel 2.6.32.9
desalesouche said:
i have been googling far much more than 2 minutes and i already found these threads...but couldn't manage...
by egg with this one ...which contains error... http://yatsec.blogspot.co.uk/2011/01...om-kernel.html
PREPARING YOUR KERNEL SOURCE
First we must retrieve and copy the kernel config from our device.
Code:
$ cd /path/to/android-sdk/tools ----->ok
$ ./adk pull /proc/config.gz ----->not good! you have to make first $ adb devices in terminal....then $ adb pull /proc/config.gz
$ gunzip ./config.gz ----->ok
$ cp config /path/to/kernel/.config not working! ----> cp: cannot create regular file /path/to/kernel/.config : No such file or directory....
so what to do now?
how to solve this please? i will keep on googling to try to find out solution...any help is welcome
thank you
when i will finish my little project , i think that other people would benefit from that... i might make a how to .
for information ,i have been setting ubuntu 12.10 64 bits from this thread ---->http://soupdawg.wordpress.com/2012/...-for-building-android-jellybean-all-variants/
Click to expand...
Click to collapse
That's because you are meant to put in the path to your kernel, rather than literally /path/to/kernel...
@OP
I know you sent me a PM, but it's better if I reply here.
THIS is what did it for me. Of course my goal wasn't achieved as the extraversion bit was wrong. The X8 is a tricky device.
And make sure to go through the whole thread first.
And also try to use the arm-eabi toolchain from CM as that one throws the least errors.
sgt. meow
hi all. i manage to compile the module thanks to Blechd0se http://forum.xda-developers.com/member.php?u=4855459 i will soon edit the working how to kindly provided by him.
i thank all people who have been providing help and advices... and XDA
here are the change provided by bledchOse to be able to compile the frandom module for my kernel. and little how to
1---> https://github.com/pier11/kernel_hu...-packing-the-kernel-into-a-flashable-boot.img
2---> https://github.com/desalesouche/kernel_huawei_u8220
make the change in kernel before to build it ( change are in green)
3---> https://github.com/desalesouche/jordan-kernel/commit/52e4f2d00b2ea11e3643adb4c4235bdda7a87b5b
4---> Originally Posted by Blechd0se
" change CONFIG_FRANDOM=y to CONFIG_FRANDOM=m, it make you a nice and shiny *.ko file.
And if you already compiled your kernel its inside the kernel, no need to compile another module which does exactly the same and you can instead push your kernel to your device "
5 build the kernel and or module and finish to follow explanation of link 1...
you will find the frandom .ko under drivers/char/frandom/ where your kernel is located... copy it under system/lib/modules/ in your rom zip.
you will need a script to make it load:be activated at boot
Et voilà!!!
It's funny because it is true.....
pulser_g2 said:
2 minutes of googling suggests you take a look at these:
http://forum.xda-developers.com/showthread.php?t=1236576
http://yatsec.blogspot.co.uk/2011/01/guide-to-compiling-custom-kernel.html
Click to expand...
Click to collapse
Had been researching kernel mods came across frandom, googled "frandom module".... Your post was number 2 result.... your first link was my answer.... I win! 5 seconds googling!!! Thank you sir!
Hi. i have tried to compile cm11 kernel by using kernel source from http://github.com/cm-nokia-x2 and gcc toolchain 4.8 from here http://github.com/huyparody/gcc_linaro
i get config.gz from /proc/
and renamed it to ara_defconfig
and when i:
make ara_defconfig
make
after a few minute, it show me a error:
CC drivers/input/touchscreen/cyttsp4_device_access.o
drivers/input/touchscreen/cyttsp4_device_access.c: In function 'cyttsp4_grpdata_store_touch_params':
drivers/input/touchscreen/cyttsp4_device_access.c:1447:19: warning: 'rc3' may be used uninitialized in this function [-Wuninitialized]
error, forbidden warning: cyttsp4_device_access.c:1447
make[3]: *** [drivers/input/touchscreen/cyttsp4_device_access.o] Error 1
make[2]: *** [drivers/input/touchscreen] Error 2
make[1]: *** [drivers/input] Error 2
make: *** [drivers] Error 2
[email protected]:~/android/kernel/nokia/msm8610$
Click to expand...
Click to collapse
how to solve it!! thanks much
kaotd99 said:
how to solve it!! thanks much
Click to expand...
Click to collapse
Hello,
Use toolchain from CyanogenMod prebuilt repo, here is link: github.com/CyanogenMod/android_prebuilt/tree/cm-11.0/linux-x86/toolchain/arm-eabi-4.4.3
You also don't need to copy config from /proc, it is included in source at arch/arm/configs/msm8610-nokia-defconfig.
zombah said:
Hello,
Use toolchain from CyanogenMod prebuilt repo, here is link: github.com/CyanogenMod/android_prebuilt/tree/cm-11.0/linux-x86/toolchain/arm-eabi-4.4.3
You also don't need to copy config from /proc, it is included in source at arch/arm/configs/msm8610-nokia-defconfig.
Click to expand...
Click to collapse
thanks dev
oh god... i got new error:
i type:
export PATH=/home/kaotd/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
and:
[email protected]:/home/kaotd/android/kernel/nokia/msm8610# make msm8610-nokia_defconfig
#
# configuration written to .config
#
[email protected]:/home/kaotd/android/kernel/nokia/msm8610# make
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CC kernel/bounds.s
kernel/bounds.c:1: error: bad value (cortex-a7) for -mtune= switch
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2
[email protected]:/home/kaotd/android/kernel/nokia/msm8610#
Click to expand...
Click to collapse
can you help me ? thanks.... because im a newbie and sorry about that
kaotd99 said:
can you help me ? thanks.... because im a newbie and sorry about that
Click to expand...
Click to collapse
Hello,
Ahh yep, i forgot switch to memcpy optimizations, here is correct link to newer toolchain android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7
zombah said:
Hello,
Ahh yep, i forgot switch to memcpy optimizations, here is correct link to newer toolchain android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7
Click to expand...
Click to collapse
thanks.. i will try and report to you later!! thanks again
@zombah hi again. i was compiled a kernel( zImage )
now i have "Kernel: arch/arm/boot/zImage is ready"
so how can i compare it with boot.img ?
Hello,
If you wont use inline kernel building inside CyanogenMod, you probably need to unpack boot.img content replace kernel and then pack boot.img again with replaced kernel. Remember that it is dangerous if your kernel is not bootable, you'll stuck to recovery only boot and if your recovery also lost only unbricking will help.
Use CyanogenMod mkbootimg.c/unpackbootimg.c for that, here is repo github.com/CyanogenMod/android_system_core/tree/cm-11.0/mkbootimg
Here is how to compile them separatly of whole system:
Code:
gcc -o mkbootimg mkbootimg.c ../libmincrypt/sha.c -I../include
gcc -o unpackbootimg unpackbootimg.c ../libmincrypt/sha.c -I../include
you'll need to download dependencies also.
zombah said:
Hello,
If you wont use inline kernel building inside CyanogenMod, you probably need to unpack boot.img content replace kernel and then pack boot.img again with replaced kernel. Remember that it is dangerous if your kernel is not bootable, you'll stuck to recovery only boot and if your recovery also lost only unbricking will help.
Use CyanogenMod mkbootimg.c/unpackbootimg.c for that, here is repo github.com/CyanogenMod/android_system_core/tree/cm-11.0/mkbootimg
Here is how to compile them separatly of whole system:
Code:
gcc -o mkbootimg mkbootimg.c ../libmincrypt/sha.c -I../include
gcc -o unpackbootimg unpackbootimg.c ../libmincrypt/sha.c -I../include
you'll need to download dependencies also.
Click to expand...
Click to collapse
thanks much
can you tell me which file contain OverClock number of nokia x2 ? and which kernelPatch i can apply with this kernel ?
Hello,
I don't know, i'm not interested in overclocking and never investigated this question.
And i don't recommend you to play with overclocking without deep embedded development skills, it is very easy to kill your device with wrong power modifiers.
i'm understand, thanks for your suggestion.
not about nokia x2ds but can i ask you a question?
-can i make a kernel source for a mtk device ? because i have a mtk china phone which not have kernel source from manufacturer !
kaotd99 said:
i'm understand, thanks for your suggestion.
not about nokia x2ds but can i ask you a question?
-can i make a kernel source for a mtk device ? because i have a mtk china phone which not have kernel source from manufacturer !
Click to expand...
Click to collapse
Hello,
Sure it is possible, why not. But you need at least serial/uart console on device, otherwise how you will debug kernel boot problems?
zombah said:
Hello,
Sure it is possible, why not. But you need at least serial/uart console on device, otherwise how you will debug kernel boot problems?
Click to expand...
Click to collapse
thanks... now i'm trying to port double-tap to wake feature from Nokia Stock Kernel. There is any suggestion ?? Thanks
i'm trying to add this: https://github.com/ryanaepple/android_kernel_motoe/commit/080003bc8e61349bf7c8da00fa6923f3c84d1927
and being stuck at editing synaptics_dsx_i2c.c and synaptics_dsx_i2c.h
can you tell me which files is Touchscreen driver of nokia x2 ?? i think it is synaptics_i2c_rmi4.c/.h
kaotd99 said:
can you tell me which files is Touchscreen driver of nokia x2 ?? i think it is synaptics_i2c_rmi4.c/.h
Click to expand...
Click to collapse
Hello,
Nokia X2 have Cypress TMA4XX touchscreen, driver location is drivers/input/touchscreen/cyttsp4*