Hi all,
we are trying to build our own kernel for a Samsung Galaxy S (I9000XWJVB).
What we did so far:
- Download the correct sources from "opensource.samsung.com"
- Studied the README
- Installed cross-compiler toolchain
- Created ".config" as described in README
- Kernel compiled
Compilation worked fine -> zImage was available (but with only 2mb very)
OK, looks like initramfs is missing.
The first question is now, where to get / how to create a correct initramfs?
We copied the initramfs from Leshak and we extracted an ".cpio" from a working zImage.
Then we tried to use them in the ".config" (CONFIG_INITRAMFS_SOURCE) for kernel compilation.
Resultant zImage was larger (around 6mb) so it looks like something changed.
But once we installed the tared zImage on the phone (using Odin), the phone freezes during reboot.
Any advice how to progress here?
Is it possible to use Leshaks initramfs for all Galaxy S phones? Or is this only for a specific version? The CONFIG_INITRAMFS_SOURCE should point to the "initrd.arm.initramfs_list", correct? And not to the initramfs-folder?
And: Is there a way to get any type of kernel boot debugging message from the booting phone back to the PC (or the phone screen)?
Many thanks in advance!
Hi all, like you know our phone is different from other cause - to flash the kernel - you need to pack it with the ramdisk files and flash it to the phone as normalboot.img.
Some people want try to build a custom kernel but after they obtain the zImage file they are not able to flash it to the phone.
So here is the "HOWTO" to explain what you have to do for unpack/repack normalboot.img.
You need Linux to do this (also a visrtualized distro).
1- download and unzip the attached file;
2- place the normalboot.img file into the tools folder;
3- go in the root folder and do:
Code:
./unpack-all.sh
4- now you have succesfull unpacked your file. You can find the zImage file in the "kernel" folder and the ramdisk files in the "ramdisk" folder.
Basically now you can do all that you want. If you have a custom kernel overwrite the zImage file with your. If you want edit the ramdisk go in the folder called "ramdisk" and mod what you want.
When you finished do:
Code:
./create_boot.img.sh
Now you will find the .tar file ready to be flashed on your phone with odin.
If you are asking yourself "where can i find normalboot.img file?" the answers are:
1- into the PDA.tar of your Firmware;
2- dump it from the phone with:
Code:
dd if=/dev/block/bml7 of=/sdcard/normalboot.img
Bye
Thanks Buddy..
BTW your posts are always very crisp and enlightening. I appreciate.
regards
I tried the script, and it seems to work. Seems, because it unpacked and repacked fine, and I replaced the kernel with a self compiled one. But, to make it short, the phone didn't boot. It was stuck on the "Galaxy S"-screen.
Any ideas, why a kernel which compiled without errors does not boot? Skin, did you change specific settings for compiling your OC-kernel, besides the overclocking adjustments?
XDA_Bam said:
I tried the script, and it seems to work. Seems, because it unpacked and repacked fine, and I replaced the kernel with a self compiled one. But, to make it short, the phone didn't boot. It was stuck on the "Galaxy S"-screen.
Any ideas, why a kernel which compiled without errors does not boot? Skin, did you change specific settings for compiling your OC-kernel, besides the overclocking adjustments?
Click to expand...
Click to collapse
I think that your kernel version doesn't match with the modules... so in your Makefile change the version name to match it with the stock.... so you have to change the version from 2.6.35.7 to 2.6.35.7-CL..... (don't remember if the number are correct)
Thanks, Skin! That did the trick. Now running self compiled vanilla kernel. Interestingly, it is about 200kb bigger than the stock kernel.
EDIT: Obviously, the repack-script is running fine.
other way to do dis is by using kitchen ..
js rename ur normalboot.img to boot.img den replace the boot.img in ur working directory ..
in the kitchen advanced options , unpack/repack boot.img ...
u ll get the same output
this one is easier as we dont need to remember the commands
XDA_Bam said:
Thanks, Skin! That did the trick. Now running self compiled vanilla kernel. Interestingly, it is about 200kb bigger than the stock kernel.
EDIT: Obviously, the repack-script is running fine.
Click to expand...
Click to collapse
To make it smaller you can use the Buildscript used in the froyo version of kernel source... Amit told me it this morning... and it worked greatly
bajju123 said:
other way to do dis is by using kitchen ..
js rename ur normalboot.img to boot.img den replace the boot.img in ur working directory ..
in the kitchen advanced options , unpack/repack boot.img ...
u ll get the same output
this one is easier as we dont need to remember the commands
Click to expand...
Click to collapse
Commands? You can do it with two mouse click!
Skin1980 said:
To make it smaller you can use the Buildscript used in the froyo version of kernel source... Amit told me it this morning... and it worked greatly
Click to expand...
Click to collapse
Yes, works. But my kernel stays at 3.3MB... still 0.2 larger than the stock one.
By the way: Had a SOD with the self-compiled kernel. Screen didn't wake up from standby, but soft buttons were lid. Guess the info from Samsung that closed source software is missing from the package is correct
i still have sod also with the new compilation mod.... by me sammy is missing something or simply the source are not updated like i supposed....
thanks....this rescued me
---------- Post added at 07:50 AM ---------- Previous post was at 07:20 AM ----------
i have a silly doubt
cud i download the linux kernel v3 from korg and compile it for i9003?or do i have to stick with 2.6.35?
Maybe it would be possible. The main problem are the drivers - they would most likely require major changes. But even CyanogenMod is running 2.6.37 and nothing more recent.
If you want to use a newer kernel, you could try that one, or - to minimize problems - use the 2.6.35.14 bugfix release. This seems most reasonable to me.
XDA_Bam said:
Maybe it would be possible. The main problem are the drivers - they would most likely require major changes. But even CyanogenMod is running 2.6.37 and nothing more recent.
If you want to use a newer kernel, you could try that one, or - to minimize problems - use the 2.6.35.14 bugfix release. This seems most reasonable to me.
Click to expand...
Click to collapse
shoot........404 not found
Those hackers...................
you are our phone's God!
Sent from my GT-I9003 using xda premium
i need help, i try to make stock normalboot.img tar with ur files.
but there is a big bug
phono booting but stay at "samsung" screen.
someone have this bug like me and u says that "chance ur kernel version in make boot file" but i cant find how chance kernel version in make boot file. how can i?
ROM: 2.3.6 JVKPB TUR ROM (galaxy sl i9003)
please help...
Skin1980 said:
Hi all, like you know our phone is different from other cause - to flash the kernel - you need to pack it with the ramdisk files and flash it to the phone as normalboot.img.
Some people want try to build a custom kernel but after they obtain the zImage file they are not able to flash it to the phone.
So here is the "HOWTO" to explain what you have to do for unpack/repack normalboot.img.
You need Linux to do this (also a visrtualized distro).
1- download and unzip the attached file;
2- place the normalboot.img file into the tools folder;
3- go in the root folder and do:
Code:
./unpack-all.sh
4- now you have succesfull unpacked your file. You can find the zImage file in the "kernel" folder and the ramdisk files in the "ramdisk" folder.
Basically now you can do all that you want. If you have a custom kernel overwrite the zImage file with your. If you want edit the ramdisk go in the folder called "ramdisk" and mod what you want.
When you finished do:
Code:
./create_boot.img.sh
Now you will find the .tar file ready to be flashed on your phone with odin.
If you are asking yourself "where can i find normalboot.img file?" the answers are:
1- into the PDA.tar of your Firmware;
2- dump it from the phone with:
Code:
dd if=/dev/block/bml7 of=/sdcard/normalboot.img
Bye
Click to expand...
Click to collapse
Wow you are great !!! Loved it .. so easy .... made my dead phone alive .. you are the best \m/
Hi,
i'm trying to compile google sources version 4.0.4 with samsung sources from opensource samsung
From samsung sources i've only used the platform files. I've done all the steps that are in the platform readme:
How to build Mobule for Platform
- It is only for modules are needed to using Android build system.
- Please check its own install information under its folder for other module.
[Step to build]
1. Get android open source.
: version info - Android gingerbread 4.0.4
( Download site : source android)
2. Copy module that you want to build - to original android open source
If same module exist in android open source, you should replace it. (no overwrite)
# It is possible to build all modules at once.
3. Check module is in 'build\core\user_tags.mk'
If not, you should add your module name in it.
ex1) external\libjpega : Write "libjpega \" into "build\core\user_tags.mk"
ex2) external\libexifa : Write "libexifa \" into "build\core\user_tags.mk"
4. In case of 'external\bluetooth',
you should add following text in 'build\target\board\generic\BoardConfig.mk'
BOARD_HAVE_BLUETOOTH := true
BOARD_HAVE_BLUETOOTH_BCM := true
5. excute build command
./build.sh user
The command user was ./build.sh eng
Before running this command i've installer jdk 6 and follow the steps from android initializing
the ./build.sh eng run with success and after this i've run the make.
Some hours later i've got a new folder "OUT", inside there is a system folder but i've tryed to flash this folder with odin
and no success.
What am i doing wrong?
Thanks.
Trying to build the kernel + modules?
If i understand what your trying to do, Install new kernel and modules?
!!!!!Before you try this, do some research for your device and make sure this is the correct action!!!!!
you are looking for a file called: zImage
It should be in <build path>/arch/arm/boot/
To install the new kernel, you put your device into fastboot
Code: adb reboot-bootloader
Then you can install the new kernel:
Code: fastboot flash zimage /<path to your zImage file>/zImage
Then you can boot your device and manually copy over the modules.
Note: I didn't see in your steps where you mentioned configuring the kernel, are you doing this?
Thanks for your reply.
the kernel i've already compiled like you mentioned and it is ok i've flashed the zImage.
But there is another part that is the platform module that corresponds to the system.
When you have a Rom there are 3 things inside:
- boot.img that has the zImage (kernel)
- meta-inf
- system
i'm changing the code in one file that corresponds to the nfc part and them compile the samsung sources
and google sources to get that system.
after compile the is one folder out that has system.img but i can't flash this .img file the mobile phone gets like a stone :S
All Black!
Please describe the process you are using to flash the system.img.
Have you though about just copying over the modified files?
Also, if you could create a step by step list of your process, maybe we can figure out what's going wrong.
i've compiled the google+samsung sources and this created the system.img.
Then i used Heimdall to choose only system to flash and It didn't work.
i've tryed also to change only the nfc.apk file put it in the app folder tryed to flash the ROM (in this case from Cyanogenmod) and it didn't work.
Thanks.
pec0 said:
i've compiled the google+samsung sources and this created the system.img.
Then i used Heimdall to choose only system to flash and It didn't work.
i've tryed also to change only the nfc.apk file put it in the app folder tryed to flash the ROM (in this case from Cyanogenmod) and it didn't work.
Thanks.
Click to expand...
Click to collapse
have you tried to remove and install your nfc.apk using adb rather than trying to flash the entire rom? I would think all you need to do is mod the kernel, flash the kernel, then copy over any modules and replace the nfc.apk.
Hi,
I'm currently trying to build a kernel for my GT-P5110. I have a stock Android 4.2.2 which I downloaded from sammobile. I also downloaded the kernel from Samsung Open Source. I've use split_bootimg.pl to get the ramdisk from the boot.img and mkbootimg to make a boot.img from my zImage build successfully and the ramdisk. The problem is, when I flash my boot.img, I get stuck on the Samsung Galaxy Tab 2 logo even if I use the android_espresso10_omap4430_r02_user_defconfig which is suggested by Samsung.
Is there anyone able to sucessfully flash this kernel on his device?
Update: It seems like the defconfig file included in the Samsung Open Source contains some error.
If you want a working defconfig file use this one: http://forum.xda-developers.com/showpost.php?p=37685672&postcount=12
hello i was looking for a samsung G928G S6 (Edge plus) kernel that has a drivedroid support but i was unable to find one.
since i am familiar with linux system i decided to try and build my first kernel.
i downloaded a stock kernel source from
https://opensource.samsung.com/uploadSearch?searchValue=g928
and other custom lineage os kernel from github
https://github.com/universal7420/android_kernel_samsung_universal7420
following this guide
https://forum.xda-developers.com/galaxy-s6/general/guide-how-to-build-samsung-kernel-july-t3429355
and this guide.
https://forum.xda-developers.com/an...erence-how-to-compile-android-kernel-t3627297
this are the steps that i did
export CROSS_COMPILE=$(pwd)/bin/aarch64-linux-android-
export ARCH=arm64 && export SUBARCH=arm64
when i came to make clean step i was getting this error
aarch64-linux-android-4.9/bin/aarch64-linux-android-gcc: No such file or directory
i noticed in my toolchain folder aarch64-linux-android-gcc was missing
so i downloaded some other toolchains until i found one that has gcc
moving to next steps
make clean
make mrproper
make exynos7420-zenlte_defconfig based on stock kernel and
make lineageos_zenlte_defconfig based on lineage os kernel
when i did the make -j$(nproc --all) i get this error
make: *** [Makefile:552: scripts] Error 2 and when i checked in Makefile line 552 i found this
$(Q)$(MAKE) $(build)=$(@)
i get this error everytime i try. i use Arch linux i tried in Ubuntu same thing
Cool How about Kali-linux mod did you check it?
We have Kali-Linux mod for S6 it has drive-droid build-in
Johannes89 said:
Cool How about Kali-linux mod did you check it?
We have Kali-Linux mod for S6 it has drive-droid build-in
Click to expand...
Click to collapse
i tried it yesterday but it hangs on creating image since my device is s6 edge+ not s6
Try to create img file from other source like windows or other program and move it to your phone
so i followed your advice and tried to build on windows 10 ubuntu from their store (though i hate using windows) and it was a success. i patched drivedroid stuff in the kernel
i build one from samsung official kernel and boom! drivedroid works , after a minute i experience some never ending bootloops , in 30 seconds i can use my phone after that it boots again, the loop never ends.
i clone another kernel the lineage one , after spending the whole day building , failing ,errors , bugs, electricity issue and stuff ,
I HAVE FINALLY HAVE A DEVICE THAT WORKS NO BOOTLOOPS AND DRIVEDROID IS WORKING. though the lineage os rom has some camera problems . But yeah it was a good day