Hi friends of XDA,
I think this might be helpfull for some of you trying to compile kernel from source for S5830i, for the first time.
If you are following the great tutorials to build your first kenrel like:
http://forum.xda-developers.com/showthread.php?t=1748297 from thewadegeek
The first thing taht will happen, is that you cant pull defconfig from /proc/config.gz for S5830i.
Why? There is no such file for your device in there.
Normally the next you will do, is go to the stock sources readme file. And will find out the defconfig is totoro_defconfig
You will compile the kernel with no errors, and you will feel very happy, until you flash your recently compiled kernel and see that you get stuck in the boot_logo screen.
Ok, dont panic, solution is very easy. Samsung readme file is a general readme.
Here is the quid of the question:
totoro_defconfig is not the correct defconfig for S5830i.
S5830i defconfig is bcm21553_cooperve_defconfig
You will find this defconfig in the sources, at:
common/arch/arm/configs folder
Hope this helped. If it helped dont doubt to press the thanks button, this will be very appreciated.
Thank you and sweet kernel development.
Samsung's readme file isn't general, they just took the Galaxy Y's readme (even the model says GT 5360).
What's stranger is that the CHN sources have the correct info.
Also, I didn't need to pull anything. I just used the default config:
Code:
export ARCH=arm
export CROSS_COMPILE=<path>
make bcm21553_cooperve_defconfig
make -j16
Hi GermainZ,
Thats right,never had a look at the CHN readme. I wonder why the other sources are uploaded looooollll strange Samsun guys.
Never the less, forgot to post the next in the original thread.
I recomend to have an original copy of bcm21553_cooperve_defconfig as when you start modifing it some options may fail and its recomended to have a fresh one to copy paste quicly.
Even more for my kernel i copy original file and rename it to nit_defconfig and give it a version number ej nit01_defconfig, its agood practice have latest working defconfig as you will be modifying the file a lot, btw nit is how i call my kernel as you all ready know, this comes from new innovative technologies the name of one of my companys i created recently
But good appreciation GermainZ is always my pleasure to talk with you
Sent from my GT-S5830i using xda app-developers app
Thanks for your tips bro! You had a significant part in booting my kernel. Will add u in credits
No problem hell_lock.
Thank you.
Sent from my GT-S5830i using xda app-developers app
Related
Believe this should be question for all newbee as well.
Downloaded new source code from opensource.samsung.com
get all source and whole environment setup from android.com
follow readme in samsumg's source code so I'd merge with android generic source
After make, the output system.img is only 50mb. Compared with samsung's system.img 250mb. After extract, there are significant differences.
apps, bin, frameworks, csc.. are much different.
Anyone had idea how to build correct samsung's image?
I created new launcher and lockscreen, it works on emulator, but cannot port to samsung Galaxy S because of environment setup, your help step by step will be very helpful, thanks!!
Hi buddy,
Do you know what’s the problem?
I meet the same problem about compiling.
The system.img only 58M. I cann’t run the image with emulator.
I don’t know how to solve it.
I guess your problem is that you don't get the drivers on the sgs.
Many are not open source.
So you can't build a firmware from scratch.
The open source from Samsung is only the kernel.
What you need is to import all missing stuff in the firmware you did compile, but you will face a bigger problem to change all places that using the missing stuff.
Sent from GT-I9000 jpo. My own kernel for z4mod and with 342MB Ram
Hi all,
we are trying to build our own kernel for a Samsung Galaxy S (I9000XWJVB).
What we did so far:
- Download the correct sources from "opensource.samsung.com"
- Studied the README
- Installed cross-compiler toolchain
- Created ".config" as described in README
- Kernel compiled
Compilation worked fine -> zImage was available (but with only 2mb very)
OK, looks like initramfs is missing.
The first question is now, where to get / how to create a correct initramfs?
We copied the initramfs from Leshak and we extracted an ".cpio" from a working zImage.
Then we tried to use them in the ".config" (CONFIG_INITRAMFS_SOURCE) for kernel compilation.
Resultant zImage was larger (around 6mb) so it looks like something changed.
But once we installed the tared zImage on the phone (using Odin), the phone freezes during reboot.
Any advice how to progress here?
Is it possible to use Leshaks initramfs for all Galaxy S phones? Or is this only for a specific version? The CONFIG_INITRAMFS_SOURCE should point to the "initrd.arm.initramfs_list", correct? And not to the initramfs-folder?
And: Is there a way to get any type of kernel boot debugging message from the booting phone back to the PC (or the phone screen)?
Many thanks in advance!
I don't know much about kernels. But i will try to help. Have you tried other itiramfs or reconfig them?
There are not many people that will know answer so ask some kernel developers like hardcore, supercurio...
Sent from my GT-I9000 using XDA Premium App
Just saw 2nd question. I think that it should point to intiramfs folder. You can zip all kernel files and upload it so i can take a look at them
Sent from my GT-I9000 using XDA Premium App
Hi,
themate1987 said:
I don't know much about kernels. But i will try to help. Have you tried other itiramfs or reconfig them?
There are not many people that will know answer so ask some kernel developers like hardcore, supercurio...
Click to expand...
Click to collapse
we tried four different initramfs now, but ended up always with a freezing phone.
I would like to ask the kernel experts directly, but I'm new to this forum and not allowed to post in the developers forums. I hope that one of the gurus will reply to this thread.
themate1987 said:
Just saw 2nd question. I think that it should point to intiramfs folder.
Click to expand...
Click to collapse
My understanding is that the .list file will describe the structure of the initramfs folder and if this file is present, it should by used in the .config. Otherwise the .config should point to the folder.
Please correct me if I'm wrong.
But anyway, we tried both versions, none worked.
Regards!
PM some kernel developers
Sent from my GT-I9000 using XDA Premium App
Use speedmod kernel patches with the readme file he has given..
or else you can go through supercurio threads also ...
they explained the kernel compilation methods....
thanks
Did you get this to work finally? I too am trying to compile and flash a custom kernel ( For SGS4G) I point my INIIRAMFS_SOURCE to an extracted initram dir, but the resulting boot zImage does not proceed past the initial boot screen(s) Please let me know if you succeeded, and if yes, how.
Thanks!
What I got the problem was about initramfs.cpio.
At that moment , the most important point you know is you should make the file in Linux..
When my friend made me a file is initramfs.cpio , it worked well.
But what I made in window made always troubles for compile.
So if you made a initramfs.cpio with hexeditor in window, try it in Linux again..
Thx!
I have installed Cyanogenmod 7.1 and modified my bootanimation. I would like to also modify my bootloader screen, the first screen that appears just after the phone boots. Please help on t this topic! Thanx in advance!
Well that's not as easy as changing the bootanimation.... Cause i think you need to build your own kernel.
Thanx! Could you please make or modify a kernel for the cyanogenmod 7.1 that I'm using. I'm pretty new to this android development, all I know is how to root, change bootanimation, and other basic things. Thanx in advance!
Ya kernel...read it can be changed in the param.lfs without having to build a kernel. Not sure how true this is in the case of mini.
What do I have to read and edit? And where can I find this param.lfs? Thanx in advance dude!
I replies on your other thread in Galaxy Mini General. Try modifying TASS.rle in root folder. I don't know if you need to unpack-then-repack your boot.img though.
Edit :
Since this "TASS.rle" doesn't exist in CM7 update zip file, then it means you do have to unpack your boot.img, open the ramdisk folder then edit the extracted TASS.rle" using image editor or something. I never modified TASS.rle so I don't know exactly how to do it.
If you're using Windows, you can use dsixda kitchen+custom cygwin package+Java Dev Kit to do the unpack+repack. It's somewhere in xda.
---------------------------------
Sent from my Samsung Galaxy Mini GT-S5570 via xda-dev app
CyanogenMod 7.2.0-RC3-KANG by squadzone
Thanx a lot dude! But are you sure it'll work? I'll try it out, but is there any simpler method than this. Some way that I can modify it using my phone itself? By the way are you using cyanogenmod 7.2 RC 3 by squadzone? How is it? Please give the link too... thanx in advance!
Like I said, I never modified TASS.rle so I have no clue if it will work or not. I did unpacked and repacked boot.img several times using dsixda kitchen and they worked.
I don't know if easier method exist, so I only suggest what I know from browsing.
It looks like in order to do what you want, several steps are needed :
1. Unpacking your boot.img into zImage file (kernel) and ramdisk folder.
Anything inside ramdisk.folder will be flashed into your system partition each time you boot your device. Examples are init.rc, default.prop and TASS.rle. You can do whatever you want with these files, say modifiying their contents, but the changes only persist as long as you do not boot your phone, which will restore them back to initial state as I explained above.
2. Converting TASS.rle found inside ramdisk folder into editable format such as PNG
3. Modifying the converted PNG in point 2 (using Photoshop or other app)
4. Re-converting the modified PNG from point 3 back into RLE format
5. Re-packing (compiling) zImage file and ramdisk folder (having modified TASS.rle from point 4) back into boot.img
6. Flashing boot.img from point 5 into your phone.
To make it short, you need to learn how to :
1. Unpack and repack boot.img, which you can do using dsixda kitchen from here : http://forum.xda-developers.com/showthread.php?t=633246
2. Converting RLE to PNG and vice versa. More info here : http://forum.xda-developers.com/showthread.php?p=20128066
3. Flashing boot.img into phone. You can compress your boot.img into TAR (type this in cygwin shell window "tar -cf boot.img.tar boot.img" and flash it using ODIN with one package option or you can create a flashable zip file.
CM 7.2 RC3 works great for me, better than RC2; but that's my personal judgement and there's a chance you will not agree with me after you try it.
Head over to CM 7.2-RC3 by squazone for download link.
---------------------------------
Sent from my Samsung Galaxy Mini GT-S5570 via xda-dev app
CyanogenMod 7.2.0-RC3-KANG by squadzone
@distan
I used Ketut's tools to unpack before...it also had a little something to convert .Rle to raw...only came to my mind now.
Will give this a try tomo.
Shouldn't be that difficult...I think.
And @Nelson
Definitely can't be done in phone.
This is much more than that.
roofrider said:
@distan
I used Ketut's tools to unpack before...it also had a little something to convert .Rle to raw...only came to my mind now.
Will give this a try tomo.
Shouldn't be that difficult...I think.
And @Nelson
Definitely can't be done in phone.
This is much more than that.
Click to expand...
Click to collapse
Nice info buddy, I recall reading his thread too and it's applicable on Galaxy Mini, since both Ace and Galaxy Mini have the same kernel base address and command line parameter (CMIIW).
But I'm not sure if it will work under custom cygwin by dsixda (in case you want to use it under Windows)
---------------------------------
Sent from my Samsung Galaxy Mini GT-S5570 via xda-dev app
CyanogenMod 7.2.0-RC3-KANG by squadzone
distan7 said:
Nice info buddy, I recall reading his thread too and it's applicable on Galaxy Mini, since both Ace and Galaxy Mini have the same kernel base address and command line parameter (CMIIW).
But I'm not sure if it will work under custom cygwin by dsixda (in case you want to use it under Windows)
---------------------------------
Sent from my Samsung Galaxy Mini GT-S5570 via xda-dev app
CyanogenMod 7.2.0-RC3-KANG by squadzone
Click to expand...
Click to collapse
Thanks.
I have Ubuntu on a vm
And for sure ketut's tool will work if you're using a full linux distro
---------------------------------
Sent from my Samsung Galaxy Mini GT-S5570 via xda-dev app
CyanogenMod 7.2.0-RC3-KANG by squadzone
distan7 said:
And for sure ketut's tool will work if you're using a full linux distro
---------------------------------
Sent from my Samsung Galaxy Mini GT-S5570 via xda-dev app
CyanogenMod 7.2.0-RC3-KANG by squadzone
Click to expand...
Click to collapse
Ya...but I didn't try cpio to extract ramdisk..simply clicking it mounted the ramdisk and it's contents were visible...I wonder if I make any change and unmount it will be saved or not?! Then no need to gzip and cpio
Thanx guys! roofrider and distan7 for all your help and support! If I had a bank account, I would have donated by now, but since I don't all I can do is click the thanks button! Thanx a lot dudes!
You're welcome mate
---------------------------------
Sent from my Samsung Galaxy Mini GT-S5570 via xda-dev app
CyanogenMod 7.2.0-RC3-KANG by squadzone
I've attached the tass.rle converted to tass.png thanks to ketut.
but this is only one of the 2 images that appear while booting.
I have to dump the stl6 to find the other i think...but dumping stl5 bricks the phone (stepph) so a little nervous...but i might give it a try.
edit: no harm done.
but stl6 had nothing....anyone got any ideas?
the .jpg or whatever is hidden somewhere, at least that is how it is for galaxy s variants.
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. ;-)
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!