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
Related
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
As the title says this patch is for updating the Samsung sources from version 2.6.35.7 to 2.6.35.14. Might be useful for some kernel developers. I was stuck at bootloop after updating the initramfs.cpio with the updated modules, but this has nothing to do with the patch itself. If wanted I can also upload the original incremental patches.
I hope this gets integrated in some kernels soon (I heard others expermented with this as well), as it will fix the Android OS bug.
Regards,
Diewi
Diewi said:
As the title says this patch is for updating the Samsung sources from version 2.6.35.7 to 2.6.35.14. Might be useful for some kernel developers. I was stuck at bootloop after updating the initramfs.cpio with the updated modules, but this has nothing to do with the patch itself. If wanted I can also upload the original incremental patches.
I hope this gets integrated in some kernels soon (I heard others expermented with this as well), as it will fix the Android OS bug.
Regards,
Diewi
Click to expand...
Click to collapse
Hey man,
Thanks, I need this
You can teach me howto make patches for kernels?
How to patch up the kernel for example? You are just legend
Netchip
Hey netchip,
of course I can
First you need to run this command for every incremental patch:
BZIP compressed:
Code:
bzip2 -dc patch-2.6.35.X-Y.bz2 | patch -p1
uncompressed:
Code:
patch -p1 < patch-2.6.35.X-Y.patch
The X stands for the minor version you already have, Y for the one you want to patch to - usually Y = X + 1 for "official" patches.
After every application of a incremental patch you need to check weather a "hunk" failed. Normally, this happens if you get a warning about parts of the patch already being applied. You will recognize the failed parts by their ending: .rej. You'll need to check those files against the to-be-patched source file and maybe do some changes to it.
After you gone through all patches, unpack the unmodified kernel again and compare both directories with the following command:
Code:
diff -uNrB GT-N7000_Kernel_orig GT-N7000_Kernel > SGN_2.6.35.X-Z.patch
Then you'll get a patch that includes all the single ones.
BTW, I'm assuming you're in a UNIX environment.
(@all)
In order to apply the patch you can simply take the commands listed in the beginning of the post. The patch uploaded in the OP (.7-.14) is uncompressed.
I'll just attach the incremental patchset for completeness (bzip compressed patches)
Diewi said:
Hey netchip,
of course I can
First you need to run this command for every incremental patch:
BZIP compressed:
Code:
bzip2 -dc patch-2.6.35.X-Y.bz2 | patch -p1
uncompressed:
Code:
patch -p1 < patch-2.6.35.X-Y.patch
The X stands for the minor version you already have, Y for the one you want to patch to - usually Y = X + 1 for "official" patches.
After every application of a incremental patch you need to check weather a "hunk" failed. Normally, this happens if you get a warning about parts of the patch already being applied. You will recognize the failed parts by their ending: .rej. You'll need to check those files against the to-be-patched source file and maybe do some changes to it.
After you gone through all patches, unpack the unmodified kernel again and compare both directories with the following command:
Code:
diff -uNrB GT-N7000_Kernel_orig GT-N7000_Kernel > SGN_2.6.35.X-Z.patch
Then you'll get a patch that includes all the single ones.
BTW, I'm assuming you're in a UNIX environment.
(@all)
In order to apply the patch you can simply take the commands listed in the beginning of the post. The patch uploaded in the OP (.7-.14) in uncompressed.
I'll just attach the incremental patchset for completeness (bzip compressed patches)
Click to expand...
Click to collapse
Thanks for your answer
Where can I get normally the incremental patches?
Kernel.org?
Also, if you are interested in building a kernel with me, send me a PM, and I will answer
Sent from my GT-I9100
Yes, usually at kernel.org. But lately they are only hosting the latest incremental patch for the longterm support kernels (2.6.32 and 2.6.33). Also the latest incremental patches (up to 4 minor versions in the past) for the latest kernel.
These particular patches I found using google that directed to some outdated mirrors. I just needed to adapt the version numbers of the patch and search for this string.
While waiting for my Note, I just have downloaded kernel sources and my linux box is cross compiling the sources with the recommended toolchain (4.4.0) as I write this post
I just noticed that the process reports quite a few warnings...
When I have my Note, I will try a few things like undervolt (already located the bit of relevant code for this) and will add "interactive" CPU governor which is far better than the default "on demand" for interactivity.
If everything goes well, I will add this upgrade too
Edit:
right. Done. Waiting for the phone to test this first almost stock kernel
Code:
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
Diewi said:
As the title says this patch is for updating the Samsung sources from version 2.6.35.7 to 2.6.35.14.
Click to expand...
Click to collapse
Have you tested the Patch? Which toolchain did you use for compiling the Note Kernel?
I have tried it the other way around: Take vanilla 2.6.35.14 sources and include the Samsung patches from 2.6.35.7. I found out, that Samsung uses a lot of Backports in his code. Also I had some problems with wrong applied fuzzy patches.
Meanwhile it works. Android OS is much lower with a 2.6.35.14 Kernel. But the battery lifetime is not much longer than before.
I had also some problems with the Runtime Powermanagement of USB Devices. I'm note sure if it was a problem of the patches or my compiler options. I have to test a little bit in the next days.
RiverSource said:
Have you tested the Patch? Which toolchain did you use for compiling the Note Kernel?
I have tried it the other way around: Take vanilla 2.6.35.14 sources and include the Samsung patches from 2.6.35.7. I found out, that Samsung uses a lot of Backports in his code. Also I had some problems with wrong applied fuzzy patches.
Meanwhile it works. Android OS is much lower with a 2.6.35.14 Kernel. But the battery lifetime is not much longer than before.
I had also some problems with the Runtime Powermanagement of USB Devices. I'm note sure if it was a problem of the patches or my compiler options. I have to test a little bit in the next days.
Click to expand...
Click to collapse
Dunno if it's making a huge difference, but your GCC is 4.5.4 whereas the recommended is 4.4.0
Code:
> cat Readme_Kernel.txt
################################################################################
1. How to Build
- get Toolchain
From android git server , codesourcery and etc ..
- arm-eabi-4.4.0
No, the Toolchain makes no big difference. I hoped the newer Linaro one optimzes better, but at least with CF Bench there was no big difference between 4.4.0, 4.4.3 or 4.5.4 (the results where slightly better than with stock kernel, 13300 points in stead of 13000 with stock).
RiverSource said:
Have you tested the Patch? Which toolchain did you use for compiling the Note Kernel?
I have tried it the other way around: Take vanilla 2.6.35.14 sources and include the Samsung patches from 2.6.35.7. I found out, that Samsung uses a lot of Backports in his code. Also I had some problems with wrong applied fuzzy patches.
Meanwhile it works. Android OS is much lower with a 2.6.35.14 Kernel. But the battery lifetime is not much longer than before.
I had also some problems with the Runtime Powermanagement of USB Devices. I'm note sure if it was a problem of the patches or my compiler options. I have to test a little bit in the next days.
Click to expand...
Click to collapse
How did you have included samsung drivers in a vanilla kernel?
I know now how to patch up, but how works your way?
No, I didn't test the patch very well. I just compiled the kernel with the patches and added CF's initramfs.cpio (packed) to the zImage file. It did boot up, but wlan didn't work, as the modules in the initramfs were not compiled for this build. The "about" page showed the minor version ".14".
I used codesurgery version 2010.09.51 for this test.
@netchip:
I found a good guide how to extract the samsung specific patches in this thread (bottom of OP):
http://forum.xda-developers.com/showthread.php?t=784270
Maybe we see a 3.1 kernel soon
Diewi said:
No, I didn't test the patch very well. I just compiled the kernel with the patches and added CF's initramfs.cpio (packed) to the zImage file. It did boot up, but wlan didn't work, as the modules in the initramfs were not compiled for this build. The "about" page showed the minor version ".14".
I used codesurgery version 2010.09.51 for this test.
@netchip:
I found a good guide how to extract the samsung specific patches in this thread (bottom of OP):
http://forum.xda-developers.com/showthread.php?t=784270
Maybe we see a 3.1 kernel soon
Click to expand...
Click to collapse
You have a dump of vanilla 2.6.35.7?
Compare these, and you have the drivers, hmm I go try.
Or you could use the patched Samsung kernel (2.6.35.14) and compare this to the vanilla kernel. I'm absolutely not sure if this would bring any benefits, but I think that way the patches backported by Samsung would get filtered out.
Sent from my GT-N7000 using XDA App
Diewi said:
Or you could use the patched Samsung kernel (2.6.35.14) and compare this to the vanilla kernel. I'm absolutely not sure if this would bring any benefits, but I think that way the patches backported by Samsung would get filtered out.
Sent from my GT-N7000 using XDA App
Click to expand...
Click to collapse
That's also a good idea!
Thanks.
The patched vanilla kernel (.14) can be found here:
http://ftp.ua.postgresql.org/pub/linux/kernel/v2.6/longterm/v2.6.35/
The 2.6.35.7 vanilla kernel can be found directly on the ftp server of kernel.org
Diewi said:
Hey netchip,
of course I can
First you need to run this command for every incremental patch:
BZIP compressed:
Code:
bzip2 -dc patch-2.6.35.X-Y.bz2 | patch -p1
uncompressed:
Code:
patch -p1 < patch-2.6.35.X-Y.patch
The X stands for the minor version you already have, Y for the one you want to patch to - usually Y = X + 1 for "official" patches.
After every application of a incremental patch you need to check weather a "hunk" failed. Normally, this happens if you get a warning about parts of the patch already being applied. You will recognize the failed parts by their ending: .rej. You'll need to check those files against the to-be-patched source file and maybe do some changes to it.
After you gone through all patches, unpack the unmodified kernel again and compare both directories with the following command:
Code:
diff -uNrB GT-N7000_Kernel_orig GT-N7000_Kernel > SGN_2.6.35.X-Z.patch
Then you'll get a patch that includes all the single ones.
BTW, I'm assuming you're in a UNIX environment.
(@all)
In order to apply the patch you can simply take the commands listed in the beginning of the post. The patch uploaded in the OP (.7-.14) is uncompressed.
I'll just attach the incremental patchset for completeness (bzip compressed patches)
Click to expand...
Click to collapse
thanks!!
i'm build galaxy s2 kernel
i hope patch 2.6.35.7 to 2.6.35.14
no problem at use Incr_PatchSet_2.6.35.7-14.zip file?
and SGN_2.6.35.7-14.patch.zip better than Incr_PatchSet_2.6.35.7-14.zip?
(sorry my bad english)
As you are trying to apply the patch to a s2-kernel, I would advise you to use the original incremental patchset. You only need to go through the *.rej files and check weather the source needs a modification (see http://linuxhaven.de/dlhp/HOWTO/DE-Kernel-HOWTO-5.html). The all-in-one patch is made by a diff of the original and the patched Galaxy Note kernel, so you might miss something.
Diewi said:
As you are trying to apply the patch to a s2-kernel, I would advise you to use the original incremental patchset. You only need to go through the *.rej files and check weather the source needs a modification (see http://linuxhaven.de/dlhp/HOWTO/DE-Kernel-HOWTO-5.html). The all-in-one patch is made by a diff of the original and the patched Galaxy Note kernel, so you might miss something.
Click to expand...
Click to collapse
successful upgrade to 2.6.35.14
thanks
Dude... Will this work on Galaxy y ?? or this is device specific ????
Nachiket.Namjoshi said:
Dude... Will this work on Galaxy y ?? or this is device specific ????
Click to expand...
Click to collapse
No.
Sent from my GT-N7000 using Tapatalk 2
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!
Hello everyone.
This guide will help you in building a kernel from source for your Nexus 4
Later, when 4.2 hits AOSP, i'll add a guide for building that too
You will need a computer running Linux / OSX to build the kernel, natively, or via a VM.
This guide assumes you’re running any Linux distro.
Getting a toolchain:
You need a toolchain to build the kernel.
The preferred one is Google’s toolchain, the same they use to build AOSP.
In a terminal, type:
Code:
git clone [url]https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/[/url]
export PATH=$PATH:$(pwd)/arm-linux-androideabi-4.6/bin
export CROSS_COMPILE=arm-linux-androideabi-
TIp: paste the export statements in your ~/.bashrc to have them exported each login.
Getting the kernel source:
The kernel source for Nexus devices is available from Google’s servers.
Nexus 4 : https://android.googlesource.com/kernel/msm
Github Mirror: https://github.com/android/kernel_msm
Open the terminal, and type the below commands to get the kernel source on your computer.
Code:
mkdir -p android/kernel
cd android/kernel
For Nexus 4, we get the msm kernel sources.
Code:
git clone [url]https://android.googlesource.com/kernel/msm[/url]
Next, we change our directory to the newly fetched source.
Type
Code:
cd msm
Figuring out what to build:
Now, we need to figure out which revision to build.
You need to be exactly sure about this, otherwise there are chances that the compiled kernel won’t work.
The commit to build upon can be found by a few ways.
To get the kernel sources matching the device tree, type the below in the device tree.
Code:
git log kernel
Next, type the below in the kernel tree
Code:
git checkout <commit>
The commit of the version running of the current review units is 7a47627, which is same as branch android-msm-mako-3.4-jb-mr1-fr .
Compiling:
Name of defconfig: mako_defconfig
cd to the directory of the kernel source, then type the below in a terminal.
Code:
export ARCH=arm
export SUBARCH=arm
Code:
make <name_of_defconfig>
make
The kernel image will be ready at arch/arm/boot/zImage
To flash it, you need to make it into a boot.img, more on that later, when we have more sources.
1) what is the branch "android-msm-mako-3.4-jb-mr1-fr" for?
2) what does mr1 mean? sounds like milestone/alpha/beta. Maybe it's not final? Last commit is 2 weeks ago.
3) great guide
m11kkaa said:
1) what is the branch "android-msm-mako-3.4-jb-mr1-fr" for?
2) what does mr1 mean? sounds like milestone/alpha/beta. Maybe it's not final? Last commit is 2 weeks ago.
3) great guide
Click to expand...
Click to collapse
mr1 could stand for "Milestone Release 1", it might not be final.
That being said, you should never checkout a branch directly for compiling a kernel, but the commit directly.
cdesai said:
...You need a toolchain to build the kernel. The preferred one is Google’s toolchain, the same they use to build AOSP.
Click to expand...
Click to collapse
Could you also use linaro to compile the kernel? I believe it's a toolchain anyway, but I'm not too sure on it's benefits or compatibility...
nice didn't realize kernel source was already available- can't wait to test this zImage and start testing changes noticed they left out kernel compression makes for a big zimage
randomblame said:
nice didn't realize kernel source was already available- can't wait to test this zImage and start testing changes noticed they left out kernel compression makes for a big zimage
Click to expand...
Click to collapse
Are you planning on developing for the N4?
Loved your work on the DHD
espionage724 said:
Could you also use linaro to compile the kernel? I believe it's a toolchain anyway, but I'm not too sure on it's benefits or compatibility...
Click to expand...
Click to collapse
Linaro isn't a toolchain, but they do make toolchains.
Yes, you can use it to compile the kernel, though it may not compile at all with it, or not work well - your mileage may vary.
randomblame said:
nice didn't realize kernel source was already available- can't wait to test this zImage and start testing changes noticed they left out kernel compression makes for a big zimage
Click to expand...
Click to collapse
Nope, LZO compression is enabled by default
cdesai said:
Linaro isn't a toolchain, but they do make toolchains.
Yes, you can use it to compile the kernel, though it may not compile at all with it, or not work well - your mileage may vary.
Click to expand...
Click to collapse
Linaro has proven to increase android performance up 30 - 100% not sure if that is with -O3 optimizations or not. That is all I use on my kernels
Sucks this phone is not coming to Sprint, might be time to change carriers...
randomblame said:
nice didn't realize kernel source was already available- can't wait to test this zImage and start testing changes noticed they left out kernel compression makes for a big zimage
Click to expand...
Click to collapse
-mvectorize-with-neon-quad ---> I use this in my makefile for cflags and drops the zImage size from 5.0mb to 4.4mb.
cdesai said:
Linaro isn't a toolchain, but they do make toolchains.
Yes, you can use it to compile the kernel, though it may not compile at all with it, or not work well - your mileage may vary.
Nope, LZO compression is enabled by default
Click to expand...
Click to collapse
ah I didn't see it - 6+mb still pretty big from what I'm used to at least
I'm going through the mind numbing process of bringing in mainline patches and squashing them all together. I'm up to 3.4.1 ... woot where's the hang me emoticon lol
*finally got smart and cloned mainline and reset the head back to each sublevel and merged into my local n4 source
got it all the way up to date with mainline 3.4.18
Thanks cdesai. I didn't think anything was out yet!!
randomblame said:
ah I didn't see it - 6+mb still pretty big from what I'm used to at least
I'm going through the mind numbing process of bringing in mainline patches and squashing them all together. I'm up to 3.4.1 ... woot where's the hang me emoticon lol
*finally got smart and cloned mainline and reset the head back to each sublevel and merged into my local n4 source
got it all the way up to date with mainline 3.4.18
Click to expand...
Click to collapse
Yea, it's big, but partitions on new devices are big as well.
y u no use git to merge
Just add korg as a remote, fetch, merge.
Each version is tagged, so you can do that incrementally too.
Also, kernel.org hosts patches as well, if you prefer that way.
snowman77 said:
Thanks cdesai. I didn't think anything was out yet!!
Click to expand...
Click to collapse
Google <3
I got it straightened out so it's up to date with mainline and I think I've got overclocking up to 1.89ghz ready lots of more fun to be had but damn I'm just teasing myself till tuesday/whenever the thing comes in the mail. hard to test anything without hardware.
I may need a tip. I have followed your guide - which I find great and simple - but I'm having a problem with the arm binaries when I launch the make command after checking out the remotes/origin/android-msm-mako-3.4-jb-mr1-fr and executed make mako_defconfig:
Code:
/bin/sh: 1: arm-linux-androideabi-ld: not found
I have cloned the toolchain and msm repos, and added to the PATH environment var the location of the bin directory. I can reach arm-linux-androideabi-ld from the command line, but no luck executing it:
Code:
[email protected]:~/android/kernel/msm$ /home/echedey/android/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-ld
bash: /home/echedey/android/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-ld: No such file or directory
And it is there with execution rights:
Code:
[email protected]:~/android/kernel/msm$ ll /home/echedey/android/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-ld
-rwxrwxr-x 1 echedey echedey 3145332 Nov 10 16:32 /home/echedey/android/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-ld*
My repos are in these paths:
Code:
/home/echedey/android/arm-linux-androideabi-4.6
/home/echedey/android/kernel
And my $PATH is:
Code:
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/echedey/android/arm-linux-androideabi-4.6/bi
Am I missing anything?
josjator said:
I may need a tip. I have followed your guide - which I find great and simple - but I'm having a problem with the arm binaries when I launch the make command after checking out the remotes/origin/android-msm-mako-3.4-jb-mr1-fr and executed make mako_defconfig:
Code:
/bin/sh: 1: arm-linux-androideabi-ld: not found
I have cloned the toolchain and msm repos, and added to the PATH environment var the location of the bin directory. I can reach arm-linux-androideabi-ld from the command line, but no luck executing it:
Code:
[email protected]:~/android/kernel/msm$ /home/echedey/android/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-ld
bash: /home/echedey/android/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-ld: No such file or directory
And it is there with execution rights:
Code:
[email protected]:~/android/kernel/msm$ ll /home/echedey/android/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-ld
-rwxrwxr-x 1 echedey echedey 3145332 Nov 10 16:32 /home/echedey/android/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-ld*
My repos are in these paths:
Code:
/home/echedey/android/arm-linux-androideabi-4.6
/home/echedey/android/kernel
And my $PATH is:
Code:
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/echedey/android/arm-linux-androideabi-4.6/bi
Am I missing anything?
Click to expand...
Click to collapse
You path has a "n" missing from bin at the end.
You could type arm- and try to use tab-completion to see if it's accessible, then the same thing with full path (~/android/arm-linux-androideabi-4.6)
cdesai said:
You path has a "n" missing from bin at the end.
You could type arm- and try to use tab-completion to see if it's accessible, then the same thing with full path (~/android/arm-linux-androideabi-4.6)
Click to expand...
Click to collapse
Sorry, the missing 'n' came from the c&p. I can actually see the file by tabing it from any path but after the auto completing it tells this weird thing:
Code:
[email protected]:~$ arm-linux-androideabi-ld
bash: /home/echedey/android/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-ld: No such file or directory
I'm a experienced *nix user but I don't get this. The repos are correctly cloned and all files under bin has exec rights. I'm running ubuntu 12.10. Maybe a problem with the shell? I should try any other environment, but that would be like killing flies with missiles. Thanks for your help.
Do you definitely have the appropriate executable at
'/home/echedey/android/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-ld'?
Can you do an ls -lF of that directory?
Perhaps the arm-linux-androideabi-ld file there is actually just a symlink which has lost its target.
@josjator Yeah, seems I have the same problem as you. I'm also using Ubuntu 12.10 with a bash shell. I think it may be a recursive make/shell issue thing (sorry, I'm not too hot on make files). Will keep plugging away to see if I can resolve the problem.
The device trees have hit AOSP
https://android.googlesource.com/device/lge/mako/
dsana123 said:
@josjator Yeah, seems I have the same problem as you. I'm also using Ubuntu 12.10 with a bash shell. I think it may be a recursive make/shell issue thing (sorry, I'm not too hot on make files). Will keep plugging away to see if I can resolve the problem.
Click to expand...
Click to collapse
@josjator: Using the 4.7 toolchain sorted me out (at least it's building now and past the initial problem).
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7
Click to expand...
Click to collapse
The objdump and ld binaries are much happier now.
BTW, I did download the 4.6 toolchain again (just in case there was some problem in the initial git clone), but I still encountered objdump and ld problems.
Works like a champ on Ubuntu 12.10 exactly as outlined in the OP. Thanks!
Code:
[email protected]:~/Documents/AOSP/kernel/msm$ ls -l arch/arm/boot/zImage
-rwxrwxr-x 1 android android 6314888 Nov 16 23:45 arch/arm/boot/zImage
[email protected]:~/Documents/AOSP/kernel/msm$ uname -a
Linux ubuntu 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
[email protected]:~/Documents/AOSP/kernel/msm$ arm-linux-androideabi-gcc -v
[...]
gcc version 4.6.x-google 20120106 (prerelease) (GCC)