[Q] [PORT][Kernal] How Do I Get Started - T-Mobile, Samsung Galaxy SIII

I was Wondering How Do I Get Started Porting This Kernel I Know How To Make Roms because I Can From Android forums, Never Did Kernels Or Kernels Ports So How Do I Get Started.... The sources Are Here
Sources :-
Sources at*http://github.com/gokhanmoral/siyahkernel-sgs3
Ramfs at*http://github.com/gokhanmoral/ramfs-sgs3
Toolchain at*http://github.com/gokhanmoral/android_prebuiltSimply clone all to a directory and run build_kernel.sh in the kernel directory

Porting a Kernel primarily modifies the Ram Disk. You will need to get correct drivers from Samsung's source or from CM device tree. In addition, you have to make sure the Governors and Schedulers in Siyah are actually supported on this chipset.
Here's few Guides. Link 1 Link 2 and CM Build Guide
Most important of all, ask the Original Dev for permission!!!

Related

Extracting kernel config from I9000XXJP3

Dear all,
Did anyone succeed extracting kernel configuration from I9000XXJP3? Kernel version is 2.6.32.9, the vermagic is "2.6.32.9 mod_unload ARMv7"
extract-ikconfig doesn't work on it.
I succeeded extracting a zImage gzipped payload, but it seems not to contain any configuration in it (see attached).
/proc/config.gz doesn't exist, Samsung open source package (downloaded from Samsung open source site) contains only Android 2.1 Eclair or previous versions.
My target is to build tun.ko and, eventually, ext3/ext4 modules to make them working in Samsung Galaxy S I9000 with rooted I9000XXJP3.
Any idea?
Without froyo source code or a good Samsung Kernel (es. for himem capable) I think is impossible to play good with theses beta roms.
Ciao
Any news? I need tun.ko for jp3 too..
I have tried to compile the 2.6.32.9 kernel editing the .config in 2.6.9, the module tun.ko is accepted by the device, but I get a kernel panic!
redsh said:
I have tried to compile the 2.6.32.9 kernel editing the .config in 2.6.9, the module tun.ko is accepted by the device, but I get a kernel panic!
Click to expand...
Click to collapse
Did you use the stock linux kernel? Or the common from android.kernel.org?
I'm trying the same thing actually. Isn't there any default config for the processor that might work? I tried with the config from .29 but when loading the module it says wrong format.
try to build 2.6.32 with the 2.6.29 config ("yes" all missing stuff)
turn on your galaxy, adb push the tun.ko
try to load it, it will say "missing symbols" blabla
find the config options that match those symbols, enable them, recompile, try again
Great to see some people who are hacking the kernel! Keep it up!
But I'm afraid it is not going to be as easy as dropping aries_rev03_defconfig as .config in a 2.6.32 kernel tree and doing 'make oldconfig'. That's because many of Samsung's changes have not been included in the newer mainline kernel versions yet.
Samsung added quite a lot of low-level board support for their dev boards (and for the SGS, of course), did some customization and added a few drivers which you will need to forward-port to the newer kernel.
Please have a look at this thread, in which I've started a breakdown of the Samsung patches against Android Eclair's 2.6.29 kernel.
The best course of action I think is to git clone Android's kernel from AOSP, checkout the android-2.6.29 branch, apply Samsung's patches to that, then attempt to rebase your tree to a newer kernel version. (Note, you may want to start with small steps, to get a feel for what you're up against )
Note that there probably will be lots of merge conflicts which you need to resolve, and after dealing with all those, you also have to make sure that everything else that's merged still works as expected, but at least that will show you the amount of work involved. You will basically be doing all the work that Samsung is doing right now for their kernel for FroYo. It will be interesting to follow their progress on the mailing lists and on IRC.
bilboa1 said:
try to build 2.6.32 with the 2.6.29 config ("yes" all missing stuff)
turn on your galaxy, adb push the tun.ko
try to load it, it will say "missing symbols" blabla
find the config options that match those symbols, enable them, recompile, try again
Click to expand...
Click to collapse
Thats exactly what I did, but I got wrong module format... which is a fatal error. I need to invest further in the used config... maybe i did not pick up the right one properly..
miki4242 said:
Great to see some people who are hacking the kernel! Keep it up!
But I'm afraid it is not going to be as easy as dropping aries_rev03_defconfig as .config in a 2.6.32 kernel tree and doing 'make oldconfig'. That's because many of Samsung's changes have not been included in the newer mainline kernel versions yet.
Samsung added quite a lot of low-level board support for their dev boards (and for the SGS, of course), did some customization and added a few drivers which you will need to forward-port to the newer kernel.
Please have a look at this thread, in which I've started a breakdown of the Samsung patches against Android Eclair's 2.6.29 kernel.
The best course of action I think is to git clone Android's kernel from AOSP, checkout the android-2.6.29 branch, apply Samsung's patches to that, then attempt to rebase your tree to a newer kernel version. (Note, you may want to start with small steps, to get a feel for what you're up against )
Note that there probably will be lots of merge conflicts which you need to resolve, and after dealing with all those, you also have to make sure that everything else that's merged still works as expected, but at least that will show you the amount of work involved. You will basically be doing all the work that Samsung is doing right now for their kernel for FroYo. It will be interesting to follow their progress on the mailing lists and on IRC.
Click to expand...
Click to collapse
Yes that would be a lot of work. Maybe its better to just wait until they release the kernel from froyo. I read that they release their opensource stuff rather fast. But just for adding a module like ext4 I don't think you need those patches, because imho they didn't touch the fs of the kernel. We just need an adaquate kernel config and adding modules should be possible.
Phlogiston said:
Thats exactly what I did, but I got wrong module format... which is a fatal error. I need to invest further in the used config... maybe i did not pick up the right one properly..
Click to expand...
Click to collapse
Make sure you're using the same kernel version number and build number, because samsung kernels do not have the option to load incorrect module versions
Yes i've set the subversion as well but without the patches from samsung its impossible it seems. We need to wait and hope that they release the froyo kernel sources soon....
bilboa1 said:
Make sure you're using the same kernel version number and build number, because samsung kernels do not have the option to load incorrect module versions
Click to expand...
Click to collapse
Are you sure they set CONFIG_MODVERSIONS? It's off in the downloadable sources.
Just compare the output of `modinfo -F vermagic <yourmodule>` to `modinfo -F vermagic <modulewhichloads>` or to /proc/version .
did this get solved yet? I google'd for the tun.ko file for my i9000 using jp3 but nothing yet... if you have a proper one for the MoDaCo version here please attach it! ~
I think I saw someone's post with tun.ko for FroYo beta somewhere in these forums, I mean i9000 Android Dev. One of the guys here has found a way to compile kernel for jp* here. I am sure.
I actually found it attached somewhere in the forum and it was 1,5447 mb big I think it was... but it still didn't work for me so I presumed the kernel or something must have been wrong.

[Q] Stock kernel .config?

I'm interested in building my own kernels for my Galaxy Nexus (LTE). I'm familiar with configuring and building kernels in linux. I've been through Google's documentation at source.android.com/source/building.html [sorry, can't post actual links], and have successfully built using the device configuration from 'lunch full_toro-userdebug'.
I'm just wondering how close this kernel config is to the one that shipped with my device. I'd like to start from the stock kernel config so I don't miss out on any optimizations. I wasn't able to find a /proc/config.gz on the phone, nor could I extract it from the yakju-icl53f-factory-89fccaac.tgz factory image with extract-ikconfig.
Has anyone released an official .config for this device, or is 'lunch full_toro-userdebug' the best place to start?
Questions do not belong in the development section.
Sent from the MIUI powered E3D
you need the kernel source first.
make defconfig tuna_defconfig

[kernel][For CM7 only][LAZY,TUN,CIFS,ondemand tweaks]Adam's kernel[02/10/2012]

Hi guys.
I'm a newbie about compiling kernel,and this is my personal compiled kernel based on Hashcode's git source( stock branch),also with some tweaks which I think can improve the responsiveness without bringing extra power consumption( or as little as possible).
This kernel will also be my testing platform to do some MOD porting from Ezekeel's GLaDOS kernel.
Thanks to all great developers in XDA , especially:
-Hashcode & intersectRaven : for their git repo alone with a working .config. alone
-Ezekeel : for his so many great MODs on Nexus S(my phone) and Galaxy Nexus(will be my next phone)
-whistlestop : For his improvement on CM7 (I'm completely unfamiliar with the user land things about android, without him I'll be still using the stock ROM)
Features:
-LAZY cpufreq governor ported from GLaDOS(http://forum.xda-developers.com/showthread.php?t=1276092) with some tweaks.
-TUN compiled into kernel (especially important for people living in regions with strict network censorship like CHINA! F*ck the GreatFireWall)
-CIFS compiled into kernel along with NLS-utf8 for non-ASCII characters.( Now who cares the size of the internal flash?)
-Minor tweaks on ondemand governor to improve responsiveness.
ToDo:
-BLX porting from GLaDOS(http://forum.xda-developers.com/showthread.php?t=1257497)
-TouchWake porting from GLaDOS(http://forum.xda-developers.com/showthread.php?t=1239240)
Because I'm a newbie on kernel development and the MODs above both have some code in hardware drivers, so it will be a long time before accomplish.
The kernel source code seems to work on both CM9 and stock ROM.
So later I'll upload the flashable kernel zip for CM9 and stock ROM after some test.
Download:
CM7:http://www.mediafire.com/?2nsm9lb7ylm3gnl
In next post,I'll post the procedure for compiling the kernel and the wifi driver.
In this post I'll post the detailed procedure of compile the kernel.
1.Get the kernel source and wifi driver:
If you want to compile the kernel based on my tweak,
you can use my repo (fork from hashcode's source):https://github.com/adam900710/kernel_omap(branch stock)
Or you can just start from scratch without my tweak:https://github.com/KFire-Android/kernel_omap(only branch stock is tested)
If you are unfamiliar with git,you can learn it on the GitHub's help page:
http://help.github.com/
Tiwlan drivers from neither omapzoom nor CM7 works due the lack of given functions.
ONLY the wifi driver from Amazon seems work. So you need to download the whole zip from Amazon:
http://www.amazon.com/gp/help/customer/display.html?nodeId=200203720
The wifi driver locates in mydroid/hardware/ti/wlan/wl1283
2.Get the cross compile toolchain:
Yes,you can build from scratch according to CLFS(http://trac.cross-lfs.org/),but a newbie like me is glad to use the pre-compiled toolchain like sourcery G++. Omappedia recommanded 2010q1-202(https://sourcery.mentor.com/sgpp/lite/arm/portal/release1293), so I use it as the toolchain and it works well.
The self-extrated installation program will install the toolchian without any problem.
Also other toolchain is available like linaro , but according to the post by Ezekeel (http://rootzwiki.com/topic/10855-researchmythbuster-optimized-compiler-toolchains/) , there seems no obvious difference. So the out-of-box sourcery G++ is a good choice.
3.Compile the kernel.
Code:
cd kernel_omap #cd into your kernel
make mrproper #clean the source tree( normally you can skip)
make otter_android_defconfig #get the default .config (also you can copy it manually)
make ARCH=arm menuconfig #if you want,you can tweak the config of the kernel.This needs headers of ncurse
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi -j4 #you should make sure that the toolchain is in you PATH
After some CPU time, the kernel is built, in arch/arm/boot/zImage. Also the modules is built in other places.
Since I built all TUN/CIFS and so on into kernel,so there is no need to install the modules.
4.Compile the wifi driver:
Code:
cd mydroid/hardware/ti/wlan/wl1283/platforms/os/linux/ #cd into the building folder
make ARCH=arm KERNEL_DIR=/home/adam/kernel_omap CROSS_COMPILE=arm-none-linux-gnueabi- TNETW=1273 -j4 #you need to change the path of KERNEL_DIR
CAUTION: DO NOT add DEBUG=n OR DELETE TNETW=1273....
I don't know why,but if you do so,the wifi driver won't work properly.
5. Package the kernel into boot.img with ramdisk.
Thanks to DooMLord , in his git repo , you can download the tools needed.
https://github.com/DooMLoRD/Kindle-Fire-Kernel/tree/master/final_files
Only minor changes are needed for the path ,every thing elso works fine.
You can use the ramdisk extracted from any CM7 boot.img using the perl script.
Then just ./make_bootimg will do everythin for you.
Great i will test it
Sent from my GT-P1000 using xda premium
Best kernel.
I'm running on CM7 with this kernel and get super-perfomance and perfect power consump (Using Lazy governor).
It's not support OC??
Sent from my GT-P1000 using xda premium
acax456 said:
It's not support OC??
Sent from my GT-P1000 using xda premium
Click to expand...
Click to collapse
Sorry, not support yet.
Maybe I'll add OC in next release.But I don't recommend OC because the power consumption...
can you able otg usb support ???
is this possible
Please add .zip for CM9!
Can I flash this from the recovery? or do I have to use adb??
please.update your kernel.since its been two months from last.update
Sent from my GT-P1000 using xda premium

[Q]Couple of questions about kernel developement

I was wondering if its possible to build WFS kernel with the linaro toolchain or is it only for kernel v 3.
Also is there a way to eddit the .config file w/o decompiling the kernel. I think i saw some tool like that or something.
I tried compiling fresh kernel from source didnt work out so well so i tought lol maybe there is a workaround for some smaller changes.
Basically i want to take an alrady compiled kernel open its config file and add manualy EXT support or change the dafault scheduler governor or freq.

[ANNOUNCEMENT]LGE Stock kernel 3.4.0 for iprj, batman, cayman

Hi,
LGE open 3.4.0 kernel for I_BOARD (i_series, ijb_series), 325_BOARD (batman series), 120_BOARD (cayman series).
LG-F100L (batman_lgu_kr), LG-F100S (batman_skt_kr), LG-F120S (cayman_skt_kr) have same kernel source and there's i series source and config.
But it does not have CAF capability.
Please modify this kernel source.
LGE Opensource site, search f100l or f100s and download JB source.
Yes, we know about it. Its not easy but we can adapt it for our device.
I am started port P930 features to F120S sources, but need a lot time for it.
When it will boot, I will upload kernel to Github for fixing drivers together.
Help me too!!!
miroslav_mm said:
Yes, we know about it. Its not easy but we can adapt it for our device.
I am started port P930 features to F120S sources, but need a lot time for it.
When it will boot, I will upload kernel to Github for fixing drivers together.
Click to expand...
Click to collapse
Could you make it for F100S too? I have download the kernel source of F100S but i don't understand how to build it to compatible with CM rom. I was read many guide to build cm kernel but i confused where must i start to buil. Maybe i'm not develop....:laugh::laugh::laugh:

Categories

Resources