How to edit zimage/kernel - Galaxy S II Q&A, Help & Troubleshooting

Hello guys, I am relatively new to Android (some months) and I have a simple question:
How can I edit the contents of a zimage file?
-----------------------------------------------------------------
Before you answer with "why would you do that?", let me tell my reasons:
I have a SC-02C, which is basically the same phone as i9100, but with TV. When I flash a new ROM, I have to put the old kernel if I want to use GPS and oneseg TV. So, I was thinking that maybe opening both zimage files I could understand the differences and port, for example, a BLN capable OverClocked kernel to my SC-02c
-----------------------------------------------------------------
I believe it is compiled, so I need to know if there is a decompiler program which I could make this zimage file into something that humans can read (If you open zimage with a word processor, you wont understand anything)
Thanks for your time and I appreciate any suggestion.

robotsapiens said:
Hello guys, I am relatively new to Android (some months) and I have a simple question:
How can I edit the contents of a zimage file?
-----------------------------------------------------------------
Before you answer with "why would you do that?", let me tell my reasons:
I have a SC-02C, which is basically the same phone as i9100, but with TV. When I flash a new ROM, I have to put the old kernel if I want to use GPS and oneseg TV. So, I was thinking that maybe opening both zimage files I could understand the differences and port, for example, a BLN capable OverClocked kernel to my SC-02c
-----------------------------------------------------------------
I believe it is compiled, so I need to know if there is a decompiler program which I could make this zimage file into something that humans can read (If you open zimage with a word processor, you wont understand anything)
Thanks for your time and I appreciate any suggestion.
Click to expand...
Click to collapse
heres a start, the differences will be in the initramfs...doesn't work on all kernels http://forum.xda-developers.com/showthread.php?t=1069868

Related

[Q] Boot android rom directly without windows mobile

Hi,
About 2 weeks ago I downloaded the Android ROM for my HTC HD2, it works great, I really like Android more then Windows Mobile. Although everything works and seems fast enough, i have the feeling my phone can do more. If i look at videos of a HTC Desire HD it runs much faster, though the hardware is almost identical.
As I understood my phone is still running Windows Mobile but it is running in a state that emulates the hardware for a Android phone, so i can run Android. Now for my question, is there a way to run Android directly on my phone, without using Windows Mobile in the background?
Greetz Willem
williamsean said:
Hi,
As I understood my phone is still running Windows Mobile but it is running in a state that emulates the hardware for a Android phone, so i can run Android. Now for my question, is there a way to run Android directly on my phone, without using Windows Mobile in the background?
Greetz Willem
Click to expand...
Click to collapse
this question is in the wrong section
ATM its not possible for none DEVS to run Andriod directly from you phone NAND memory.
DEVS are working on it but there are still some issues to solve before it will be launched you can follow the progression at the link below:
http://forum.xda-developers.com/showthread.php?t=817261
When you switch over to Andriod as a native OS you wont be able to run WM anymore, you can multi boot Android OS and Unbuntu of your SD, so if you want to use WM also then running Andriod of your SDcard is the only option
wilwilwel said:
this question is in the wrong section
ATM its not possible for none DEVS to run Andriod directly from you phone NAND memory.
DEVS are working on it but there are still some issues to solve before it will be launched you can follow the progression at the link below:
When you switch over to Andriod as a native OS you wont be able to run WM anymore, you can multi boot Android OS and Unbuntu of your SD, so if you want to use WM also then running Andriod of your SDcard is the only option
Click to expand...
Click to collapse
Thanks for replying, what do you mean with ATM? and DEVS?
For what I understand from you post, they are working on a native android rom for the HD2, but it's not finished jet... And when I would install it i can't boot windows mobile anymore... Is that correct?
Will there be a posibility to revert my phone back to windows mobile when i would like to sell my phone...
-First winmo is shutdown when booting android.
-At the moment booting right from the hd2 memory is only possible with nand (from internal memory) . Wich is currently not for public release because it contains bugs.
-The reason why it is not at same speed as desire hd is that the kernel for the hd2 is not perfect and maybe nand can do a little speed increase. But it is getting better current kernels are much faster than a month ago.
ATM= At the moment
DEVS= Developers
PS: This is the wrong section.
jan-willem3 said:
-First winmo is shutdown when booting android.
-At the moment booting right from the hd2 memory is only possible with nand (from internal memory) . Wich is currently not for public release because it contains bugs.
-The reason why it is not at same speed as desire hd is that the kernel for the hd2 is not perfect and maybe nand can do a little speed increase. But it is getting better current kernels are much faster than a month ago.
ATM= At the moment
DEVS= Developers
PS: This is the wrong section.
Click to expand...
Click to collapse
Witch section should it be in? Q&A or something? Can I change that right now?
What I understand is that it actually doesn't make a difference when I would boot android without windows mobile, only a minor speed increase because of faster memory? The real speed increase would come from a better kernel, witch the developers here are working on... Is that right?
Do you happen to know a ROM with this newer kernel? (so i can see if i already have it)
williamsean said:
Witch section should it be in? Q&A or something? Can I change that right now?
What I understand is that it actually doesn't make a difference when I would boot android without windows mobile, only a minor speed increase because of faster memory? The real speed increase would come from a better kernel, witch the developers here are working on... Is that right?
Do you happen to know a ROM with this newer kernel? (so i can see if i already have it)
Click to expand...
Click to collapse
You can't change that right know but that is not a real problem. And what you are saying is right. We have to wait for a better kernel.
In terms of rom with kernel newer roms have most of the time newer kernels.
You can select [Everyday Builds][latest linux_on_wince_htc][PPP] CM6.1+ from michyprima this ones has no sense but are really speedy compared to sense builds. They use latest kernel. Anyway if you pickup a build from the last 7 days you can put any kernel that you want of it my favorite kernel at the moment is this. And contains a patch wich resolves screen freeezes wich happen sometimes. The most recent kernels are mdeejay S4 & hastrin r8.2. Or the CM6.1 build I said above because it have the latest kernel. The hastarin where I link you to contains the touchscreen freeze fix. Wich is not included in all hastarin 8.2 kernels.
jan-willem3 said:
You can't change that right know but that is not a real problem. And what you are saying is right. We have to wait for a better kernel.
In terms of rom with kernel newer roms have most of the time newer kernels.
You can select [Everyday Builds][latest linux_on_wince_htc][PPP] CM6.1+ from michyprima this ones has no sense but are really speedy compared to sense builds. They use latest kernel. Anyway if you pickup a build from the last 7 days you can put any kernel that you want of it my favorite kernel at the moment is this. And contains a patch wich resolves screen freeezes wich happen sometimes. The most recent kernels are mdeejay S4 & hastrin r8.2. Or the CM6.1 build I said above because it have the latest kernel. The hastarin where I link you to contains the touchscreen freeze fix. Wich is not included in all hastarin 8.2 kernels.
Click to expand...
Click to collapse
Thnx for the reply, all is much more clear now...
I only have 1 more question, can update only the kernel of a ROM, so i don't have to install a hole new ROM and keep my preferences?
Yes that is also possible.
Is there something like a guide for it? url?
Installation:
1. Copy zImage to the "Android" folder on SD card
2. Copy "root" folder to "Android" folder on your SD card (overwrite files or combine when needed never delete the current one and replace it with the new one always overwrite files if folder structure already exists)
Sometimes the folder root is not included by the kernel then create
root/system/lib/modules
inside put :
tun.ko
bcm4329.ko
cifs.ko
and create:
root/system/lib/hw
lights.htcleo.so
If the file is not inside the package then don't create a folder for it. You should always have this file bcm4329.ko The rest is different for different kernels.
Edit:
You can download a kernel in different threads.
For example: http://forum.xda-developers.com/showthread.php?t=831585
For example: http://forum.xda-developers.com/showthread.php?t=787588
VBN files should also have latest kernel without tweaks but cant find it now.

[Q] Kernel Compiling

Hello! I just recently got a brand new MyTouch4GSlide ($5 from t-mobile xD) Anyhow since the lack of development going on for this phone I decided to join in and do my part... My original plan was to create a simple CM7 Kernel with support for UV and OC + Smartass... I have successfully in the past week set up my ubuntu virtual machine, kernel source, kitchen (boot.img extract/compile), voltage table & have successfully compiled a custom working kernel for my device, but i just need a bit of help.... I have 3 specific questions wich hopefully someone will be able to answer so I may get better with developing and continue developing in the future...
1) Adding new frequencies to the kernel
-I have created my voltage table and have added it to the file acpuclock-8x60.c (Which is corresponding to my device) located in /arch/arm/mach-msm O have also disabled the performance lock in the .config file using the make menuconfig command but when I compile the kernel and flash it setcpu does not recognize the frequencies... Did I not edit the correct file? Am I missing a lock placed by HTC somewhere else?
2) Adding Smartass
-I have found 1 source for the smartass module but whenever I try to compile the module I get #define OFS_KALLSYMS_LOOKUP_NAME 0xc009684c // kallsyms_lookup_name any reason why this is? am I using the wrong source? is there an easier way?
3) WiFi Module
-Whenever I compile my kernel the WiFi does not turn on... Probably because I have not compiled a Wifi module -_- but how can I compile a WiFi module? do I use the same source as the kernel? how would I go about doing this? how do I pack it with the boot.img?
Thats all for now... I shall edit this if I have more questions... I shall constantly be checking this thread hoping for some responses... I am eager to get this working!
Thanks in advanced! ~GiGoO
P.S. If you want you may add me on Skype if you would like to help me with this xD (robster105)
gigoo25 said:
Hello! I just recently got a brand new MyTouch4GSlide ($5 from t-mobile xD) Anyhow since the lack of development going on for this phone I decided to join in and do my part... My original plan was to create a simple CM7 Kernel with support for UV and OC + Smartass... I have successfully in the past week set up my ubuntu virtual machine, kernel source, kitchen (boot.img extract/compile), voltage table & have successfully compiled a custom working kernel for my device, but i just need a bit of help.... I have 3 specific questions wich hopefully someone will be able to answer so I may get better with developing and continue developing in the future...
1) Adding new frequencies to the kernel
-I have created my voltage table and have added it to the file acpuclock-8x60.c (Which is corresponding to my device) located in /arch/arm/mach-msm O have also disabled the performance lock in the .config file using the make menuconfig command but when I compile the kernel and flash it setcpu does not recognize the frequencies... Did I not edit the correct file? Am I missing a lock placed by HTC somewhere else?
2) Adding Smartass
-I have found 1 source for the smartass module but whenever I try to compile the module I get #define OFS_KALLSYMS_LOOKUP_NAME 0xc009684c // kallsyms_lookup_name any reason why this is? am I using the wrong source? is there an easier way?
3) WiFi Module
-Whenever I compile my kernel the WiFi does not turn on... Probably because I have not compiled a Wifi module -_- but how can I compile a WiFi module? do I use the same source as the kernel? how would I go about doing this? how do I pack it with the boot.img?
Thats all for now... I shall edit this if I have more questions... I shall constantly be checking this thread hoping for some responses... I am eager to get this working!
Thanks in advanced! ~GiGoO
P.S. If you want you may add me on Skype if you would like to help me with this xD (robster105)
Click to expand...
Click to collapse
Hey Rob, I wish you the best of luck and don't give up!
The one thing I can say is when I was compiling my own kernels a while back and when I was trying to do the exact same thing and add different frequencies, if I remember correctly, there is a couple files that need to be changed, not just one, but don't quote me on that
I would also try getting help from other phone developers too. Post in the Q&A section of the phones, you might get more help that way.
Other then that good luck!
Questions or Problems Should Not Be Posted in the Development Forum
Please Post in the Correct Forums
Moving to Q&A

MODEM rumours, progress... few details for noobs like me

Hmmm...
Yes I know, again stupid Question.
Why we can not use SHW-M130K "Modem" or part from it?
S8500 not start ?
S8500 explode ?
Any Logfiles exists?
Later I will write more... need to check again SHW-M130K files and JTAG Dump...
Its long long time ago...
Best Regards
It's so old... I have forgotten where my files stored.
http://forum.xda-developers.com/showthread.php?t=1133736
Here seems Firmware still active for SHW-M130K...
http://pspmaster.tistory.com/48
I have forgotten which files inside...
In bada Firmware amss.bin is mandatory file for Call.
This files is huge, more then 12 MB...
If you write own Code, then you know why I wrote huge... for 12 MB...
Samsung Android handset need file modem.bin...
Don't punish me, if wrong name...
In actual bada Android Port... modem.bin is complete DISABLED/or ignored by zImage ...
SHW_M130K_0x00000000_OK.rar this is JTAG dump I have for study...
No idea, if I remember correct, modem.bin from SHW-M130K is near 7 or 10 MB...
Damn, if I find my files I know it correct...
Best Regards
Short checked I9000 Firmware...
But here is baseband from Infineon... instead Qualcomm...
modem.bin is bigger then 12 MB...
I have taken this one for "research"...
GT-I9000_XEU_I9000XXJW4_I9000OXAJW4_I9000XXJW4.zip
Now I will download SHW-M130K WC21 from here:
http://pspmaster.tistory.com/48
Soon more ...
Best Regards
adfree said:
Short checked I9000 Firmware...
But here is baseband from Infineon... instead Qualcomm...
modem.bin is bigger then 12 MB...
I have taken this one for "research"...
GT-I9000_XEU_I9000XXJW4_I9000OXAJW4_I9000XXJW4.zip
Now I will download SHW-M130K WC21 from here:
http://pspmaster.tistory.com/48
Soon more ...
Best Regards
Click to expand...
Click to collapse
I really wish i learn to develop softwares nt unfortunately nt nw... So jst tell me in plain words gud news r bad news...i think u shud check for oldr samsung android phones....
M130K-HOME-GB-REV04-WC21
Short checked...
modem.bin bigger then 15 MB...
This time it is Qualcomm related... and also QSC6270...
Next...
For AMSS, this is your Modem... you need NVM knowledge...
NV items is also NO Kindergarten...
Minimum knowledge is Qualcomm related Tools like QPST and if more advanced. Then QXDM...
http://forum.xda-developers.com/showthread.php?t=899023
So you need advanced users with deep Qualcomm knowledge about AMSS, NVM... for instance like our pro Unlockers... GSM...
No Link to forum...
But this Forum is nice... Maybe you find here ""enough"" stuff for study.
http://www.finetopix.com/
Here are smart users with deeper knowledge...
Best Regards
Summary...
For successfully Modem integration you need expertS with:
- deep Qualcomm knowledge about AMSS, RF, NV...
this include working with Tools like QXDM...
- coding skills alone are nice... but not enough to manage all problems...
As modem.bin is 10 MB of perfect matching data... this is like rocket science.
This means many years of experiences in this GSM/CDMA business...
So in my opinion we have at the moment nobody... who can finish this in 2012...
1 man can't finish this...
Best Regards
QXDM overview from Qualcomm
Feel free to clicking around.
https://support.cdmatech.com/qxdm/1_START_HERE.htm
Here Call related...
https://support.cdmatech.com/qxdm/CallManager/CallManagerindex.htm
Here some NV...
https://support.cdmatech.com/qxdm/NVbrowser/NVindex.htm
Now maybe you can understand, how complex AMSS/Modem is...
Best Regards
https://jobs.qualcomm.com/public/jobDetails.xhtml?requisitionId=1888000&page=jobSearch
Such users we need also.
Embedded Software Engineer - GSM/EDGE Modem Physical Layer
Click to expand...
Click to collapse
http://www.qualcomm.com/careers
Clicking around and you will see. How long some jobs require...
3 years of experience...
Maybe after 3 years we will have someone, who is able to finish succesfull Modem functionality...
Maybe someone is able to make visible progress in 2013.
After hard, hard, hard learning process...
Best Regards
after seeing all this i have lost hopes for modem. drivers to be written from scratch.
only hope is that some modification of other android modem.bin gets fit to our modem.
or else we can hope for an optimised 3.3 inch android tab.
god bless wave.
Yes,its seems that modem writing is not an easy job...
especially for 1 person...
anyways,Adfree...u did a fantastic job by finding all this stuff...
only hope is with some trick or shortcut by which we can modify some other android modem...(my weird thought)
but for now,well done
Regards,
WaveGuru
http://www.youtube.com/watch?v=IWSCdpAeONA
Found this here:
http://code.google.com/p/docl4amss/wiki/ReferencePage
Btw...
Someone has this Doc found ?
80-VE263-25-MSM7200A-BasebandTopics.pdf
And normally for each Qualcomm Chip...
Full AMSS Source Code exists...
Several hundret MB...
Maybe someone has found something... MSM6xxx or older ?
Pudn is very good site to find interessting stuff...
Best Regards
http://bb.osmocom.org/trac/
OsmocomBB is an Free Software / Open Source GSM Baseband software implementation.
It intends to completely replace the need for a proprietary GSM baseband software, such as
drivers for the GSM analog and digital baseband (integrated and external) peripherals
the GSM phone-side protocol stack, from layer 1 up to layer 3
In short: By using OsmocomBB on a compatible phone, you are able to make and receive phone calls, send and receive SMS, etc. based on Free Software only.
Over the past 12 months, we've been making very good progress. Most of the hardware drivers have been written, and a relatively complete layer1, layer2 and layer3 exist.
No work has yet been done on any sort of UI on the phone. The only user interface is a telnet-based command line.
Click to expand...
Click to collapse
Our chipset is not listet... but maybe interesting for research...
Best Regards
Using modem from any other QSC6270 based phone is some kind of solution. modem.bin does in fact contain AMSS, stored in same or almost same format.
Actually Oleg used some modem.bin and it seems like it worked but
a) It would require rebuilding EFS aswell (like cloning it from QSC6270 phone and replacing IMEI?)
b) If there's no Android phone based on QSC6270 with battery fuel gauge controlled by modem - we won't have battery control, and this seems to damage something. My battery seems to be pretty well "worn out" and my fuel gauge totally decalibrated, it keeps showing fake values all the time and at all my battery keeps power for ~20hours, I will put a warning in kernel thread.
Comparing to implementation of new RIL - it's rather easy way to get some more functionallity out of Badadroid.
I've got pretty complete sources for MSM7200 AMSS and believe me - it's not something you want to dig in. It's just HUGE.
a) It would require rebuilding EFS aswell (like cloning it from QSC6270 phone and replacing IMEI?)
Click to expand...
Click to collapse
There are few Fake IMEI... kind of "Emergency IMEI" somewhere in AMSS...
In theory we can have all the same IMEI for Calling...
I remember from my AMSS journey from 2006... QC Standard IMEI bla...bla
Will look into my old stuff...
Also I think we have enough space... to create more NV items...
I've got pretty complete sources for MSM7200 AMSS and believe me - it's not something you want to dig in. It's just HUGE.
Click to expand...
Click to collapse
I know few sources... but never seen complete AMSS package...
Also my brain is tooooo small to use these sources for something usefull.
I need this only for my QC collection. :angel:
Best Regards
http://blog.csdn.net/yili_xie/article/details/5656608#comments
Here seems few QC related infos... maybe more...
Request to other users.
Please.
1.
I need AMSS source for Download.
No idea, 300 or 400 MB ZIP or more...
Maybe this is something in this kind... Google Power. :angel:
https://www.codeaurora.org/git/proj...ions/db2575e163152f681668800744c99f287f77a8ef
Best Regards
How about Samsung Galaxy 3 I5800 ?
004400152020000
This is IMEI from SXG75, EF81, SL91 ... handset from 2006 with MSM6250...
If NV item 550 was lost/empty/blocked...
There are hundrets of such devices...
Also this IMEI can be found on other manufacturer, if QC AMSS...
a) It would require rebuilding EFS aswell (like cloning it from QSC6270 phone and replacing IMEI?)
Click to expand...
Click to collapse
For Android you could define new NV ID for IMEI... instead NV 550...
Best Regards
Rebellos said:
Using modem from any other QSC6270 based phone is some kind of solution. modem.bin does in fact contain AMSS, stored in same or almost same format.
Actually Oleg used some modem.bin and it seems like it worked but
a) It would require rebuilding EFS aswell (like cloning it from QSC6270 phone and replacing IMEI?)
b) If there's no Android phone based on QSC6270 with battery fuel gauge controlled by modem - we won't have battery control, and this seems to damage something. My battery seems to be pretty well "worn out" and my fuel gauge totally decalibrated, it keeps showing fake values all the time and at all my battery keeps power for ~20hours, I will put a warning in kernel thread.
Comparing to implementation of new RIL - it's rather easy way to get some more functionallity out of Badadroid.
I've got pretty complete sources for MSM7200 AMSS and believe me - it's not something you want to dig in. It's just HUGE.
Click to expand...
Click to collapse
and what about tablet like this
http://www.androidtoitaly.com/goods.php?id=368
or this
http://it.aliexpress.com/product-fm/591540997-2012-new-android-tablet-sim-card-slot-wholesalers.html
they also have QSC6270...
also many renesas tablet have QSC6270, here some firmware/skd
http://www.chinadigitalcomm.com/opa...enesas-android-tablet-pc-firmware-t10398.html
Rebellos said:
Using modem from any other QSC6270 based phone is some kind of solution. modem.bin does in fact contain AMSS, stored in same or almost same format.
...
b) If there's no Android phone based on QSC6270 with battery fuel gauge controlled by modem - we won't have battery control, and this seems to damage something.
...
Comparing to implementation of new RIL - it's rather easy way to get some more functionallity out of Badadroid.
I've got pretty complete sources for MSM7200 AMSS and believe me - it's not something you want to dig in. It's just HUGE.
Click to expand...
Click to collapse
Rebellos, the modem control the battery? or them is related someway? kinda creepy
How to edit AMSS.bin or Modem.bin??

[Q] New rom (or just launcher)?

The first thing I want to say is that my English is not really good. I hope you understand my questions.
I have an idea for a new Android rom, but I'm faced with a dilemma. I want to have as much as possible supported devices, so I also can just build a launcher apk which can be installed through Google Play. In this way all mobile devices with the minimal platform version can use it. The biggest problem is that I don't only want a replacement for the application launcher but also the notification drawer and everything else. Is it possible to replace them also? I don't think so, so I think I'll work on a custom rom.
The next problem is which base rom I would use if I really build a custom rom. It's most likely to use AOSP as base because it's clean. The question is which version of AOSP: Gingerbread, Ice Cream Sandwich, or the newest version Jelly Bean. You would probably say Jelly Bean because this is the newest version. The problem is the phone support. Gingerbread is supported on most phones. If I build ICS or JB the phones which are supported by Cyanogenmod are easy to support, because I can use their device files. The only problem is that my phone, the Samsung Galaxy Gio is not officially supported and the unofficial port is not really stable. I don't think it's a big problem to use this device files and just wait till the developer makes it more stable, but I don't know for sure.
The last thing I want to know is if it's really that simple to support multiple devices. If I read tutorials about porting existing roms to your device they all say you just have to add your device files to the source and compile it. But they never say something about the kernel. Most devices need another kernel because their hardware is different isn't it? Please explain me how this works.
I'm sorry about this hazy story, but please help me before I make wrong choices. Thanks on purpose.
Wietse
WietsedeVries said:
The biggest problem is that I don't only want a replacement for the application launcher but also the notification drawer and everything else. Is it possible to replace them also? I don't think so, so I think I'll work on a custom rom.
Click to expand...
Click to collapse
These changes you are talking about can be done. They are system changes so not supported by the android app installer.
Eg: Your notification drawer, status bar are part of SystemUI.apk. The source for this is can be found in the AOSP source code under android/frameworks/base/...
You can make your modifications, compile it into an apk and then make a flashable zip to replace the current one (or push it via a rooted adb console).
or you can compile the entire source code into a flashable zip (eg CM7,9 etc..) and use it a replacement ROM with your modifications.
This is the line between an application under the android runtime and the android runtime itself.
these files, under framework are part of the OS. so to provide a customized version of the operating itself is what people like to call ROMs.
Now ROMs (like any OS) are device dependant. Windows has the code to run in a lot of different hardware configs, but android aims to be small. It should have only the minimum required code to efficiently run itself on a device.
Thats the kernel. The kernel communicates with the hardware and so the rest of the hardware can happily talk to a working kernel and expect the hardware to function as advertised. Kernel is a simple program which goes into the RAM on system start and sits there directing the operation of the phone.
Kernel devs work on making sure the hardware and the android runtime work perfectly together. Now, in this imperfect world, not all sources are open, even though they should be. and therein the issue lies.
If you want to compile android from source and make sure it works on your phone, first you need to make sure you have the kernel with all the changes(patches) to it made by the vendor (chap who made the phone and bullied you into buying it) to get it working on your hardware.
If you dont have that, you have to do it yourself. Or wait for someone else to do it.
once you can compile android and get it working on your phone with all the itty bitty hardware working A-OK.. then you can browse through the source, make changes as per your individual requirements and compile it into a ROM.
see the changes to the OS are separate from the changes to the kernel. The kernel changes are for hardware-software interaction so they are phone SPECIFIC.
but changes to your custom android OS (ROM) can be "cherry-picked" from other ROM/gerrit/AOSP/CM/AOKP sources and put inside your own source tree to get included in your build.
so if you have all the device / kernel stuff from a working android distribution, you can take the source of another android distribution and swap the device stuff into it and see if it works.
hope this helps.
wingie6200 said:
These changes you are talking about can be done. They are system changes so not supported by the android app installer.
Eg: Your notification drawer, status bar are part of SystemUI.apk. The source for this is can be found in the AOSP source code under android/frameworks/base/...
You can make your modifications, compile it into an apk and then make a flashable zip to replace the current one (or push it via a rooted adb console).
or you can compile the entire source code into a flashable zip (eg CM7,9 etc..) and use it a replacement ROM with your modifications.
This is the line between an application under the android runtime and the android runtime itself.
these files, under framework are part of the OS. so to provide a customized version of the operating itself is what people like to call ROMs.
Now ROMs (like any OS) are device dependant. Windows has the code to run in a lot of different hardware configs, but android aims to be small. It should have only the minimum required code to efficiently run itself on a device.
Thats the kernel. The kernel communicates with the hardware and so the rest of the hardware can happily talk to a working kernel and expect the hardware to function as advertised. Kernel is a simple program which goes into the RAM on system start and sits there directing the operation of the phone.
Kernel devs work on making sure the hardware and the android runtime work perfectly together. Now, in this imperfect world, not all sources are open, even though they should be. and therein the issue lies.
If you want to compile android from source and make sure it works on your phone, first you need to make sure you have the kernel with all the changes(patches) to it made by the vendor (chap who made the phone and bullied you into buying it) to get it working on your hardware.
If you dont have that, you have to do it yourself. Or wait for someone else to do it.
once you can compile android and get it working on your phone with all the itty bitty hardware working A-OK.. then you can browse through the source, make changes as per your individual requirements and compile it into a ROM.
see the changes to the OS are separate from the changes to the kernel. The kernel changes are for hardware-software interaction so they are phone SPECIFIC.
but changes to your custom android OS (ROM) can be "cherry-picked" from other ROM/gerrit/AOSP/CM/AOKP sources and put inside your own source tree to get included in your build.
so if you have all the device / kernel stuff from a working android distribution, you can take the source of another android distribution and swap the device stuff into it and see if it works.
hope this helps.
Click to expand...
Click to collapse
Thank you very very much for your explanation! It's a pity it's impossible to hit multiple times "Thanks".
I think I'm going to make a modified SystemUI.apk but you didn't tell the application launcher is also in this file. Did you just forget this or is this stored in another file/folder? And the lock screen? And I want also to replace the boot animation if it's possible.
If I take the source files of the SystemUI.apk of AOSP ICS, does this work on every phone running ICS? Included CM, AOKP and other (smaller) custom roms? And my last question: Since SystemUI.apk a apk file is, is it possible to edit these files through Eclipse and build it in Eclipse? Or do I get errors?
//Edit:
Still another question: How much work is it to, as example, port a modified Gingerbread SystemUI.apk to ICS? (Or vice versa)
WietsedeVries said:
Thank you very very much for your explanation! It's a pity it's impossible to hit multiple times "Thanks".
I think I'm going to make a modified SystemUI.apk but you didn't tell the application launcher is also in this file. Did you just forget this or is this stored in another file/folder? And the lock screen? And I want also to replace the boot animation if it's possible.
If I take the source files of the SystemUI.apk of AOSP ICS, does this work on every phone running ICS? Included CM, AOKP and other (smaller) custom roms? And my last question: Since SystemUI.apk a apk file is, is it possible to edit these files through Eclipse and build it in Eclipse? Or do I get errors?
//Edit:
Still another question: How much work is it to, as example, port a modified Gingerbread SystemUI.apk to ICS? (Or vice versa)
Click to expand...
Click to collapse
Only way is through exchanging the png files since porting the whole .apk is impossible.
Sent from my Jelly Beaned Ace
Thanks for the answer. And do you also know the answers of the other questions?
Sent from my GT-S5660 using xda app-developers app
WietsedeVries said:
If I take the source files of the SystemUI.apk of AOSP ICS, does this work on every phone running ICS? Included CM, AOKP and other (smaller) custom roms? And my last question: Since SystemUI.apk a apk file is, is it possible to edit these files through Eclipse and build it in Eclipse? Or do I get errors?
//Edit:
Still another question: How much work is it to, as example, port a modified Gingerbread SystemUI.apk to ICS? (Or vice versa)
Click to expand...
Click to collapse
There are two roads you can go now - one is use apktool to *decompile* apk the apk file that you've taken from your phone, it doesnt convert the app to java source code but java bytecode in .smali files (like an assembly version of the source) but you will have access to the resource files (xml, images etc..) so you can replace them and create some new themes.
http://forum.xda-developers.com/showthread.php?t=1814441
http://forum.xda-developers.com/showthread.php?t=1760133
And no - a GB systemUI.apk will *NOT* work on ICS. It is very probable that any changes you make through any of these methods can brick you phone. So make sure you have CWM and a nandroid backup.
If you want to add/edit functionality within the source code of systemUI.apk, you need to learn how to compile Android from Source. i would suggest getting hold of the CyanogenMod source tree for your device and playing around with it.
Ginger bread is CM7 and ICS is CM9.
http://forum.xda-developers.com/showthread.php?t=1552090
once you have the full source tree, you'll find a folder called android/frameworks/base/core/...something../systemui/..
this will contain the javasource code for your application. Here you can edit stuff to your hearts content!
Note that this cannot be compiled standalone by eclipse. The Android build system must be used to compile this (cuz its a system app).
a nice resource i used when i was doing the same thing :laugh:
http://iserveandroid.blogspot.in/2011/01/how-to-implement-your-own-status-bar.html
cheers and have fun.

i Have successfully compiled Samsung's SM-T580 kernel, how do i make the boot.img?

Hello,
First of all, this is my first post in the forum and my first time trying to compile an Android kernel.
My intention was to port Nethunter for my tablet, Samsung SM-T580 (Galaxy Tab A6 10.1 only wifi).
I have successfully compiled the original kernel offered by samsung and i have ended up with a file called Image, a file called Image.gz and a dts folder
I have extracted the original rom boot.img with mkbootimg_tools and i see a kernel file, a ramdisk folder, a ramdisk.packed file and a dt.img
For what i have found is that this must be a non standard thing, the way samsung manages this, and despite i have seen various guides on compiling samsung kernels, i haven't found anyone doing it straight from samsung sources.
I think that the dt.img part is solved with the dtbTool, but i haven't been able to figure out what to do with Image and Image.gz to get the kernel and ramdisk.
¿Can someone give me a lead on this? ¿Is it doable? ¿Should i look for other kernel instead?
Its been long time ago... But did you manage to compile the kernel?

Categories

Resources