Related
Prerequisites:
A (preferably 64 bit) BSD/Linux distro, I use LMDE but most prefer Ubuntu
The setup (only have to do once)
1. Install some binaries for compiling android. Not all of these are needed but get them all to be safe...
"sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool
g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3 multilib"
2. Clone the prebuilt toolchains
"git clone git://github.com/cyanogenmod/android_prebuilt.git ~/prebuilt/"
3. Clone the GS3 kernel source
"git clone git://github.com/EpicCM/SPH-L710_NA_Kernel.git ~/GS3Kernel"
Compiling
1. Enter your kernel directory
"cd ~/GS3Kernel"
2. Add the toolchain to path
"export PATH=$PATH:/home/{your username}/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/"
3. Clean the kernel source
"make ARCH=arm clean"
4. Set the config for the Sprint GS3
"make ARCH=arm m2_spr_defconfig"
5. Compile the kernel
"make -j4 ARCH=arm CROSS_COMPILE=arm-eabi-"
Would you know a working method to modify the kernel? Say to add init.d, boot animation and root? I found a guide on here from another section. It appeared to have worked just fine, but when someone flashed one of their own from the guide it bricked their device :s
Tsudeily said:
Would you know a working method to modify the kernel? Say to add init.d, boot animation and root? I found a guide on here from another section. It appeared to have worked just fine, but when someone flashed one of their own from the guide it bricked their device :s
Click to expand...
Click to collapse
Dude I don't think its possible to make a kernel yet since the device source is incomplete and the kernel source won't give you a complete boot image. Maybe I am wrong though, what device source did you use? And did it compile as a zimage? I'm pretty sure you would either need a pre existing boot.img or to build with the device source as well, but that doesn't have the right files yet.
Sent from my GT-P7510 using Tapatalk 2
Sprint GS3 source code is up
Sent from my SPH-D700 using XDA Premium App
I will try this with my T-Mo version when I get home. With the tmo kernel of course
while this is a decent guide to get you up and running, its not all that is needed to make a hopefully booting kernel.
1) https://github.com/Shabbypenguin/SPH-L710_Ramdisk enjoy
2) mkbootimg --cmdline "console=null androidboot.hardware=qcom user_debug=31" --kernel /zImage --ramdisk /ramdisk.gz --base 0x80200000 --ramdiskaddr 0x81500000 -o /Boot.img
that should be the command to pack the zimage with the ramdisk.gz and end up with a boot.img format. i know a lot of the samsung devs are prolly more used to the traditional kernel setup. that command line and base address i have yet to test, but if i find out its wrong ill come back and edit it for the purposes of knowledge
edit: also here is a fancy little kernel script i used, edit the spots you need to to make it work etc. youll notice CROSS_COMPILE isnt there, its because i edited the makefile to reflect my toolchain
http://pastebin.com/hkZ0aetR
shabbypenguin said:
while this is a decent guide to get you up and running, its not all that is needed to make a hopefully booting kernel.
1) https://github.com/Shabbypenguin/SPH-L710_Ramdisk enjoy
2) mkbootimg --kernel zImage --ramdisk ramdisk.gz --cmdline "console=null androidboot.hardware=qcom user_debug=31" -o Boot.img --base 0x80200000
that should be the command to pack the zimage with the ramdisk.gz and end up with a boot.img format. i know a lot of the samsung devs are prolly more used to the traditional kernel setup. that command line and base address i have yet to test, but if i find out its wrong ill come back and edit it for the purposes of knowledge
edit: also here is a fancy little kernel script i used, edit the spots you need to to make it work etc. youll notice CROSS_COMPILE isnt there, its because i edited the makefile to reflect my toolchain
http://pastebin.com/hkZ0aetR
Click to expand...
Click to collapse
Or you could make the zimage then use anykernel updater
Sent from my SPH-L710 using xda app-developers app
jamcar said:
Or you could make the zimage then use anykernel updater
Sent from my SPH-L710 using xda app-developers app
Click to expand...
Click to collapse
the anykernel updater is fine, however it unpacks someones current kernel takes their ramdisk and puts it in yours, ergo if you enable bootanimations and init.d by using that on a stock user you will lose all that.
edit: i need to upload my newest kernel script for everyone but working towards OC/UV right now
shabbypenguin said:
the anykernel updater is fine, however it unpacks someones current kernel takes their ramdisk and puts it in yours, ergo if you enable bootanimations and init.d by using that on a stock user you will lose all that.
edit: i need to upload my newest kernel script for everyone but working towards OC/UV right now
Click to expand...
Click to collapse
Talk to the dev (Romanbb) over in T-Mobile development, they have an OC kernel up and running - http://forum.xda-developers.com/showthread.php?t=1741684
EDIT: Even more relevant, his github: https://github.com/romanbb/kernel_sgh-t999
good to see the epic community in these parts great job merchant... hoping for aosp soon and let the ports begin..
Bfitz26 said:
good to see the epic community in these parts great job merchant... hoping for aosp soon and let the ports begin..
Click to expand...
Click to collapse
Well will that be you?
You know there are CM9 nightlies available for sprint's gs3 and others
Sent from my SPH-D700 using XDA Premium App
yes i just got mine and i did see nightlies maybe i could start working on somethings but i was hoping for a official cm9 before jumping on board
Any chance of a marcusant ROM
Sent from my SPH-D710 using XDA
RaydenEris said:
Any chance of a marcusant ROM a fan of the og epic work you put in
Sent from my SPH-D710 using XDA
Click to expand...
Click to collapse
Sent from my Nexus 7 using xda premium
Where do you place the modules with this process? I dont see them listed anywhere in the ramdisk? Also if you decompile a stock kernel the modules dont show up anywhere in the ramdisk? Im used to the old samsung way zImage style with initramfs.... Im confused can someone unconfuse me?
Any post from marcusant in my new phone's dev section gets a thanks from me
Sent from my SPH-L710 using xda app-developers app
...
DrKaotica said:
Any post from marcusant in my new phone's dev section gets a thanks from me
Sent from my SPH-L710 using xda app-developers app
Click to expand...
Click to collapse
Bet he's got a girlfriend now.
Sent from my SPH-L710 using xda app-developers app
Compiling is a pan in the arose
Sent from my SPH-L710 using xda app-developers app
Marcusant whats up bud! Any chance on getting some marcusant rom love?
Sent from my SPH-L710 using Tapatalk 2
Hello everyone. Today I decided I wanted to give back to the One V community with a tutorial on building a kernel. This is not specific to the Primoc/u and contains the directions for both. The source even includes both! So lets hit the ground running.
Note: for the most up to date instructions visit here
Now youll need to have access to sudo to get the packages needed. here are the commands to get packages
Ubuntu 10.04-11.10:
Code:
sudo apt-get update; sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc gcc
Ubuntu 12.04
Code:
sudo apt-get update; sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 gcc
Now, to get the source run these commands
Code:
cd ~/
mkdir kernel
cd kernel
git clone git://github.com/teamblueridge/MSM7X30_KERNEL.git onev_kernel
cd onev_kernel
first you are changing to your home directory. Next your making a folder for kernels, and then pulling the source from github. This source is modified and maintained by me, so I know it stays working. Finally your changing into the kernels directory. Now how do we build this thing you ask. Well we have to do some more prep work. Lets start that prep work
run these commands
Code:
cd ~/
mkdir toolchains
cd toolchains
#this takes some time
git clone https://android.googlesource.com/platform/prebuilt android_prebuilt
cd ~/kernel/onev_kernel
Now we select our branch
for ics run
Code:
git checkout ics
For jb
Code:
git checkout jb-hack
Now were ready to build. Basically your grabbing the android prebuilts which includes the needed toolchain in the steps before.
Now heres the fun codes
Okay below, i have a -jX in the command. This is the number of parallell builds. This will be the number of your CPU's plus one. If you have no clue how many cpus you have run this code below and add one
Code:
grep -c processor /proc/cpuinfo
To make CDMA
Code:
make ARCH=arm primoc_defconfig
make -jX ARCH=arm CROSS_COMPILE="~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-"
To make GSM
Code:
make ARCH=arm primou_defconfig
make -jX ARCH=arm CROSS_COMPILE="~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-"
So whats going on here you ask now? your using gnu make to build a kernel! arm is the architecture, CROSS_COMPILE is the toolchain we downloaded and -j`grep -c processor /proc/cpuinfo` will find the number of cpu cores you have and adjust the speed for your system!
So now your kernel is created and you want the kernel image to stick in your boot.img. Well its always located at ~/kernel/onev_kernel/arch/arm/boot/zImage any modules you selected are listed at the end of the build
If you were wondering, you can also modify the .config with this command
Primoc
Code:
make mrproper"
make ARCH=arm primoc_defconfig
make menuconfig
Primou
Code:
make mrproper
make ARCH=arm primou_defconfig
make menuconfig
Want the easy way out? Try this script
https://github.com/simonsimons34/kernel-building-script
reserverd for future use
Perfect!! Now I can remember how to do it when I don't want to waste Jenkins!
Nice one! :good:
simonsimons34 said:
To make CDMA
Code:
make -j`grep -c processor /proc/cpuinfo` ARCH="arm" CROSS_COMPILE="~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" primoc_defconfig
make -j`grep -c processor /proc/cpuinfo` ARCH="arm" CROSS_COMPILE="~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-"
To make GSM
Code:
make -j`grep -c processor /proc/cpuinfo` ARCH="arm" CROSS_COMPILE="~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" primou_defconfig
make -j`grep -c processor /proc/cpuinfo` ARCH="arm" CROSS_COMPILE="~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-"
Primoc
Code:
make mrproper CROSS_COMPILE="~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-"
make CROSS_COMPILE="~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" primoc_defconfig
make CROSS_COMPILE="~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" menuconfig
Primou
Code:
make mrproper CROSS_COMPILE="~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-"
make CROSS_COMPILE="~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" primou_defconfig
make CROSS_COMPILE="~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" menu_config
Click to expand...
Click to collapse
At the beginning, why not just have them export "~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" as CROSS_COMPILE? I am sure there is a legit reason why, so I am not being a stink head. I suppose that unless the user added it to .bash_profile, they'd forget to do the "export" command each time...
You actually answered your own question there this is meant to be easy to follow and not go into too much depth where users unfamiliar to linux cant follow. Its trying to get people enjoying the ease of linux and not be too easily scared off. Also, forgetting to export was the exact reason I didn't have an export. This hurts nothing, afterall
got an error. followed the guide step by step, Ill fix it myself im just letting you know.
/home/conner/kernel/onev_kernel/scripts/mksysmap: line 44: ~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-nm: No such file or directory
make: *** [vmlinux] Error 1
question??????
simonsimons34 said:
You actually answered your own question there this is meant to be easy to follow and not go into too much depth where users unfamiliar to linux cant follow. Its trying to get people enjoying the ease of linux and not be too easily scared off. Also, forgetting to export was the exact reason I didn't have an export. This hurts nothing, afterall
Click to expand...
Click to collapse
ok first awsome of u to share it with us ok ive ran the commands with ubuntu and ive done the whole process and when it is finished and the kernel is done what do we have to do how to we convert it to a image file and get it on the device im sure this is a stupid question and a waist of ur time i appoligize for me being a noob
Mods/admins recently had a discussion on where guides/tutorials should go and it was decided that the General section is the place for them. Moved there.
sellers86 said:
got an error. followed the guide step by step, Ill fix it myself im just letting you know.
/home/conner/kernel/onev_kernel/scripts/mksysmap: line 44: ~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-nm: No such file or directory
make: *** [vmlinux] Error 1
Click to expand...
Click to collapse
Its you not me. I just double checked.
sbkjuggalo said:
ok first awsome of u to share it with us ok ive ran the commands with ubuntu and ive done the whole process and when it is finished and the kernel is done what do we have to do how to we convert it to a image file and get it on the device im sure this is a stupid question and a waist of ur time i appoligize for me being a noob
Click to expand...
Click to collapse
No no this is a tutorial. Its meant to allow people interested to be able to learn and do it. The next big thing may come from someone that gave up. Everyone needs help along the way. Once you get the kernel compiled, you can download android kitchen from here. I don't have a link, Google will suffice. So take that open menu with ./menu now go yo 0>12>w>x>0>x and go to the boot extracted folder. Note you must set up kitchen from a sick kernel zip that I have released. Now once in this directory delete the zImage there and replace with the one you compiled. Now go to ./menu 0>12>b>x>0>x and in the Working directory your new kernel is ready to be sent to your phone! All you have to do after that is when the ROM is booted run
adb remount
adb push /path/to/bcmdhd.ko /system/lib/modules/bcmdhd.ko
Enjoy
Sent from my One V using Tapatalk 2
You are awesome for doing this. :thumbup:
sentfromybrain
simonsimons34 said:
Its you not me. I just double checked.
Well, running a different command (the one I normally use) fixed it. so Idk what to tell you there.
Click to expand...
Click to collapse
Its probably your toolchain.. It is your toolchain. you could easily use the ndk/cmtoolchain/custom
Sent from my One V using Tapatalk 2
simonsimons34 said:
Its probably your toolchain.. It is your toolchain. you could easily use the ndk/cmtoolchain/custom
Sent from my One V using Tapatalk 2
Click to expand...
Click to collapse
that makes a whole lot of sense... no it is not my toolchain, I followed your directions step by step and got the error. same toolchain, same locations, same commands.
sellers86 said:
got an error. followed the guide step by step, Ill fix it myself im just letting you know.
/home/conner/kernel/onev_kernel/scripts/mksysmap: line 44: ~/toolchains/android_prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-nm: No such file or directory
make: *** [vmlinux] Error 1
Click to expand...
Click to collapse
sellers86 said:
that makes a whole lot of sense... no it is not my toolchain, I followed your directions step by step and got the error. same toolchain, same locations, same commands.
Click to expand...
Click to collapse
Since you knew how to fix it, obviously that is tool chain.
It's missing arm-eabi-nm
Sent from my One V using Tapatalk 2
nice simon, built fine for me. :good:
simonsimons34 said:
Since you knew how to fix it, obviously that is tool chain.
It's missing arm-eabi-nm
Sent from my One V using Tapatalk 2
Click to expand...
Click to collapse
You think I didn't think of that? Smh dude I'm not an idiot. And I fixed it by running a different command pointing to the same tool chain.
Sent from my One V using Tapatalk 2
what went wrong got this error.... any help would be greatfuly thanked.... any one with time to assist would be nicely thanked...($$$)
sellers86 said:
You think I didn't think of that? Smh dude I'm not an idiot. And I fixed it by running a different command pointing to the same tool chain.
Sent from my One V using Tapatalk 2
Click to expand...
Click to collapse
Lloir said it works fine so im sorry but i will side with him. Recognized dev > someone not
when it comes to development
sbkjuggalo said:
what went wrong got this error.... any help would be greatfuly thanked.... any one with time to assist would be nicely thanked...($$$)
Click to expand...
Click to collapse
Your error seems to me like there would be a better alternative. Please try this
Code:
sudo apt-get install gcc
make menuconfig
Sent from my One V using Tapatalk 2
Thx will try after work tonight
Sent from my One V using Xparent Blue Tapatalk 2
hi guys, can anybody tell me what is android boot order?
i see in kernel ramdisk there are init binary file, init.xxx, and sbin folder. how this file is executed ?what order ? and what is the file that call the init binary file ?
thanks
hadidjapri said:
hi guys, can anybody tell me what is android boot order?
i see in kernel ramdisk there are init binary file, init.xxx, and sbin folder. how this file is executed ?what order ? and what is the file that call the init binary file ?
thanks
Click to expand...
Click to collapse
Most likely there's an embedded initramfs inside the kernel image. Inside that initramfs will be a file telling the kernel what file(s) to be executed first.
-- Sent from a GT-I8150 running ICS perfectly well. F'U, Sams#!t --
pepoluan said:
Most likely there's an embedded initramfs inside the kernel image. Inside that initramfs will be a file telling the kernel what file(s) to be executed first.
-- Sent from a GT-I8150 running ICS perfectly well. F'U, Sams#!t --
Click to expand...
Click to collapse
the initramfs file can be found in root folder. but i have no idea which files executed first. can ya help pep?
Sent from my GT-I8150
hadidjapri said:
the initramfs file can be found in root folder. but i have no idea which files executed first. can ya help pep?
Sent from my GT-I8150
Click to expand...
Click to collapse
I'll see to it tomorrow... right now my Gentoo VM is still not yet completely done installing...
-- Sent from a GT-I8150 running ICS perfectly well. F'U, Sams#!t --
pepoluan said:
I'll see to it tomorrow... right now my Gentoo VM is still not yet completely done installing...
-- Sent from a GT-I8150 running ICS perfectly well. F'U, Sams#!t --
Click to expand...
Click to collapse
let me know if there are some progresses pep
hadidjapri said:
let me know if there are some progresses pep
Click to expand...
Click to collapse
Bad news... I did something stupid which I'm not sure what exactly... and my Gentoo VM is hosed, waaah!
I'll have to reinstall the VM... you'll have to wait additional couple of days...
-- Sent from a GT-I8150 running ICS perfectly well. F'U, Sams#!t --
pepoluan said:
Bad news... I did something stupid which I'm not sure what exactly... and my Gentoo VM is hosed, waaah!
I'll have to reinstall the VM... you'll have to wait additional couple of days...
-- Sent from a GT-I8150 running ICS perfectly well. F'U, Sams#!t --
Click to expand...
Click to collapse
no problem pep
btw, i'm quite sure init binary in the ramdisk call all the init.xxx.rc executeable script. is there any way to hack this init binary to call a script before calling the init.rc files?
hadidjapri said:
no problem pep
btw, i'm quite sure init binary in the ramdisk call all the init.xxx.rc executeable script. is there any way to hack this init binary to call a script before calling the init.rc files?
Click to expand...
Click to collapse
yes, but in a roundabout way.
first, extract the contents of the initramfs somewhere. then, edit the scripts you want to edit. afterwards, create an 'instruction file' for the compiler to create the initramfs. finally, compile the kernel.
it's the 3rd step ('instruction file') that I haven't understand yet... basically, the 'instruction file' (not sure what it's official term is) tells the compiler what files to include, what directories to create, which scripts to run, etc etc
there's currently a lively discussion in the gentoo-user mailing list on how to create one; that's why I want to get my Gentoo VM running...
-- Sent from a GT-I8150 running ICS perfectly well. F'U, Sams#!t --
pepoluan said:
yes, but in a roundabout way.
first, extract the contents of the initramfs somewhere. then, edit the scripts you want to edit. afterwards, create an 'instruction file' for the compiler to create the initramfs. finally, compile the kernel.
it's the 3rd step ('instruction file') that I haven't understand yet... basically, the 'instruction file' (not sure what it's official term is) tells the compiler what files to include, what directories to create, which scripts to run, etc etc
there's currently a lively discussion in the gentoo-user mailing list on how to create one; that's why I want to get my Gentoo VM running...
-- Sent from a GT-I8150 running ICS perfectly well. F'U, Sams#!t --
Click to expand...
Click to collapse
i maybe wrong, but frim reference i got fron xistance's thread about building kernel our initramfs isn't compiled simultanously with the zimage file.
i wonder a way to add instruction for init binary in initramfs. is this possible with hex editing?
Sent from my GT-I8150
hadidjapri said:
i maybe wrong, but frim reference i got fron xistance's thread about building kernel our initramfs isn't compiled simultanously with the zimage file.
i wonder a way to add instruction for init binary in initramfs. is this possible with hex editing?
Sent from my GT-I8150
Click to expand...
Click to collapse
depends on whether Android source can be compiled with the proper make commands that will also build the initramfs.
After all, Linux kernel has for quite some time supported embedding an initramfs into the kernel itself.
As to using a hex editor... I strongly doubt it. The kernel file is (usually) compressed, and the initramfs also.
-- Sent from a GT-I8150 running ICS perfectly well. F'U, Sams#!t --
Pep i know my question is off topic but wt is the gentoo vm exactly ??
pepoluan said:
depends on whether Android source can be compiled with the proper make commands that will also build the initramfs.
After all, Linux kernel has for quite some time supported embedding an initramfs into the kernel itself.
As to using a hex editor... I strongly doubt it. The kernel file is (usually) compressed, and the initramfs also.
-- Sent from a GT-I8150 running ICS perfectly well. F'U, Sams#!t --
Click to expand...
Click to collapse
i doubt about we are using compressed initramfs. i onced ask dorimanx, then he asked back did we use compressed initramfs, did i see init.xxx.rc on the initramfs. then i assume we are running on uncompressed initramfs
i wonder how the init binary file could load some files first and the other at second,third and so on
Sent from my GT-I8150
Up-to-Date Bare Repositories for TW/AOSP 4.2.2 Kernelsamsung-kernel-jfltexx
Short Info:
I've made this repository to have a central place for everyone to fork their kernel base from. The advantage of this repo is that it is always up-to-date (as in the latest linux kernel version). Imagine the difference from starting at a 3.4.0 kernel base and 3.4.52 kernel base, there are thousands of new patches in that patch range. :good:
Repository Url:
Code:
https://github.com/broodplank/samsung-kernel-jfltexx
Repository Info:
Name: samsung-kernel-jfltexx
Description: Bare repositories for jfltexx (i9505)
Branches: tw-4.2.2 and aosp-4.2.2 (aosp 4.3 coming when 4.3 kernel sources are released)
tw-4.2.2 = Stock i9505 TouchWiz Kernel from Samsung sources patched until latest linux kernel version
aosp-4.2.2 = i9505g Google Edition Kernel (for AOSP 4.2.2 Google Edition and TouchWiz 4.2.2) (for i9505)
Getting the sources:
If you want to compile the kernel directly without much changes it's advised to clone it:
Code:
git clone [url]https://github.com/broodplank/samsung-kernel-jfltexx[/url] -b branchname
If you want to make your own kernel it's advised to fork the kernel:
- Login at github
- Go to https://github.com/broodplank/samsung-kernel-jfltexx
- Click Fork at the right top of the page
Click to expand...
Click to collapse
Usage Info:
Initializing first config:
Code:
make VARIANT_DEFCONFIG=jf_eur_defconfig jf_defconfig
Configuration:
Easiest variant (QT based GUI, needs libqt4-dev libqt4-core and libqt4-gui)
Code:
make xconfig
Default variant:
Code:
make menuconfig
Other less popular variants:
(GTK based, doesn't need any special packages)
Code:
make gconfig
(Ncurses based, needs libncurses5, libncurses5-dev and libncursesw5)\
Code:
make nconfig
Building Kernel:
Code:
export ARCH=arm
export CROSS_COMPILE=/path/to/toolchain/bin/arm-eabi-
make -jx (where x is the amount of cpu cores + 1)
Toolchains:
Toolchains that are suited for building the sources are:
arm-eabi-4.6
Click to expand...
Click to collapse
Building boot.img:
Code:
./build_bootimg
(Choose the rom type you will be using and it will be created in build/output)
Flashing boot.img and modules:
Code:
./flash_bootimg
(This is a process that pushes boot.img to your phone and then to the kernel partition, after that you can choose whether to push modules or not, and finally you can choose to wipe dalvik-cache or not and it will reboot.
Updating Info:
If you have forked the repository do this to fetch the updates from this repository:
First add it to the remote:
Code:
git remote add bare [url]https://github.com/broodplank/samsung-kernel-jfltexx[/url]
git fetch bare
Then search for the commit(s) that you want to merge
For 1 commit:
Code:
git cherry-pick [commit hash here, this is the last part of a commits url]
(for example: https://github.com/broodplank/samsung-kernel-jfltexx/commit/612bbea08b67f16dd5628cb8cd8406973f8fe821 would be: 612bbea08b67f16dd5628cb8cd8406973f8fe821)
For a range of commits:
Code:
git cherry-pick [commit a hash]^..[commit b hash]
Where commit a is the oldest commit and commit b the newest.
for example:
Code:
git cherry-pick 0bff3bdba64c58ea6100d72763f2be3acc9659db^..612bbea08b67f16dd5628cb8cd8406973f8fe821
This would patch the sources from 3.4.40 to 3.4.52
Latest Repository Changes:
3-08-2013
- Switched to real samsung 4.3 sources
29-07-2013
- Updated aosp-4.2.2 and tw-4.2.2 to 3.4.55
25-07-2013
- NEW BRANCH: AOSP-4.3
- NEW BRANCH: TW-4.3
- Added MSM8960 Headers from Google!
23-07-2013
- Update to 3.4.54
14-07-2013
- Update to 3.4.53
- Merge sensor fix from faux123
13-07-2013
- Updated defconfigs for proper building
09-07-2013
- Update to 3.4.52
- Sensor fix by ausdim
- Large update to readme
06-07-2013
- Add samsung sources
- Patch to latest version 3.4.51
- add boot.img creator
05-07-2013
- Initial commit, make repository
Thanks, I just forked it.
I'm a noob at this but am learning fast. I've modified and compiled the 3.0.31 kernel for the 9210T but I'd like to now try 3.4. Appears none of the celox changes for board_msm8x60.c source came across from 3.0 to 3.4 so I think I've got my work cut out for me.
m0tter
This guide is not working for me.
If I follow your guide the resulting kernel boots, but I have no sound and no 3G (PIN pad doesn't show up).
I'm on MF8 stock ROM. Yours, Ausdims or my own (based on Samsung Update 2 sources) work fine.
This is what I did:
$ git clone https://github.com/broodplank/samsung-kernel-jfltexx -b tw-4.2.2
$ make VARIANT_DEFCONFIG=jf_eur_defconfig jf_defconfig
$ export ARCH=arm
$ export CROSS_COMPILE=/path/to/toolchain/bin/arm-eabi-
$ make xconfig (no changes!)
$ make -j3
$ ./build_bootimg && ./flash_bootimg (selected 1 for TW)
What am I doing wrong?
harise100 said:
This guide is not working for me.
If I follow your guide the resulting kernel boots, but I have no sound and no 3G (PIN pad doesn't show up).
I'm on MF8 stock ROM. Yours, Ausdims or my own (based on Samsung Update 2 sources) work fine.
This is what I did:
$ git clone https://github.com/broodplank/samsung-kernel-jfltexx -b tw-4.2.2
$ make VARIANT_DEFCONFIG=jf_eur_defconfig jf_defconfig
$ export ARCH=arm
$ export CROSS_COMPILE=/path/to/toolchain/bin/arm-eabi-
$ make xconfig (no changes!)
$ make -j3
$ ./build_bootimg && ./flash_bootimg (selected 1 for TW)
What am I doing wrong?
Click to expand...
Click to collapse
InitRamfs??
Permisions of initramfs?
ausdim said:
InitRamfs??
Permisions of initramfs?
Click to expand...
Click to collapse
Don't know.
I used the script to build the boot.img. If I do the same with my sources, it works.
In both cases, I haven't touched those files.
Sent from my GT-I9505 using xda app-developers app
harise100 said:
Don't know.
I used the script to build the boot.img. If I do the same with my sources, it works.
In both cases, I haven't touched those files.
Sent from my GT-I9505 using xda app-developers app
Click to expand...
Click to collapse
Im not on pc to check that and help you but your problem about radio (pin) sounds initramfs problem.
Unpack an stock boot.img and use that ramfs.
Thanks
ausdim said:
Im not on pc to check that and help you but your problem about radio (pin) sounds initramfs problem.
Unpack an stock boot.img and use that ramfs.
Thanks
Click to expand...
Click to collapse
Thank you for trying to help me... but it still doesn't work. Same result.
harise100 said:
Thank you for trying to help me... but it still doesn't work. Same result.
Click to expand...
Click to collapse
Tonight Ill do a little research on this and tell you the solution.
I remember when I started to make my first kernel, I had similar problems with the Samsung sources.
Wanam gave me his jf_defconfig file and it worked. He said that the config file by Samsung is crap. But I forgot to ask for details.
If I use my config file on your sources, it results in a bootloop, whereas they work fine with Samsung update 2 sources.
Does that make sense?
Sent from my GT-I9505 using xda app-developers app
Still figuring out, why i cant even successfully compile the sources. With ktoonse sources it works.
But i'm still a beginner. Will see about that xP
Gesendet von meinem GT-I9505 mit Tapatalk 2
.c0dy said:
Still figuring out, why i cant even successfully compile the sources. With ktoonse sources it works.
But i'm still a beginner. Will see about that xP
Gesendet von meinem GT-I9505 mit Tapatalk 2
Click to expand...
Click to collapse
What is your problem?
Sent from my GT-I9505 using xda app-developers app
harise100 said:
What is your problem?
Sent from my GT-I9505 using xda app-developers app
Click to expand...
Click to collapse
I hate it -.- xD
Now it worked. And I do not know why... As I am pretty new to this, as already said, - could this be the problem? :
I think I made this:
$ make VARIANT_DEFCONFIG=jf_eur_defconfig jf_defconfig
$ make xconfig
$ export ARCH=arm
$ export CROSS_COMPILE=/path/to/toolchain/bin/arm-eabi-
Click to expand...
Click to collapse
instead of:
$ make VARIANT_DEFCONFIG=jf_eur_defconfig jf_defconfig
$ export ARCH=arm
$ export CROSS_COMPILE=/path/to/toolchain/bin/arm-eabi-
$ make xconfig
Click to expand...
Click to collapse
So I used xconfig before setting ARCH and CROSS_COMPILE.
Could that be the problem?
Atm i can not paste the error. The first one had something to do with a buffersize. Could "fix" that by setting "CONFIG_FRAME_WARN=1024" higher. Because it said it was 1032.
Second error was something like "‘ret’ may be used uninitialized in this function [-Wuninitialized]".
---------- Post added at 08:08 PM ---------- Previous post was at 07:32 PM ----------
Will add a new post for this, if it's okay.
And i hope it's okay to ask in here
So, first, as wrote in my previous post the compiling worked.
Now, i did the following:
1. Changed in the config: "kernel compression mode -> LZO
2. Removed "Optimize for size"
3. And changed the flag in the makefile to O3.
kernel/workqueue.c: In function 'freeze_workqueues_begin':
kernel/workqueue.c:483:11: warning: array subscript is above array bounds [-Warray-bounds]
error, forbidden warning: workqueue.c:483
make[1]: *** [kernel/workqueue.o] Error 1
make[1]: *** Waiting for unfinished jobs....
While writing this I reset "Optimize for size" and restart compiling. Now it does seem to work.
So i guess there is a problem with the flag. Where is the right place of the flag?
If you want to use O2 or O3, it requires some modification of config and make files.
The build boot.img script worked for me right away.
Sent from my GT-I9505 using xda app-developers app
harise100 said:
If you want to use O2 or O3, it requires some modification of config and make files.
The build boot.img script worked for me right away.
Sent from my GT-I9505 using xda app-developers app
Click to expand...
Click to collapse
Ah okay, thanks. Will see if I can find a few more infos about that
broodplank1337 said:
Tonight Ill do a little research on this and tell you the solution.
Click to expand...
Click to collapse
Did you find anything?
I do have a working build environment and I can compile and install a kernel that is better than stock kernel.
Only these sources don't work. How is that possible?
Sent from my GT-I9505 using xda app-developers app
.c0dy said:
Ah okay, thanks. Will see if I can find a few more infos about that
Click to expand...
Click to collapse
check out this commit: https://github.com/broodplank/andro...mmit/69b6e56fb4151f547368fc77d5ad682fbf99ea7b
broodplank1337 said:
check out this commit: https://github.com/broodplank/andro...mmit/69b6e56fb4151f547368fc77d5ad682fbf99ea7b
Click to expand...
Click to collapse
I'll give it a try when I get home.
Sent from my GT-I9505 using xda app-developers app
harise100 said:
I'll give it a try when I get home.
Sent from my GT-I9505 using xda app-developers app
Click to expand...
Click to collapse
It will work if you have the right toolchain, I use this one:
http://www.mediafire.com/download/i...linaro_4.7.4-2013.07-build_2013_07_12.tar.bz2
It's an optimized Linaro toolchain (http://forum.xda-developers.com/showthread.php?t=2098133)
broodplank1337 said:
check out this commit: https://github.com/broodplank/andro...mmit/69b6e56fb4151f547368fc77d5ad682fbf99ea7b
Click to expand...
Click to collapse
Thanks Will try that.
I already compiled a kernel, but it just booted until the samsung logo.. after that instant reboot... :/
When I try to repack the KyleOpen kernel with sabermod-arm-eabi 4.7 on Ubuntu 14.04.1 I get this:
HTML:
./mkbootimg --kernel /home/h64/bootextract/boot/boot.img-kernel --ramdisk /home/h64/bootextract/boot/boot.img-ramdisk.cpio.gz --base 0x11800000 --pagesize 4096 -o newboot.img
error: failed writing 'newboot.img': Bad address
I followed "How to compile a kernel for samsung galaxy trend s7560" on youtube.
I think you are trying unpack boot.img and repack for something, not building. Are you?
PolishVodka said:
I think you are trying unpack boot.img and repack for something, not building. Are you?
Click to expand...
Click to collapse
Oops, sorry.
Yes it is already built, I'm tying to re-pack it.
I don't know for which device you wanna unpack boot.img , but for me the best tool is:
http://forum.xda-developers.com/showthread.php?t=2036528
Samsung Galaxy Ace II X
Or the model number below.
Sent from my GT-S7560M using XDA Free mobile app