Ok, so after having a million questions I thought I'd write up a quick little 'how to' with regards to porting.
And now the warning
Read and learn first, doing this could cause serious issues with your tab or even brick it. The tab is really tough, and hard to brick if you do everthing right but it could still happen. I'm not responsible if it does.
Where to start
Get good at reading, google searching and searching XDA. Lots of porting discussion regarding other phones can apply to the tab.
Learn to use Heimdell
Have a linux distro available, either by virtual box, or natively.
Technomancer where it all began
I've said it before and I'll say it again, without techs work miui wouldn't have been possible.
Reference technomancers thread here: http://forum.xda-developers.com/showthread.php?t=931857 on how to download the cm7 + sgt source, you're also going to want to follow the kernel making part, cause most likely you'll need to make adjustments to the init.rc which is inside the initramfs and requires building the kernel again.
porting x build
Get X build onto your computer and extract the update.zip for it.
Copy the boot.img into your linux environment and extract it using splitbootimg.pl script (note: Google it, plus this doesn't work with samsung builds). Compare the init.rc to your init.rc (from the sgt cm7 kernel source root folder). Specifically the most important part here is the PATH, LD_LIBRARY_PATH statement and BOOTCLASSPATH lines.
Build your kernel with the updated init.rc and flash with heimdell, it should still boot your cm7/miui build (if you were running it before) albeit with errors.
The system
Now following the awesome list of proprietary files (either from your source folder or technomancers github link) check the galaxytab-common-vendor-blobs.mk for the GT-P1000. It lists every file you need that's propreitary to the tab and where to put it.
Also you'll probably need the debuggerd from /system/bin on the cm7 build.
Compare the /system/build.prop of the cm7 build to your port, make sure the ril info is the same as well as the ro; model, brand, device, board, and platform lines.
Create an update.zip (or whatever you want to call it.zip) and try it.
It's not booting
Logcat is great, but I really suggest using the ddms from the android sdk tools. It's color coded, and gives a much nicer view of what's happening.
Using winmerge in windows or a linux file compare program start checking what other bin files may be missing that you require. Special notice to the xbin folder.
It works! I want to post it!
Ok, first up, make sure you have permission if this is someone elses custom build you've ported. Most people/groups are really good about it assuming you ask first and give them credit in your post.
Also credit everyone who helped, answered a question or sent you in the right direction. (it's just polite)
Second your going to want to make sure your update.zip flashes the kernel, read the update_script from the cm7 build to understand how it works.
So that's it for a start. roll up your sleves, gather your courage and get to it!
Please if you have other tips, add them to the thread, what's better 1 or 2 'developers/porters' or 100?
Thanks. This is very useful for me.
Thanks,
Following this method, with slight alterations to adjust, I was able to port an i9000 phone build to the tab in about 10 minutes, it's really not terribly that difficult once you have the right steps.
The first couple times are usually frustrating but after that you get the hang of it
Hi mssmison Thank you for your guide,it will be very useful in the future! I have only one request,how can I contact you? I have a proposal for you about a dev team (regarding an old think tank)
Thanks for the guide...
Is there any ROM left to port by the way?
Sent from my GT-P1000 using XDA Premium App
Related
Hi guys!
I'm wondering what I'd have to do if I wanted to modify the built in apps inside Android..
I've got a HTC Hero running FroydVillain 1.5.0. Let's say... I want to modify the messaging app that's included, MMS.apk. I wouldn't know how to go about this, and I have a few questions...
Firstly, what sources exactly are used for building the built in apps for a given ROM? The source code link in the FroydVillain post, for example, is just for the kernel. The rest of the OS isn't there.
Secondly, I hear that in order to modify a built in app, you need to build the entire OS. If I just download all the code from Google official repo, and compile that, will it just... work on my phone, provided I use a kernel that is specific to my phone?
Lastly, are there any tips anyone has for someone who just wants to modify a couple of the built in apps? Is it possible to build them as standalone apps? Or import them into Eclipse?
I've had a search around the forum and the internets in general, and people have asked similear questions, but I've yet to find a good answer. This thread comes to mind: http://forum.xda-developers.com/showthread.php?t=635197
If anyone could help me, or point me in the direction of any help, that'd be awesome! Thanks!!
FunkTrooper said:
Hi guys!
I'm wondering what I'd have to do if I wanted to modify the built in apps inside Android..
I've got a HTC Hero running FroydVillain 1.5.0. Let's say... I want to modify the messaging app that's included, MMS.apk. I wouldn't know how to go about this, and I have a few questions...
Firstly, what sources exactly are used for building the built in apps for a given ROM? The source code link in the FroydVillain post, for example, is just for the kernel. The rest of the OS isn't there.
Secondly, I hear that in order to modify a built in app, you need to build the entire OS. If I just download all the code from Google official repo, and compile that, will it just... work on my phone, provided I use a kernel that is specific to my phone?
Lastly, are there any tips anyone has for someone who just wants to modify a couple of the built in apps? Is it possible to build them as standalone apps? Or import them into Eclipse?
I've had a search around the forum and the internets in general, and people have asked similear questions, but I've yet to find a good answer. This thread comes to mind: http://forum.xda-developers.com/showthread.php?t=635197
If anyone could help me, or point me in the direction of any help, that'd be awesome! Thanks!!
Click to expand...
Click to collapse
1) The whole sources for everything are there
http://github.com/ninpo
2) You can import the sources to eclipse, but I think you will need to build the entire tree, as opposed to just what you change
3) Apktool lets you do smali and resource edits on an APK. Without knowing what you aim to do, it's hard to guide you specifically.
Most apps are based on the sources provided by google. I assume you are talking about Froyo Hero ROMs (i.e. FroydVillain), which apps are generally built from the source of CyanogenMod. Specifically for FroydVillain, if you look around ninpo github you will see some packages with some changes to their code, although it does seem that many of the changes in recent releases are not there. I have actually PMed ninpo about this and hopefully this is only a technicality.... I assume that the other packages and apps (most of them) he just compiled off the CM sources without changes.
In any case, if you compile an app either from the CM source or from google's original sources, it should work just to copy the apk file - just make sure you use an appropriate ROM (i.e. Froyo ROM if you built it from Froyo sources). The reason to want the CM sources, is that if they have incorporated further fixes (over the google sources) you may want them.
Finally, some more practical advice: I would start with the google sources: http://source.android.com/source/index.html since I have found these instructions and explanations easier to begin with - it should be quite straight forward to build these sources on a linux machine (or VM).
Then you can also try to tackle the cyanogen source: http://wiki.cyanogenmod.com/index.php?title=Building_from_source currently missing instructions on how to build for hero. But if you only want to copy apks out of it, you can just build a generic build (like in the google souce).
If you have specific problems, ask and I'll try to help you.
Good luck.
pulser_g2 said:
1) The whole sources for everything are there
http://github.com/ninpo
Click to expand...
Click to collapse
For example where are all the changes to the dalvik code? I do not follow closely enough the changes in Froyd to point out other things which might be missing (if at all), but there are relatively few committed changes to the CM code. Specifically the dalvik code, ninpo mentioned hundreds of changes which caught my interest and are definitively not there.
The kernel sources do seem to be up to date always - been following that one closely .
Thanks for the advice I love this forum!
What I'm trying to do, in case you're wondering, ultimately, is to modify the built-in messaging application to give the user the option of sending a message by the normal method, or by using their provider's free webtext service, something that all the carriers seem to offer here in Ireland.
So, for example, you'd press the Send button, and you'd be able to select one of those methods. (of course, you'd have to have a data connection for the webtext). There's also be an interface for entering your login credentials for your carrier's website.
I'm doing this party because it would be very useful. I also feel that it would give me a good introduction to how you'd go about modifying Android. I mean, from a programming point of view, it shouldn't be *too* hard to do. I already have a simple standalone app that I made which can send a text message via an Irish carrier's webtext service. But it's all good experience to try to modify other people big codebases.
I have a good bit of experience with web application development, but my experience with other programming is a little more limited. I usually use PHP, where there's none of this compiling nonsense. You just write scripts and off they go!
So I'm gonna go off and see if I can set up an environment where I can build.. the OS, I guess.
If I was to take the vanilla official Google sources, would they work on my phone? Or would I have to use an official Google developer phone... or the emulator? Or maybe if I stopped writing here and investigated those links you've provided, I'd know that by know.
Brb, investigating
Yeh investigating and just trying to do it is usually the best way
To clarify what I was trying to say above: All the java code is obvious very portable - one of the big advantages of java. In the case of android it is compiled to an .apk file and this file should be, at the very least, portable to all android "devices" running this android version. So the apk you build (for example from the vanilla 2.2 sources) should work on the emulator (good for initial debugging) and any 2.2 ROMs.
erasmux said:
For example where are all the changes to the dalvik code? I do not follow closely enough the changes in Froyd to point out other things which might be missing (if at all), but there are relatively few committed changes to the CM code. Specifically the dalvik code, ninpo mentioned hundreds of changes which caught my interest and are definitively not there.
The kernel sources do seem to be up to date always - been following that one closely .
Click to expand...
Click to collapse
I'm currently on "vacation" from any and all Android development for a week. I'll be back after the weekend, at which time my modifications will be cleaned up and committed to git. The kernel is always current with my latest kernel release due to GPL obligations. The extra time away has also highlighted some changes I need to make both to the kernel and to my Android modifications when I get back.
Hacre said:
I'm currently on "vacation" from any and all Android development for a week. I'll be back after the weekend, at which time my modifications will be cleaned up and committed to git. The kernel is always current with my latest kernel release due to GPL obligations. The extra time away has also highlighted some changes I need to make both to the kernel and to my Android modifications when I get back.
Click to expand...
Click to collapse
Thanks Ninpo
[This is not the place to say "this is awesome" or "thanks!"]
[DEVS ONLY]
I want to start this thread to keep up the progress on the port.
the bad news is that the SDK is incomplete for now, so (like other devices)
we will have to write our own code for the OS, the nook community
has done a wonderful job writing their own libraries and stuffs, so we will have to do the same.
Instead of pursuing different goals, let's focus on one thing at a time.
since GSM and CDMA versions are already out, it seems we suffer the same bugs, so for now let's unite strength and knowledge to overcome these.
I propose that the first goal to fix is the SurfaceFlinger, so we could at least see the apps, the buttons and the notifications.
it is currently throwing this:
04-06 22:01:35.495: ERROR/Surface(2960): dequeueBuffer failed (Out of memory)
this could lead us that it might coudln't start because of some malloc malfunction or something.
also that pvrsrvinit bugs me a lot.
update:
8/APR/2011
since DiP7 could fix SurfaceFlinger and other things using a different build from the GSM kernel, we have to dig deeper
======================================
CURRENT GOAL
Rebuild Kernel
======================================
Current approaches:
*none
Post any finding, guessing or anything, and please, please don't be afraid to ask anything you have a doubt, as a Dev you should not know everything, so we can help us each other
------------------------------------------
Google Easter egg:
while searching some info about the android.mk file , I put it on the chrome bar to search for that term, but instead I went to
http://android.mk
an easter egg web page from google lol
******TOOLS*********
How to send text and Keystrokes via ADB
http://bradchow.blogspot.com/2011/02/send-intent-and-key-event-by-adb.html
use DroidExplorer to easily access your device from your computer and makes changes from it
http://de.codeplex.com/
The Android Boot Process
http://www.androidenea.com/2009/06/android-boot-process-from-power-on.html
---Kernel Tools----
CPU Datasheet
http://forum.xda-developers.com/showthread.php?t=745877
Samsung GIT
http://android.git.kernel.org/?p=kernel/samsung.git;a=summary
PowerVR SDK
http://www.imgtec.com/powervr/insider/powervr-sdk.asp
Source code of samsung firmwares(keep and eye on this)
http://opensource.samsung.com/
Asus pad honeycomb Kernel Source
http://forum.xda-developers.com/showthread.php?t=1026528
ellokomen said:
======================================
CURRENT GOAL
Find why SurfaceFlinger is not working
======================================
Click to expand...
Click to collapse
Mmmk.. Let me tell you a story.
A long time ago in a galaxy far away... No, that will take too long. In a nutshell, one third of the answer is here, another third is here and the rest is here. I'm not trying to be intentionally vague, I just haven't figured out how these three fit together yet.
Of course, there could also be some bit of code that I missed... some telling line in a debug log that I overlooked or some driver or library that I could have decompiled to sift through its juicy secrets. There could easily be a fix that would take seconds to add and make the whole thing fall in line...
Or we might have to work it from the ground up.
Either way it will happen. It's just a matter of whether it will happen next week, or next month.
(Watch it be a misplaced semi-colon, or a bad symlink... that's how these things go.)
updated approaches and new tools have been added
spacemoose1 said:
Mmmk.. Let me tell you a story.
A long time ago in a galaxy far away... No, that will take too long. In a nutshell, one third of the answer is here, another third is here and the rest is here. I'm not trying to be intentionally vague, I just haven't figured out how these three fit together yet.
Of course, there could also be some bit of code that I missed... some telling line in a debug log that I overlooked or some driver or library that I could have decompiled to sift through its juicy secrets. There could easily be a fix that would take seconds to add and make the whole thing fall in line...
Or we might have to work it from the ground up.
Either way it will happen. It's just a matter of whether it will happen next week, or next month.
(Watch it be a misplaced semi-colon, or a bad symlink... that's how these things go.)
Click to expand...
Click to collapse
The kernel source that you have linked to is 2.6.35.7 for the Nexus S gingerbread and is not fully maintained by samsung but rather by google.
However I do not think you are wrong that there is a problem somewhere in the kernel. The kernel that has been released for the galaxy tab is a mess of horrid code, I have had to re-write parts of kernel drivers just to get them to work under linux, I would not be surprised if similar patches are needed for honeycomb
lilstevie said:
The kernel source that you have linked to is 2.6.35.7 for the Nexus S gingerbread and is not fully maintained by samsung but rather by google.
However I do not think you are wrong that there is a problem somewhere in the kernel. The kernel that has been released for the galaxy tab is a mess of horrid code, I have had to re-write parts of kernel drivers just to get them to work under linux, I would not be surprised if similar patches are needed for honeycomb
Click to expand...
Click to collapse
you mean that you made a port of a Linux Distro into the tab?
ellokomen said:
you mean that you made a port of a Linux Distro into the tab?
Click to expand...
Click to collapse
yes click here for the thread on the port of ubuntu
Current kernel source
Do you guys have another link to the current spacemoose kernel source? The download link seems to be corrupted and won't untar. I want to get in on the fun
noobporter said:
Do you guys have another link to the current spacemoose kernel source? The download link seems to be corrupted and won't untar. I want to get in on the fun
Click to expand...
Click to collapse
here it is, bear in mind that this is for CDMA devices
Unfortunatey, we have 4 other honeycomb threads.
Not trying to be rude but spacemoose updates us in the cdma forums AND we have russian rom updates in the gsm forums.
I really dislike the idea of this thread, there is enough clutter amongst the other threads. Do we really need one more place to browse..
The first posts in the roms thread are kept updated by devs.. Is this not enough??
daml said:
Unfortunatey, we have 4 other honeycomb threads.
Not trying to be rude but spacemoose updates us in the cdma forums AND we have russian rom updates in the gsm forums.
I really dislike the idea of this thread, there is enough clutter amongst the other threads. Do we really need one more place to browse..
The first posts in the roms thread are kept updated by devs.. Is this not enough??
Click to expand...
Click to collapse
yeah but we need a place for the other devs to share their milestones, here is a place for technical discussion amongst us, to share the knowledge etc...
the other threads are flooded from non devs messages, so it´s kind of difficult to read 14 pages of information when the 80% is people complaining not making it boot
lilstevie said:
The kernel source that you have linked to is 2.6.35.7 for the Nexus S gingerbread and is not fully maintained by samsung but rather by google.
Click to expand...
Click to collapse
Yes, and it contains some support for our device (s5pc110), and some more that can be added (pvr) and the architecture necessary to fully support HC without patching the build itself. If we work only towards patching the system build to communicate with the hardware, we won't be able to run AOSP hc versions when the source drops without going through the same painstaking process of hacking the system to function (while creating numerous faults causing FCs in the process). If we build a new kernel, we can get the hardware to communicate in the way future android versions want it to and we can then do what we want with ease.
noobporter said:
Do you guys have another link to the current spacemoose kernel source? The download link seems to be corrupted and won't untar. I want to get in on the fun
Click to expand...
Click to collapse
D'oh! Nobody told me, LOL... I'll get another copy up.
spacemoose1 said:
D'oh! Nobody told me, LOL... I'll get another copy up.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=1026528
hey spacemoose! the first portion of honeycomb source... The kernel source of the Asus EEE Pad Transformer... maybe it helps you with a few kernel issues, even if it's for another device... It's honeycomb!
Flokey said:
http://forum.xda-developers.com/showthread.php?t=1026528
hey spacemoose! the first portion of honeycomb source... The kernel source of the Asus EEE Pad Transformer... maybe it helps you with a few kernel issues, even if it's for another device... It's honeycomb!
Click to expand...
Click to collapse
Digging through it now.
spacemoose1 said:
Yes, and it contains some support for our device (s5pc110), and some more that can be added (pvr) and the architecture necessary to fully support HC without patching the build itself. If we work only towards patching the system build to communicate with the hardware, we won't be able to run AOSP hc versions when the source drops without going through the same painstaking process of hacking the system to function (while creating numerous faults causing FCs in the process). If we build a new kernel, we can get the hardware to communicate in the way future android versions want it to and we can then do what we want with ease.
Click to expand...
Click to collapse
Not enough really, PVR kernel module sources have been released from samsung for our device, and is available in update1 zip.
The kernel panics and we have no framebuffer from the nexus s, believe me that is the kernel I want to be running for my project, it is cleaner nicer and things are implemented overall better. unless you know of a solution for kernel debuging over usb
lilstevie said:
Not enough really, PVR kernel module sources have been released from samsung for our device, and is available in update1 zip.
The kernel panics and we have no framebuffer from the nexus s, believe me that is the kernel I want to be running for my project, it is cleaner nicer and things are implemented overall better. unless you know of a solution for kernel debuging over usb
Click to expand...
Click to collapse
Kernel debugging over USB = adb shell cat /proc/kmsg
You can make any kernel work for any device as long as you add the **** it needs. Just takes time. Working on it now.
Goal and tools updated*
spacemoose1 said:
Kernel debugging over USB = adb shell cat /proc/kmsg
You can make any kernel work for any device as long as you add the **** it needs. Just takes time. Working on it now.
Click to expand...
Click to collapse
You don't know what a kernel panic is do you?
lilstevie said:
You don't know what a kernel panic is do you?
Click to expand...
Click to collapse
I thought that linux throws a dump log when it makes a kernel panic specifying the memory address and the cause of crash
____________________________________
2BOrange
____________________________________
Hi everybody,
I have made a free application to install any kernel on your SGS very easily.
The idea is that there is a website where kernel are uploaded with a script and an application to:
- search
- download
- install it on your phone.
The application and the website are not limited to install kernell but I think it is a good way to try it.It can execute any script in the android shell.
So I have made some script for some kernel, there are so much that I have not the time to make one for each of them.
To make a script is very easy, I have attached an example of one I have uploaded on the website. If you need to attach a file, put it in a zip and upload both (the script and the zip) through the upload form on the website,
The address of the website is:
http://www.2borange.com/
A general thread on XDA (not dedicated to kernel on SGS) about the application:
http://forum.xda-developers.com/showthread.php?p=14875954#post14875954
You need to create an account to upload but it is not mandatory to just search, download and install a kernel.
Please keep me informed if everything work or not. I have only test it on my phone.
For the author of the kernels: I am sorry to have not yet informed you of the sharing of your great work, I will do it for sure when I will have done enough test to offer you an interesting way to share your work.
For the user: if you have time, don't hesitate to upload some scripts, it is free and easy to do...
Thank you for everything,
Michael
LIST OF KERNEL AVAILABLE AS OF JUNE, 27:
- Galaxian
- Infusion Kernel Faster Fusion Reaction
- Semaphore Kernel JVH - JVP
- SpeedMod Gingerbread
- TalonDEV
- TEGRAK lagfix- Voodoo kernel installer
- Voodoo kernel JVP
Don't hesitate to upload some new firmware. A model of script is provided below as attachment
niceee something to look foreward to
Neldar's SGS Kernel Flasher
is not locked to any web-site.
Sent from my GT-I9000
O-T said:
Neldar's SGS Kernel Flasher
is not locked to any web-site.
Sent from my GT-I9000
Click to expand...
Click to collapse
This allows you to actually find a kernel, download it and flash it as well. The Kernel Flasher is just for kernels already on your sd card.
O-T said:
Neldar's SGS Kernel Flasher
is not locked to any web-site.
Sent from my GT-I9000
Click to expand...
Click to collapse
Thank you for your message.
I did not know about this application. I have read the description and I can tell you the purpose of mine is totally different.
I have understood that Nedar application is to install a Kernel that you have already downloaded and copy on your SDCARD.
The purpose of my application is to download automatically a script and a zip file, and execute the script.
So there are 2 main differences between these two applications:
- my application get files you need directly from the cloud (Internet), so it is like a deposit of files
- my application is not limited to kernel installation, it is just a usefull example to show people how it works, but it can do more, really lot more tasks.
However, because the application of Nedar is dedicated to one particular task, it has option I have not yet implemented in mine. By example, I have not yet construct a script to backup the kernel in an update.zip file, which could be very usefull.
So they are really very different. I hope I will be able to construct more script, but may be the biggest difference with any dedicated application is that anyone can participate to my project without any knowledge in Java programation.
You just have to know a little bit about shell to be able to share your work with others.
THAT IS THE REAL PURPOSE OF THIS APPLICATION : SHARING!
Amazing concept!
Thumbs up for the foresight for such a nice project. If enough effort is put I can see in next couple of months, the whole, ROM, Kernel, Modem flashing automated.
Right from finding the correct software till installing them and may be some debugging and fault finding as well!
Will definitely donate in case the project takes off the way it should!
Great work Snoopy!
Loving the concept of this!
As omzworld was saying, if this grew into a script that could automatically install your ROM/kernel/modem etc. that would be awesome, especially for people who are new to flashing.
Now, here's another suggestion that may or may not have been thought about already..
Is there any way to make the app look at your phone and use that as a basis for roms, kernels etc. ? If that was possible, anyone and everyone would be using your app to flash because they would know that bricking their phones would be almost impossible.
omzworld said:
Amazing concept!
Thumbs up for the foresight for such a nice project. If enough effort is put I can see in next couple of months, the whole, ROM, Kernel, Modem flashing automated.
Right from finding the correct software till installing them and may be some debugging and fault finding as well!
Will definitely donate in case the project takes off the way it should!
Great work Snoopy!
Click to expand...
Click to collapse
lttldvl said:
Loving the concept of this!
As omzworld was saying, if this grew into a script that could automatically install your ROM/kernel/modem etc. that would be awesome, especially for people who are new to flashing.
Now, here's another suggestion that may or may not have been thought about already..
Is there any way to make the app look at your phone and use that as a basis for roms, kernels etc. ? If that was possible, anyone and everyone would be using your app to flash because they would know that bricking their phones would be almost impossible.
Click to expand...
Click to collapse
Thank you for your interest.
The thing I need now is not money, donation,etc... but report of test and ideas of improvment.
By the way, I only have a samsung phone, and I am wondering if there are possibilities to install kernel in other phone only by using the shell, have you an idea ?
Second question: have you an idea how to proceed to install an entire ROM through the shell ? I suppose the phone has to be rebooted before installation begin and lauche in a recovery mode, but how to make it automatic like in ROM Manager?
Thank you for your help!
omzworld said:
Amazing concept!
Thumbs up for the foresight for such a nice project. If enough effort is put I can see in next couple of months, the whole, ROM, Kernel, Modem flashing automated.
Right from finding the correct software till installing them and may be some debugging and fault finding as well!
Will definitely donate in case the project takes off the way it should!
Great work Snoopy!
Click to expand...
Click to collapse
What is the way it should take for you?
I need ideas
lttldvl said:
Loving the concept of this!
As omzworld was saying, if this grew into a script that could automatically install your ROM/kernel/modem etc. that would be awesome, especially for people who are new to flashing.
Now, here's another suggestion that may or may not have been thought about already..
Is there any way to make the app look at your phone and use that as a basis for roms, kernels etc. ? If that was possible, anyone and everyone would be using your app to flash because they would know that bricking their phones would be almost impossible.
Click to expand...
Click to collapse
I have already included a kind of filter based on brand, model of phone and firmware version plus sdk version, do you think it could be more precise?
Fixed script on server, should work on every phone now
Hey snoopy33, why do you have not yet updated this page?
Whiles there's currently an excellent port from the 7100 MIUI build it has a couple of flaws which I'm not totally sure can be resolved. It's been a long time since I looked at developing anything but figured I'd have a look at the current patchrom implimentation to see if we could get a proper 317 build going.
Here's some details about patchrom, and what I've done so far.
First up. https://github.com/MiCode/patchrom already has a note2 tree, so we can use that as a base for changes for the 317.
Have all the same pre-recs installed as you would to compile cm.
In linux you'll need to make a patchrom folder
1.mkdir patchrom
micode doesn't yet have all the repo setup for jellybean, so I just downloaded the following zip tardballs and extracted them into their respective folders;
https://github.com/MiCode/patchrom_miui/tree/jellybean -> patchrom/miui
https://github.com/MiCode/patchrom_tools/tree/jellybean -> patchrom/tools
https://github.com/MiCode/patchrom_build/tree/jellybean ->patchrom/build
https://github.com/MiCode/patchrom_note2 ->patchrom/note2
https://github.com/MiCode/patchrom_android/tree/jellybean ->patchrom/android
Once that's complete you can pretty much follow the developer guide here;
https://github.com/MiCode/patchrom/blob/ics/Patchrom Developer Guide.pdf
I highly suggest installing this as your source rom, (http://forum.xda-developers.com/showthread.php?t=2016575&highlight=stock) installing it as a stock build first (no themes tweaks etc)
Create a folder patchrom/317 and start following the guide to create your stockrom.zip
Copy the following from the note2 folder into your new folder
makefile
miuihome
miuisystemui
originalsettings
mms
overlay
phone
settings
thememanager
customize_framework.sh
customize_miuiapp.sh
phoneapps.mk
Camera maybe?
Edit the makefile to update the directory references to your new build folder.
Run the make workspace to unzip and decompile the frameworks that are going to be modded.
By following the guide, with what you've done we're now at the firstpatch phase. That's what I'm currently working on as well.
The directions are a little convoluted so hopefully this helps.
When you run make firstpatch what it tries to do is automatically patch the miui smali bits into the framework/services smali files. Whenever it can't it'll create a *.rej file for you.
What you need to do is edit the associated file and manually put in the diffs from the rej files. Where we have this super great advantage is there's already the 7100 framework with the patched in rej in the note2 folder you downloaded earlier. So really you just need to compare that smali file against yours and apply the changes noted in the rej file. (tip. you edit the original files created during make workspace, nothing in the temp directory, just in the framework.jar.out folder etc)
Here's a really great post detailing an example; http://forum.xda-developers.com/showpost.php?p=25713236&postcount=171
Boy.. that doesn't sound easy.. but believe me it's easy once you start looking at it.
Ok I've dealt with the *.rej files now what?
Holy congrats! Your a step ahead of me at this point Next up you just need to run make fullota. It *should* at this point build an ota you can flash from recovery.
copy to sdcard, reboot recovery flash and.. it should boot. Really I expect there should be little or no issues thanks to the 7100 work we've already borrowed.
Assuming it works, let's get it on github and shared with the miui team. That'll go a long way to making it a weekly build.
Good luck and have fun!
If you get somewhere, let us know.
An additional source is the changelog for patchrom on the note2 (7100). Here's the manual commit details. This is also a pretty good map for what we need to do.
https://github.com/MiCode/patchrom_note2/commits/jellybean?page=2
Brother, are you now doing this job?I want to do but is too difficult for me...
I have been using MIUI 3.1.25 from the T-Mobi Galaxy Note 2 thread. I really like this ROM. But there are issues since it is not optimized for the i317 note 2 phones. Example: I can't access my 64GB SD card on MIUI v5. I reverted to the previous version (MIUI 3.1.25) and my SD card forks fine. Have anyone followed the instructions in the original post above and was able to port MIUI to the i317 note 2 phone? I would really like to know how to port this ROM. I am looking into how to get started.
Thanks for sharing this! Idk if anyone has improved on miui from this? Im willing to look into it, would you be willing to help me out with fixing some issues once i get it flowing? If so i appreciate it, just toss me a pm at your convenience.
Sent from my SAMSUNG-SGH-I317 using Tapatalk 4 Beta
dirtydroidx said:
Thanks for sharing this! Idk if anyone has improved on miui from this? Im willing to look into it, would you be willing to help me out with fixing some issues once i get it flowing? If so i appreciate it, just toss me a pm at your convenience.
Sent from my SAMSUNG-SGH-I317 using Tapatalk 4 Beta
Click to expand...
Click to collapse
Thanks for the post but belive me fixing rejects is not that easy job. You will get hundreds of rejects while patching the smali code by MIUI patchrom.
If anyone got success with this, I would love to get in touch with you.
Guys please help with Patchrom Tool for Note 2
Can somebody explain me the proper way to build the boot image? I'm able to build a pure kernel image but i'ts now what i need to flash into boot partition.
Eh that's a bit complicated, the kindled booting is a uniqueish format. Hashcode made a custom make setup in cm's build system to put it together since it not only has a weird signature but a second bootloader added onto the beginning of it as well. Are you compiling a rom or just trying to rebuild the bootimg?
Sent from my LG-P769 using Tapatalk
Yeah, I've tried to figure out from the CM port how it's built. I've found some code here:
https://github.com/KFire-Android/android_device_amazon_jem/blob/cm-11.0/boot.mk
But I can't figure out how to attach a kernel image, ramdisk, what else.
I'm not building rom, just want to change some features in the stock kernel.
I could attempt to throw one together for you, I think my current setup doesn't bother to check the intramfs as long as it exists in the out directory, I'd just have to replace the kernel and initramfs and attempt a build. O wait I'm in the 8.9" section, I don't have a working build of b2g going for that yet, probably wouldn't be the best idea, would probably work but Idk. You could just build cm from source and pull the bootimg out of the zip it makes. Maybe I can slap together some instructions, I kinda see in the makefile how it works but makefile scripting isn't my forte, its similar to bash but different enough i can get confused at points.
Sent from my Amazon Tate using Tapatalk
Building the whole cm is a bit overhead. I don't need the complete build script but it would be great if you point out some makefiles, or places to look in the source tree, i'll try to fugure out how to use it.
So anyone?
ipipipipip said:
So anyone?
Click to expand...
Click to collapse
ah sorry i have been at work most of the week and passing out once i get home (thank you low stamina). Anyways i thought i had posted something on here about where to look but it seems i didnt, look at this file: https://github.com/KFire-Android/android_device_amazon_jem/blob/cm-11.0/boot.mk#L27
That area (line27ish) should give you the hints you need.
Edit: wait this is a 8.9, wrong link, that would be a nice brick if that was used... Fixed!
most of that file makes sense, the only thing i am unfamiliar with is [email protected] $ usually means a variable or something else i'm trying to rember involving a program, probably storing output from a program as the variable. As to the @ symbol i have heard it means array, not very sure at all about how it works.