[size=+2]PLEASE USE THIS THREAD (LINK) FROM NOW ON. I WILL NOT MONITOR THIS THREAD ANYMORE [/size]
INTRODUCTION
So we all know dsixda's XDA ROM Kitchen
Then how about a kitchen for Kernels ??
What started out just as my personal directory where I kept all my kernel and ramdisk tinkering scripts, has now turned into a project (which is far from finished right now )
This does NOT enable you to compile the kernel binary (aka zImage).
This enables you to edit ramdisk and change bootsplash images and helps kernel developers to deploy their compiled kernel in a usable form.
FEATURES
As of now what we can do with the Kernel Kitchen is
Fully menu driven interface (like dsixda kitchen)
Extract zImage and ramdisk from boot.img file
Create boot.img from zImage and ramdisk
Extract zImage and ramdisk from any ftf file that contains kernel.sin (Xperia 2010, 2011, 2012)
Create flashable ftf from zImage and ramdisk (Xperia 2010 only)
Create compressed ramdisk binary from ramdisk folder
Extract ramdisk files from ramdisk binary
Convert png image to rle format (used in android boot splash images)
Convert rle boot splash to png file (so that you can edit it)
Proposed upcoming features
Automatic script to change boot splash in a kernel with your favourite png file
STYLE CODE :
bold are supported only in linux
italics are supported in linux and windows+cygwin
underline are supported in windows native (without cygwin)
(if more than one style is used, it supports all respective platforms)
REQUIREMENTS
This tool is primarily meant for linux users (preferably Uubuntu).
But it works perfectly well on windows+cygwin too
Some portions of the kitchen have support for native windows (without even cygwin)
Rest all requirements are mentioned in the readme
WHAT ARE ITS USES ?
1.The primary purpose (for which this project started out in the first place) is to provide a easy kernel deployment tool for wannabe kernel devs.
A lot of us can compile a kernel from source but that is just the zImage and cannot be used as such on the phone. We need to package it with a ramdisk ad deploy it thorough a proper method (flashtool for Xperia, ODIN for samsund, and fastboot for other phones)
2.You canedit ramdisk properties (by editing default.prop)
Changing ro.secure=1 to ro.secure=0 makes your ramdisk insecure and enables easy root access 3.The most immediate and popular use that i can see right now is changing the boot logo to your liking
the boot logo is called logo.rle or initlogo.rle and is placed in the root of ramdisk folder.
When you split kernel, you can find the rle file which you can convert into png, do necessary editing and convert back into rle and pack up the ramdisk and create a new kernel
4.Other than that, you can change the recovery system
for eg. you can include Doom's Touch recovery system inside your favourite kernel
or you can include the xRecovery inside CM7 kernel so that you can flash amend zips.
Changing the recovery is ofcourse a little more complicated for average users, and i'll write a short tuto for that soon enough DOWNLOAD AND USAGE
The sources can be found on www.github.com/championswimmer/kernel-tools
For linux (and cygwin) users I recommend the install git and run this command to get a copy of my repository
Code:
git clone https://github.com/championswimmer/kernel-tools.git
Or in general, all linux and windows users can just get a zipball of my repo here
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
All usage information can be found on this elaborate readme
In short all you have to do is cd to the appropriate folder and run this
Code:
./menu
CREDITS
None of this was possible without the helps and works of DoomLord, Azuzu, bin4ry, FXP, defer, blagus, nobodyAtall, the_laser, Androxyde
These works are directly included in my project
DoomLord's kernel.sin and ftf creator (windows version)
These works are used in their modified/repackaged form
DoomLord's png and rle interconversion tool (windows version)
DoomLord's perl script to split kerel.sin
And big thanks to nobodyAtall for pointing me the appropriate linux binaries (or i would have kept pouring wine over windows exe files)
Thanks to ImageMagick developers for the awesome tool
SOURCES USED
1. to565 and from565 source code (part of Android Open Source Project)
2. mkbootimg and mkbootfs standalone sources (part of AOSP)
3. abootimg sources (by Gilles Grandou)
This will help some people to began development...nice sharing
Sent from my E15i using xda premium
milenkokg said:
This will help some people to began development...nice sharing
Sent from my E15i using xda premium
Click to expand...
Click to collapse
thanks,
and for a head-start into "how to compile a kernel"
see this
http://forum.xda-developers.com/showpost.php?p=24885347&postcount=19
thanks champswimer...
I'm waiting your rom update..
Hmmm...i may just be a big of fool enough to try this
nice...
"The guy who ported xperia s firmware to x10" is in x8 block
Amazing!
We may be seeing some new kernels around here soon!
Its developers like you that make a difference
Sent from my Xperia™ PLAY using TapatalkHD
IrishStuff09 said:
Amazing!
We may be seeing some new kernels around here soon!
Its developers like you that make a difference
Sent from my Xperia™ PLAY using TapatalkHD
Click to expand...
Click to collapse
i am certainly interested if someone donates me an old/used X8
I love developing for older models anyways (cause for top mdels therea rea already top devs and i'm not too rich to use smartphones, my x10 was my gift, not bought )
btw guys please keep a tab on my thread on x10 forum as i monitor that closely, (ofcourse i monitor the x8 and mini threads too)
this was mainly for informing you guys,
as i have mentioned, i'll soon move this into chef central as soon as the boot.img area is finished
Linux Mint 12
I have small problem.With Linux Mint 12 . I extracrt kernel.sin in input folder and i run the terminal and write were going to extract him, but they nothing found in kernel.sin.The output folder its empty
danibosev said:
I have small problem.With Linux Mint 12 . I extracrt kernel.sin in input folder and i run the terminal and write were going to extract him, but they nothing found in kernel.sin.The output folder its empty
Click to expand...
Click to collapse
could you give me a screenshot of terminal ???
btw you need to use KERNEL.FTF file, not KERNEL.SIN file
For me too same result...it was empty even I use with ftf files....
But use alternative unpack-kernelsin.pl it can decompiled well but unpack was empty folder only..
Sent from my E15i using XDA
((( RedDeviL ))) said:
For me too same result...it was empty even I use with ftf files....
But use alternative unpack-kernelsin.pl it can decompiled well but unpack was empty folder only..
Sent from my E15i using XDA
Click to expand...
Click to collapse
how about using the argument ???
and please give screenshots of the terminal
((( RedDeviL ))) said:
For me too same result...it was empty even I use with ftf files....
But use alternative unpack-kernelsin.pl it can decompiled well but unpack was empty folder only..
Sent from my E15i using XDA
Click to expand...
Click to collapse
the name of file should be kernel.ftf
abcd.ftf will not work
Sent from my X10S using xda premium
Yes, i download .ftf file in input folder but output folder again its empty ( i do it maybe 5-10 times)
is the name "kernel.ftf" ???
if it is suppose nAa-R20-U15.ftf then change it to kernel.ftf
no other name than kernel.ftf will work
and i have made some fixes, so please redownload the kitchen and try
btw are you on linux or cygwin or mac os ????
I use Linux.I rename the file to kernel.ftf an again nothing.Output it empty
do you have perl installed ???
can you copy paste me the oputput you are seeing on the console screen ???
I have perl 5 installed
Here the output :
Supported Devices:
Xperia X10 (GB update, custom kernels for unlocked bootloaders)
Xperia 2011 devices (Arc, Neo, Play, Mini, Mini Pro, Ray, Pro)
could not open boot img file: kernel.sin
mv: cannot stat `kernel.sin*': No such file or directory
mv: cannot stat `*.cpio.gz': No such file or directory
mv: cannot stat `*kernel': No such file or directory
mv: cannot stat `*header': No such file or directory
mv: cannot stat `kernel.sin-ramdisk': No such file or directory
danibosev said:
I have perl 5 installed
Here the output :
Supported Devices:
Xperia X10 (GB update, custom kernels for unlocked bootloaders)
Xperia 2011 devices (Arc, Neo, Play, Mini, Mini Pro, Ray, Pro)
could not open boot img file: kernel.sin
mv: cannot stat `kernel.sin*': No such file or directory
mv: cannot stat `*.cpio.gz': No such file or directory
mv: cannot stat `*kernel': No such file or directory
mv: cannot stat `*header': No such file or directory
mv: cannot stat `kernel.sin-ramdisk': No such file or directory
Click to expand...
Click to collapse
does your ftf file contain kernel.sin ?
Sent from my X10S using xda premium
Greetings, oh mighty people on XDA!
I am trying to change the FreeXperia screen (.rle file) on the CM 9.1.0 Rom for Xperia S (Nozomi) and i have run into a brick-wall
Whenever i'm trying to extract my boot.img using Dsixda's kitchen(cygwin - i'm a windows user) i get this:
Code:
Android 'magic' header not found at start of boot.img
Checking if it exists elsewhere ...
Warning: Android header not found in boot.img (unsupported format)
Error: kernel offset (page size) is 0
Press Enter to continue
Also found out that Xperia S is not on the kitchen's supported devices list, so here is the question:
how can i unpack and pack my boot.img using windows 7 (64-bit)?
You can extract it with 7-zip, the boot.img is an ELF file. Repacking will be difficult from there without a complete POSIX toolchain.
can't extract it with 7zip, it's said that file was not supported ...
use ultra iso or winrar ... just a wild
guess
Sent from my Xperia U using Tapatalk 2
Hi
I want to add to my custom ROM a new group id, which I have defined in the file "android_filesystem_config.h".
In general, this file will be included by the android source code, unfortunately my custom ROM has it also built in it sources and I don't have access to this header file.
Then I saw, that android kitchen has in its folder tools/mkboot the file "android_filesystem_config.h". How is this config file used by the kitchen, has it any influence on building the boot.img in the tool or not?
I tried to build a boot.img by running
Code:
mkbootimg --kernel zImage --initrd.gz -o boot.img
, but the modified android_filesystem_config.h did not have any influence. What is the tool mkbootfs for?
Is it even possible to patch a boot.img whit new gid information or do I have to rebuild a whole ASOP?
Thanks and regards
cloooned
Note: I'm just sharing the work of the XDA Member CNexus.Here's a little introduction by him :
CNexus said:
I have not seen this posted anywhere, so I thought I would post it here. This is NOT purely my work, and I do not take credit for it as such.
Included in the attached ZIP are the following files:
boot_info - prints information about the boot.img passed to it, including the base address and ramdisk address. This tool prints out everything needed to repack the boot.img correctly.
split_boot - More commonly known as split_bootimg.pl, this rips apart the boot.img to extract the ramdisk and zImage. It has been modified by me to split the boot.img into a separate folder (specified by the file name of the boot.img passed to it) and to extract the ramdisk into a sub-folder as well (extracts the cpio from the gz and then extracts the actual files from the cpio archive)
unpack_ramdisk - unpacks the given ramdisk file.
Code:
Usage: unpack_ramdisk
repack_ramdisk - repacks the ramdisk from the given directory (found online and modified slightly to take a directory)
Code:
Usage: repack_ramdisk [outputFile]
mkbootimg - mkbootimg binary that creates a boot.img file from the given ramdisk and zImage. Updated to a version compiled by me to support the --ramdiskaddr option (ramdisk address) so that even nonstandard boot.img's can be repacked correctly (Use with boot_info for best results).
umkbootimg - included for convenience. Not made by me. Original thread here.
unpack - wrapper script made by me for the umkbootimg binary^ to unpack the boot.img into a separate directory and then unpack the ramdisk into a sub-directory.
Note: These tools were made for Linux. They may also work on Cygwin, but I have not personally tested them.
ANYONE is free to use / modify / kang these files as they see fit. No need to ever ask or do anything more than download.
Enjoy.
Click to expand...
Click to collapse
Download the required files from the original thread.
Original Thread : http://forum.xda-developers.com/showthread.php?t=2319018
1+
Sent from my GT-S5360 using Tapatalk 2
So, I'm doing this tutorial due to the trial and error I got.
Prerequisites:
Ubuntu or any linux-based os with the right packages installed
Source code from the kernel
Backup of you boot partition
These tools here
Patience
1) The first thing you want to do is to do a backup of your boot partition.
Code:
adb shell
dd if=/dev/block/mmcblk0p9 of=/sdcard/boot.img
2) Download the source code from here, extract it and place it somewhere. I placed it in /home/fabio/Documentos/Kernel/sourcecode
3) Download a toolchain, I downloaded "aarch64-linux-android-4.8" from google and placed in "/home/<your username>/Documentos/Kernel/aarch64-linux-android-4.8"
4) Go to your kernel source code and find the file "Makefile", open it and change CROSS_COMPILE= to say the place where you stored the toolchain "/home/<your username>/Documentos/Kernel/aarch64-linux-android-4.8" + "/bin/aarch64-linux-android-"
5) Now that you are done setting up the stuff, open a console and navigate to your kernel source code root and type
Code:
make
make pxa1908_grandprimevelte_eur_defconfig
make -j#
# is the number of cores + 1
6) While that runs, go to where you stored those mkbootimg tools and unpack that boot.img you backed up
7) Once the kernel building is complete. Go to your kernel folder and navigate to arch/arm64/boot and copy the file "Image.gz"
8) Download bless or an Hex Editor of your liking and open the following files: boot.img (the original boot), Image.gz, boot.img-zImage.
Search on the "boot.img-zImage" for 1F 8B 08 and copy everything before then on your Image.gz place what you copied and save it as a different file otherwise it will fail to save.
9) Go to your mkbootimg folder and where you stored the unpacked files and build one boot.img with the following command
Code:
./mkbootimg --kernel image2.gz --ramdisk boot.img-ramdisk.gz --dt boot.img-dt --signature boot.img-signature -o boot2.img
10) Flash the boot2.img using any software you want!
THIS MIGHT NOT WORK! If it doesn't you can send me a DM! I will be retouching this post again and make it prettier adding pictures and stuff but for now I can't do much!
If you know a better way of doing this please say in the replies! I will be building a kernel for this device soon enough
RESERVED
Can you please upload link of custom kernel
I'm still trying to do a kernel with new features, but don't know what to add yet. Trying to make Init.d support without 3rd party apps!
EDIT1: I give up! My phone is too much trouble and since SAMSUNG doesn't care about it neither do I anymore! Try to build the kernel yourself and tweak it as you like! Make a script to automate this process to be easier! Good luck! Anything you need just say
Can you help this guy for porting kernel source code http://forum.xda-developers.com/grand-prime/general/developers-discussion-sm-g531f-custom-t3444598
fabiossilva21 said:
So, I'm doing this tutorial due to the trial and error I got.
Prerequisites:
Ubuntu or any linux-based os with the right packages installed
Source code from the kernel
Backup of you boot partition
Degas mkbootimg tools
Patience
1) The first thing you want to do is to do a backup of your boot partition.
Code:
adb shell
dd if=/dev/block/mmcblk0p9 of=/sdcard/boot.img
2) Download the source code from here, extract it and place it somewhere. I placed it in /home/fabio/Documentos/Kernel/sourcecode
3) Download a toolchain, I downloaded "aarch64-linux-android-4.8" from google and placed in "/home/fabio/Documentos/Kernel/aarch64-linux-android-4.8"
4) Go to your kernel source code and find the file "Makefile", open it and change CROSS_COMPILE= to say the place where you stored the toolchain "/home/fabio/Documentos/Kernel/aarch64-linux-android-4.8" + "/bin/aarch64-linux-android-"
5) Now that you are done setting up the stuff, open a console and navigate to your kernel source code root and type
Code:
make
make pxa1908_grandprimevelte_eur_defconfig
make -j#
# is the number of cores + 1
6) While that runs, go to where you stored degas-mkbootimg tools and unpack that boot.img you backed up
7) Once the kernel building is complete. Go to your kernel folder and navigate to arch/arm64/boot and copy the file "Image.gz"
8) Download bless (Hex Edit) and open the following files: boot.img (the original boot), Image.gz, boot.img-zImage.
Search on the "boot.img-zImage" for 1F 8B 08 and copy everything before then on your Image.gz place what you copied and save it as a different file otherwise it will fail to save.
9) Go to your degas-mkbootimg folder and where you stored the unpacked files and build one boot.img with the following command
Code:
./degas-mkbootimg --kernel image2.gz --ramdisk boot.img-ramdisk.gz --dt boot.img-dt --signature boot.img-signature -o boot2.img
10) Flash the boot2.img using any software you want!
THIS MIGHT NOT WORK! If it doesn't you can send me a DM! I will be retouching this post again and make it prettier adding pictures and stuff but for now I can't do much!
If you know a better way of doing this please say in the replies! I will be building a kernel for this device soon enough
Click to expand...
Click to collapse
i follow this step and build kernel after flash boot.img phone not booting
my boot.img size is 8.2MB (image.gz size 6.5MB) where stock size is 8MB
is problem with size?
sorry for my bad english
How did you flash the boot.img?
fabiossilva21 said:
How did you flash the boot.img?
Click to expand...
Click to collapse
using odin
What changes did you make to the kernel?
fabiossilva21 said:
What changes did you make to the kernel?
Click to expand...
Click to collapse
Add governors
Other setting same as stock
If i build with stock setting without any changes then kernel boot but if i change something then its stuck on Samsung logo
Sorry, I can't really help you... I no longer work with Grand prime... switched to a J5
fabiossilva21 said:
Sorry, I can't really help you... I no longer work with Grand prime... switched to a J5
Click to expand...
Click to collapse
Ok
Noice