Decompile kernel - Android Q&A, Help & Troubleshooting

I have a kernel image whose source is not open =| any way to decompile it, so I get an idea to write a kernel from scratch. It is based on linux 2.6.35.7 with some addons

Ok. No more android development by me :sly:

ramoneC said:
I have a kernel image whose source is not open =| any way to decompile it, so I get an idea to write a kernel from scratch. It is based on linux 2.6.35.7 with some addons
Click to expand...
Click to collapse
You cant decompile a kernel zimage
And Questions belong in the Q&A thread, not here.

ramoneC said:
I have a kernel image whose source is not open =| any way to decompile it, so I get an idea to write a kernel from scratch. It is based on linux 2.6.35.7 with some addons
Click to expand...
Click to collapse
Yes, you can't decompile a zImage. Only compiling from the sources is possible.
If you want to get an idea for compiling kernel, then I'd suggest to get the sources from the Manufacture's website (Yes, they'll publish the sources) and compile with adding features or not, and if successful then you can try it on Stock ROM.

ramoneC said:
I have a kernel image whose source is not open =| any way to decompile it, so I get an idea to write a kernel from scratch. It is based on linux 2.6.35.7 with some addons
Click to expand...
Click to collapse
by the open source licence that the kernal is distributed under they are required to provide you with the sources. if not on their website, then send them an email.

how did magisk patch the kernel if not decompile. anyone explain?

kanso said:
by the open source licence that the kernal is distributed under they are required to provide you with the sources. if not on their website, then send them an email.
Click to expand...
Click to collapse
I got SILENCE from them ☺ and this is what i hate the most in many places when there is no response, like in chatting, forum...

Related

[OCT30] Custom kernel... [build3!]

Okay, I managed to fix the sources and got it compiled.
This is based on 4.06/4.08 sources with 4.08 ramdisk.
Use it at your own risk. If you brick your phone, it will be your fault, not mine.
I do not own a Dell Venue and therefore cannot test this.
zImage :
fastboot flash zimage zImage
fastboot reboot
boot.img :
fastboot flash boot boot.img
fastboot reboot
Download :
dell-venue-dbg1.zip
dell-venue-dbg2.zip
dell-venue-dbg3.zip
WiFi module :
dhd.ko-dbg1.zip
Thanks.
Yes, we would.
Cool, right now I have a hard time finding the right defconfig.
In case someone could point me to the right file :
https://github.com/adridu59/dell-venue-kernel/tree/master/arch/arm/configs
Edit :
It seems to be codenamed "toucan".
adridu59 said:
Cool, right now I have a hard time finding the right defconfig.
In case someone could point me to the right file :
https://github.com/adridu59/dell-venue-kernel/tree/master/arch/arm/configs
Edit :
It seems to be codenamed "toucan".
Click to expand...
Click to collapse
I think you'll try all of them, then test on your real device and.....
)
nguyen_vh said:
I think you'll try all of them, then test on your real device and.....
)
Click to expand...
Click to collapse
I made an overlap comparaison and I think that this is it.
Right now I am fixing the sources, they are crap tbh.
adridu59 said:
i made an overlap comparaison and i think that this is it.
Right now i am fixing the sources, they are crap tbh.
Click to expand...
Click to collapse
thanks for your effort :d
Yes
Venue have Custom Kernel! I have one
Kinda busy right now working on my own device but you can contribute if ya want. github.com/adridu59
I'm excited about this topic! Please keep me up to date with this. BTW, I also think that v4.06 source from Dell OpenSource is crappy. Could you please public your change list after you complete the work, it's very helpful to us.
chacona said:
I'm excited about this topic! Please keep me up to date with this. BTW, I also think that v4.06 source from Dell OpenSource is crappy. Could you please public your change list after you complete the work, it's very helpful to us.
Click to expand...
Click to collapse
Well check my github, I haven't worked on this for a while but I'm not letting it down.
First build on first post, follow instructions. Thanks.
406 and 408 apparently use the same kernel according to dell. Though we've had the suspicion that there were differences, apparently there isnt.
TheManii said:
406 and 408 apparently use the same kernel according to dell. Though we've had the suspicion that there were differences, apparently there isnt.
Click to expand...
Click to collapse
Yes, that's what I was thinking. And otherwise they would've published the sources.
I tried to flash your zImage, what I received is "Flashing Error -2", in red background in fast boot mode.
BTW, I would like to ask the way you build the kernel. Did you build directly from /kernel folder (with .config), or you build from ROM's source tree (/kernel folder's parent, using "build/envsetup", then "choosecombo")? I would like to get my hands dirty with this work too!
If my dev pc wasnt broken at the moment, I could glue it together with the stock ramdisk and make a flashable zip.
Here's the stock 408 kernel: boot-408.img
You can glue it together with that ram disk if desired, but shouldnt it also generate a ramdisk when building the kernel?
Just as much the ramdisk's contents arnt that unusual, you could prob guess at a few things and reconstruct it without issue.
chacona said:
I tried to flash your zImage, what I received is "Flashing Error -2", in red background in fast boot mode.
BTW, I would like to ask the way you build the kernel. Did you build directly from /kernel folder (with .config), or you build from ROM's source tree (/kernel folder's parent, using "build/envsetup", then "choosecombo")? I would like to get my hands dirty with this work too!
Click to expand...
Click to collapse
Thanks for testing.
I just use the corresponding defconfig, that is the usual way to do it.
I don't really see what you mean by ROM source tree...
TheManii said:
If my dev pc wasnt broken at the moment, I could glue it together with the stock ramdisk and make a flashable zip.
Here's the stock 408 kernel: boot-408.img
You can glue it together with that ram disk if desired, but shouldnt it also generate a ramdisk when building the kernel?
Just as much the ramdisk's contents arnt that unusual, you could prob guess at a few things and reconstruct it without issue.
Click to expand...
Click to collapse
Nao, the ramdisk isn't compiled code. Usually you extract it from the stock kernel and build with mkbootimg or any similar tool.
Thanks for the link BTW.
Okay, I built the boot.img. Offset is 0x20000000.
Check first post, thanks.
adridu59 said:
Thanks for testing.
I just use the corresponding defconfig, that is the usual way to do it.
I don't really see what you mean by ROM source tree...
Thanks for the link BTW.
Click to expand...
Click to collapse
Sorry for not making it clear. By saying "from ROM source tree", I mean the way below (ftp.dell.com/opensource/venue/v4.06/Venue-HOW-TO-BUILD.txt)
Code:
kernel
1) download source tree of android froyo from Qualcomm.
2) replace kernel
3) build kernel by
. build/envsetup.sh
choosecombo
...
5) make -j4 kernel
# update on 4/27/2012 - 23:18 GMT+7
I built an update.zip, with all the files including boot.img and system/lib/modules. What I got is, the Dell logo is hung there like being fallen into an infinite loop.
chacona said:
Sorry for not making it clear. By saying "from ROM source tree", I mean the way below (ftp.dell.com/opensource/venue/v4.06/Venue-HOW-TO-BUILD.txt)
Code:
kernel
1) download source tree of android froyo from Qualcomm.
2) replace kernel
3) build kernel by
. build/envsetup.sh
choosecombo
...
5) make -j4 kernel
Click to expand...
Click to collapse
First time I see this kind of instructions.
Code:
export ARCH=arm
export CROSS_COMPILE=~/toolchains/arm-eabi-4.4.3/prebuilt/linux-x86/bin/arm-eabi-
make toucan-perf_defconfig
make
chacona said:
# update on 4/27/2012 - 23:18 GMT+7
I built an update.zip, with all the files including boot.img and system/lib/modules. What I got is, the Dell logo is hung there like being fallen into an infinite loop.
Click to expand...
Click to collapse
Would you try again using fastboot please ? thanks.
@Adridu59: still fail, flashing boot.img using fastboot gives the same result as I described above. I will try to get your config files and build a copy myself to see what's going on!

[Q] This new Official ICS Kernel..?

Okay so I'm currently downloading this 'Opensource_Update4.zip' file from Opensource, which I assume is the Official Kernel?
Just a few quick questions that I'd appreciate your help with guys:
1. Am I correct in what I just said above?
2. If so, do I just flash the file through ODIN?
3. Will this wipe my phone back to factory settings?
4. Will this affect my device being rooted?
Thanks in advance
New_World_Order said:
1. Am I correct in what I just said above?
Click to expand...
Click to collapse
No.
New_World_Order said:
2. If so, do I just flash the file through ODIN?
Click to expand...
Click to collapse
Again: no.
New_World_Order said:
3. Will this wipe my phone back to factory settings?
Click to expand...
Click to collapse
You will not be able to flash this, as it's not a flashable kernel, but SOURCE CODE.
So many wrong things in just one post
VAXXi said:
No.
Again: no.
You will not be able to flash this, as it's not a flashable kernel, but SOURCE CODE.
So many wrong things in just one post
Click to expand...
Click to collapse
Woaaaaaah I need a huge slap.
Would you be so kind as to explain please? :$
Sent from my GT-I9100 using XDA
Not really, as it's quite long
But the tl;dr version is: what Samsung published today is the source code (human readable code) for the ICS kernel. The ICS kernel is the "core" of the system, if you want. By compiling the source code, you obtain the machine code (specifically one zImage file) which runs on your device.
They are forced to publish the sources due to GPL requirements, but they're not very helpful in doing this. Inside the source code, there's still binary code (device drivers, etc) which cannot be published due to various agreements with the hardware manufacturers. Having this source code, even incomplete as it is, allows developers to see how the binary code is treated; this way, they can improve their code or even develop open-source replacements for the closed binary part of the kernel.
VAXXi said:
Not really, as it's quite long
But the tl;dr version is: what Samsung published today is the source code (human readable code) for the ICS kernel. The ICS kernel is the "core" of the system, if you want. By compiling the source code, you obtain the machine code (specifically one zImage file) which runs on your device.
They are forced to publish the sources due to GPL requirements, but they're not very helpful in doing this. Inside the source code, there's still binary code (device drivers, etc) which cannot be published due to various agreements with the hardware manufacturers. Having this source code, even incomplete as it is, allows developers to see how the binary code is treated; this way, they can improve their code or even develop open-source replacements for the closed binary part of the kernel.
Click to expand...
Click to collapse
Hahahaa okay thanks...
I think I'll just leave it alone! :')
Sent from my GT-I9100 using XDA

build cm10.1 kernel

anyone know if it's feasible to build the cm10.1 kernel without syncing the entire source?
I've tried googling it numerous times but nothing came up pertaining to it. i did however find how to build the cm9 kernel without syncing the entire source, bit couldn't get it to build...
thanks if anyone can help me five my way
ztotherad said:
anyone know if it's feasible to build the cm10.1 kernel without syncing the entire source?
I've tried googling it numerous times but nothing came up pertaining to it. i did however find how to build the cm9 kernel without syncing the entire source, bit couldn't get it to build...
thanks if anyone can help me five my way
Click to expand...
Click to collapse
See the Aries kernel tree on my github. Its a slightly modified version of the cyanogenmod tree, and includes a build script and initramfs so syncing the entire source tree isn't necessary to build from it.
jt1134 said:
See the Aries kernel tree on my github. Its a slightly modified version of the cyanogenmod tree, and includes a build script and initramfs so syncing the entire source tree isn't necessary to build from it.
Click to expand...
Click to collapse
thanks. i was honestly waiting for you to come in here and tell me it won't work without syncing it all, lol. I'll check it out though. thanks again! you effin' rock!
ztotherad said:
thanks. i was honestly waiting for you to come in here and tell me it won't work without syncing it all, lol. I'll check it out though. thanks again! you effin' rock!
Click to expand...
Click to collapse
NP. Iirc, I originally added the scripts after you asked me about it a few months back
All you should have to do is clone the repo, and then run the build.sh script that's included. It will download the right toolchain for you, build the initramfs archives and then compile the kernel.
I also set it up to create a flashable zip with the new kernel and modules, so the build script should handle all the essential steps automatically.
jt1134 said:
NP. Iirc, I originally added the scripts after you asked me about it a few months back
All you should have to do is clone the repo, and then run the build.sh script that's included. It will download the right toolchain for you, build the initramfs archives and then compile the kernel.
I also set it up to create a flashable zip with the new kernel and modules, so the build script should handle all the essential steps automatically.
Click to expand...
Click to collapse
haha yeah, cause a few months back you said i had to sync the whole source.
it sounds like you've been working your ass off. lol
but that's definitely awesome. it makes it easier on us all.

N915F kernel with SeLinux Permissive - done

Hello,
This is a stock SeLinux permissive kernel and init.d activated for Samsung Galaxy Note Edge (N915F) for Lollipop 5.0.1.
There are inputs that is working also on N915FY.
The kernel was compiled from Samsung source LL_CIS kernel using Google toolcahin v4.8.
If you want to test it, please flash in cwm the attached file and report back. Please make a backup of your actual kernel (boot.img) befor flashing this one.
Special thanks to @Micky387 who advised me to update the source kernel (MH driverI), @Wuby986 for his support and guidance and @daxgirl for his advices.
My kernel source for N915F (N915FOXE1BOC6) is here.
Happy flashing.
PS. Kernel updated. Same functionality but some different info in "About".
Well you got further than I did .. Kept getting some driver file referenced so it would not complied.. Thanks for effort I hope you work it out soon.. Unfortunately I don't have time at the moment ..
starbucks2010 said:
Hello,
Since few days I struggle to build a SeLinux permissive kernel for Samsung Galaxy Note Edge with Lollipop 5.0.1 but without success. Or with partial success.
I followed several guides from xda and other sites but it seems that everyone has his different way of doing it.
What I have done so far:
- I installed Ubuntu 14.04 with all updates and apt-get xxx
- I installed the Google toolchain arm-eabi-4.8
- I Installed Samsung kernel source for N915F_CIS from here
- I changed the path to the toolchain in Makefile and build_kernel.sh
- I run from kernel source folder: ./build_kernel.sh
- After 10-15 min of compilation I get a zImage file in //output/arch/arm/boot of ~ 9.8 Mb
- Using Android Image Kitchen v2.2 I integrated the zImage into a boot.img to be flashed with cwm
I flashed this new boot.img but the phone is rebooting every minute and in about I have "unknown"as baseband.
Anyone have an idea how to fix this?
Thank you in advance.
Click to expand...
Click to collapse
hi man. How are you ?
So many thing are change in lollipop . the modem and firmware modem dont call same as KK ROM.
So be sure you are this commit https://github.com/CyanogenMod/andr...mmit/784aa9a84b77090fa591bff77045341c3e3c6293
and add MHI module into tblte_defconfig
https://github.com/CyanogenMod/andr...mmit/1dd44659ee26c2d8b313c1346192e2bfa2ac7bb9
dont delete 18 and 19 line if you build for TW rom .
Try and report
micky387 said:
hi man. How are you ?
So many thing are change in lollipop . the modem and firmware modem dont call same as KK ROM.
So be sure you are this commit https://github.com/CyanogenMod/andr...mmit/784aa9a84b77090fa591bff77045341c3e3c6293
and add MHI module into tblte_defconfig
https://github.com/CyanogenMod/andr...mmit/1dd44659ee26c2d8b313c1346192e2bfa2ac7bb9
dont delete 18 and 19 line if you build for TW rom .
Try and report
Click to expand...
Click to collapse
Bonjour Mickey,
Thank you for your advice. I'll try it and let you know how it goes. Do you know if I have to flash also the modules together with the new kernel or only the boot.img alone ?
Merci.
starbucks2010 said:
Bonjour Mickey,
Thank you for your advice. I'll try it and let you know how it goes. Do you know if I have to flash also the modules together with the new kernel or only the boot.img alone ?
Merci.
Click to expand...
Click to collapse
No need to flash module. The MHI module will be in the kernel so you have boot.img with all inside.
starbucks2010 said:
Hello,
Since few days I struggle to build a SeLinux permissive kernel for Samsung Galaxy Note Edge with Lollipop 5.0.1 but without success. Or with partial success.
I followed several guides from xda and other sites but it seems that everyone has his different way of doing it.
What I have done so far:
- I installed Ubuntu 14.04 with all updates and apt-get xxx
- I installed the Google toolchain arm-eabi-4.8
- I Installed Samsung kernel source for N915F_CIS from here
- I changed the path to the toolchain in Makefile and build_kernel.sh
- I run from kernel source folder: ./build_kernel.sh
- After 10-15 min of compilation I get a zImage file in //output/arch/arm/boot of ~ 9.8 Mb
- Using Android Image Kitchen v2.2 I integrated the zImage into a boot.img to be flashed with cwm
I flashed this new boot.img but the phone is rebooting every minute and in about I have "unknown"as baseband.
Anyone have an idea how to fix this?
Thank you in advance.
Click to expand...
Click to collapse
Wait one more day..
Or maybe earlier
Finally done.
Make backup of your actual kernel, flash the attached zip from post 1in cwm and please report back.I didn't check the init.d support but it should work.
Good, I'll try.
Dev.
Just a small request please.
If you could please make sure a link to YOUR kernel sources in OP.
Any Linux kernel publicly released must have source to compile the exact binary (zImage) as repacked into your distributed boot.img. This must be current at time of every released version.
This is not just a XDA rule, but a legal GPL requirement, applying to all, even if modification is only minor. This is open-source
I would suggest the use of a github repo that helps keep track of your changes (commits), promotes open transparency, sharing and colaboration
If you have any questions on how to go about this, i would be happy to help via pm (but currently away with work), but would suggest to contact our friendly forum Mod.
Best of luck with your project. :thumbup:
Cheers.
UITA
Any chance that you would be willing to make this kernel compatible with the Sprint variety? Man.... I need my viper4android bro. Please. Lol
UpInTheAir said:
Dev.
Just a small request please.
If you could please make sure a link to YOUR kernel sources in OP.
Any Linux kernel publicly released must have source to compile the exact binary (zImage) as repacked into your distributed boot.img. This must be current at time of every released version.
This is not just a XDA rule, but a legal GPL requirement, applying to all, even if modification is only minor. This is open-source
I would suggest the use of a github repo that helps keep track of your changes (commits), promotes open transparency, sharing and colaboration
If you have any questions on how to go about this, i would be happy to help via pm (but currently away with work), but would suggest to contact our friendly forum Mod.
Best of luck with your project. :thumbup:
Cheers.
UITA
Click to expand...
Click to collapse
Thank you for your advices.The link to Samsung kernel source was already there . Anyway, I added it one more time just to be sure that is more visible.
For the github repo, I have to create an account and then I'll upload the files.
Best regards.
Well done mate ..... Yea
---------- Post added at 08:32 AM ---------- Previous post was at 07:36 AM ----------
Boot and works fine , nice one
Can this be used on N915FY as well?
I don't have any reports from N915FY users. You can try and tell us
Don't forget to make a backup first.
starbucks2010 said:
Thank you for your advices.The link to Samsung kernel source was already there . Anyway, I added it one more time just to be sure that is more visible.
For the github repo, I have to create an account and then I'll upload the files.
Best regards.
Click to expand...
Click to collapse
Hey, no problem.
Just to clarify....
If you've made any (even minor) change to "Samsung" source, then you have to upload "your" complete source and link "your" source, not "Samsung" So if you've made the kernel permissive or even use a different toolchain or path, technically you have modified from original and is now "your" source If you use a custom defconfig, don't forget it too
github is well worth the pain I Google for answers all the time (how to do this and that), but still screw things up (sometimes majorly) now and then.
dubart said:
Can this be used on N915FY as well?
Click to expand...
Click to collapse
Using this kernel with a N915FY. Great job btw I can finally use viper audio which I've missed so much. Major props dude!
I'm gonna flash this on sprint variant either that or throw this device out my window
dinaps86 said:
I'm gonna flash this on sprint variant either that or throw this device out my window
Click to expand...
Click to collapse
Lol it booted just no data. Yaaayyy!!!
I see that there are other people who are interested in Selinux permissive kernels.
So, if you want, I can add selinux permissive to any samsung kernel as long as you provide me 2 files: your original kernel (boot.img) from the ROM you want to flash and the Kernel.tar.gz - source kernel from Samsung site. In order to get Kernel.tar.gz file you'll need to download the kernel source file (~ 1Gb) from Samsung site, open the archive and upload ONLY the Kernel.tar.gz (~ 100-150 Mb) and the readme file from the archive to some sharing site. Then, I'll try to compile that kernel for you.
There are also downsides. I cannot stay up to date will all new commits done to the kernel source so I'll compile your kernels only with info that I have at that date. If you fork the github and find kernel source updates, I can add them.
PS. I only set up a working PC with Ubuntu and Google toolchain v4.8. If you find any information that this setup is not suitable for compiling your kernel, then there is no point of providing me the above files.
Best regards.
OP updated with some Antutu screen shots.

Want To Compile OmniROM

Hello everyone, I'm a complete noob at compiling. I'm thinking about compiling OmniROM 6.0 for XOLO BLACK. So, I wanted to ask how big is the download size of its source code and do we have a need of Kernel while compiling? Although my device does have an open source kernel. Could be found here: https://github.com/hiveinside/xolo_kernel
I'll be grateful if someone could help me with my questions 
You will need about 50-100gb for all the source. Yes you will also need the kernel source as well as the device trees. Then it will just be a matter of fixing the bugs that come up. You didn't think it would just work did you?
zelendel said:
You will need about 50-100gb for all the source. Yes you will also need the kernel source as well as the device trees. Then it will just be a matter of fixing the bugs that come up. You didn't think it would just work did you?
Click to expand...
Click to collapse
No no, I meant what would be the download size? You know after doing the "repo sync" command. Also, I think it'll extract the kernel automatically from my device and what is "device tree?" Vendor files?
Well, I know that I have to face bugs but I think awesome people like you will help me fix 'em.
Wish me luck!

Categories

Resources