I'm looking to learning to make a kernel and add OC to it. I have Ubuntu 12.10 I believe. I downloaded a source from HTCDev. Now what do I do from there?
hasoon2000 said:
I'm looking to learning to make a kernel and add OC to it. I have Ubuntu 12.10 I believe. I downloaded a source from HTCDev. Now what do I do from there?
Click to expand...
Click to collapse
there is a Documentation folder. read it
then come back with more questions
If you have little to no experience (or want to get more experience) on linux, scripting/compiling/general knowhow, I'd spend a few hours on LinuxFromScratch http://www.linuxfromscratch.org/
And it definitely would help if you keep a log of what you did, problems you ran into and how you fixed it... easy to refer back, and definitely a + if you post it so that others can see a step-by-step process of what you did...
if you need a wiki/git repo/issue tracker space, I can help set you up with one (or you could use github)... xda has a free wiki system too
I never really used linux so call me a noob if you wish lol. I'm gonna see if I can set up a github and if I can't, I will let you know! I'm trying to get my feet and learn what I'm doing.
Sent From My HTC Amaze 4G via Someone's Room
I made a guide that tells you how to build it... Follow my guide for the building part. (All except for the def_config part)
For oc, I'm not sure.
Sent from my epic amaze 4g
hasoon2000 said:
I never really used linux so call me a noob if you wish lol. I'm gonna see if I can set up a github and if I can't, I will let you know! I'm trying to get my feet and learn what I'm doing.
Sent From My HTC Amaze 4G via Someone's Room
Click to expand...
Click to collapse
I'd say the most important advice to give you is,
slow down and reflect on things instead of rushing around(like asking yourself, why would <this> make sense)
use repositories so you can roll back/forth with changes
I actually would like to compile the kernel and ICS(eventually CM9-CM10) for the amaze 4G, but currently just started a new job.... maybe I'll have time this weekend
lmk via if you want to work together during the weekend... I have experience with linux and some android programming
EDIT: ziggy46's guide http://forum.xda-developers.com/showthread.php?t=1764504
ziggy46 said:
I made a guide that tells you how to build it... Follow my guide for the building part. (All except for the def_config part)
For oc, I'm not sure.
Sent from my epic amaze 4g
Click to expand...
Click to collapse
Just to get a better understanding, what is the def_config and menu_config for? Also, when you say "(make any changes you want... if you dont need to make changes, use arrow keys and enter key to select exit until you are back to the terminal.)", is it a menu that tells you what you can do or what exactly?
paperWastage said:
I'd say the most important advice to give you is,
slow down and reflect on things instead of rushing around(like asking yourself, why would <this> make sense)
use repositories so you can roll back/forth with changes
I actually would like to compile the kernel and ICS(eventually CM9-CM10) for the amaze 4G, but currently just started a new job.... maybe I'll have time this weekend
lmk via if you want to work together during the weekend... I have experience with linux and some android programming
EDIT: ziggy46's guide http://forum.xda-developers.com/showthread.php?t=1764504
Click to expand...
Click to collapse
So I should make more than one git? I just wanna get an idea of all this. I'll probably make one for the Wildfire S I have in my room and then move on from there. Also, can I use cygwin on Windows? I have an i7 laptop with Windows and I really don't wanna use a dual core laptop that I have as well
hasoon2000 said:
Just to get a better understanding, what is the def_config and menu_config for? Also, when you say "(make any changes you want... if you dont need to make changes, use arrow keys and enter key to select exit until you are back to the terminal.)", is it a menu that tells you what you can do or what exactly?
So I should make more than one git? I just wanna get an idea of all this. I'll probably make one for the Wildfire S I have in my room and then move on from there. Also, can I use cygwin on Windows? I have an i7 laptop with Windows and I really don't wanna use a dual core laptop that I have as well
Click to expand...
Click to collapse
Dual boot your laptop with linux, it is a pretty easy setup, and you'll have less issues in the long run, faster builds, and learn more. Using cygwin or anything except working straight in linux means it splits up your processor, your ram, etc.. and look at the repo for faux kernel while you are using whatever website(like the one posted in first reply of thread) to see how to accomplish certain things. Many of his files have #comments explaining what he has done..
But quite honestly, if you are a linux "noob" then you are making it harder by trying to figure out how to work the OS AND how to build.. I would spend some time getting several things setup, like your repo's, and all the things you need to build- whether you are building an OS(like ics) or a kernel, you will basically be typing in commands that simply won't make much sense until you've learned some of the basics of linux.
The easiest way to get to know linux is to use ONLY linux, and figure out how to do everything you would on windows, without the GUI(graphical user interface)..
hasoon2000 said:
Just to get a better understanding, what is the def_config and menu_config for? Also, when you say "(make any changes you want... if you dont need to make changes, use arrow keys and enter key to select exit until you are back to the terminal.)", is it a menu that tells you what you can do or what exactly?
Click to expand...
Click to collapse
well the def_config sets up all the default configuration settings. and menu_config is used after that to make little changes... like what the default governor is, different kernel features, etc.
if i can ill try to make a video tonight.
hasoon2000 said:
Just to get a better understanding, what is the def_config and menu_config for? Also, when you say "(make any changes you want... if you dont need to make changes, use arrow keys and enter key to select exit until you are back to the terminal.)", is it a menu that tells you what you can do or what exactly?
So I should make more than one git? I just wanna get an idea of all this. I'll probably make one for the Wildfire S I have in my room and then move on from there. Also, can I use cygwin on Windows? I have an i7 laptop with Windows and I really don't wanna use a dual core laptop that I have as well
Click to expand...
Click to collapse
you could do whatever you want to: multiple git repos for each device, or one git repo with a main line for common stuff and branches for each device
Ok. Someone make Hasoon an AIO noobproof kit
Sent from my Energized Amaze 4G
Yes girls know about XDA
you can thank a girl on here
Related
Greetings all,
This is my first post here. I hope to make it a memorable one.
Really; I've been programming on the UNIX system for more than 20 years.
Having picked up and activated a brand new HTC-EVO android-2.2 (froyo) 4
days ago. I discover "big brother's watching" (google). This is completely unacceptable. Looking for the definitive answer brings me to XDA. So, I spent the past 2 days reading threads here. But can't shake the notion that all of this "rooting" seems overly complicated. I mean if android runs atop Linux, WTF is all this MS-DOS BS? Granted, I'm new to the EVO, but in UNIX, it seems that a simple:
Code:
# su
password
# mkdir /evoandroid
# mount /dev/android-device /evoandroid
dd if=<your-ROM-name-here> of=/evoandroid
would suffice.
This above is only slightly different for Linux - but I think you get the picture.
Sure. I know the SDK && NDK are written for MS-DOS & Co.
But what's that got to do with writing a "rooted" ROM to the EVO?
Because Windows users use the EVO too?
Sorry, but what am I missing here? Would love to start writing a self-made ROM to my new EVO. In fact I've already nearly finished a compilation that features an almost indistinguishable OS X. But hate to move any farther forward w/o clearing this "nit" I have with writing to the EVO.
Thank you for all your time and consideration.
--Chris
I don't understand your question. Can you clarify, and I'm sure someone will be glad to help if possible.
You can download Windows, Mac, and Linux versions of the SDK & NDK, so I'm not sure why you think they are Windows specific. (Many, if not most, ROM devs use Ubuntu since compiling AOSP & kernel source works well on it.)
If there is some part of the rooting process for the EVO that requires Windows, then that might be better directed to the EVO specific forums. I have helped to root one EVO myself, and it was done from a Mac. Things may have changed though.
Hello gnarlyc, and thank you for your reply.
gnarlyc said:
I don't understand your question. Can you clarify, and I'm sure someone will be glad to help if possible.
Click to expand...
Click to collapse
OK fair enough. I'll try to be more concise.
Currently, it is my understanding, that to "get root" on the EVO. One must download the SDK && NDK. Then use the tools provided there-in to "get root".
Yes, I am aware that you also need some of the wonderful utilities provided by the "dev's" here at XDA.
But I wonder why it wouldn't be simpler to mount(8) ( http ://internethell.net/man/?query=mount ) the EVO (rom & sdcard), and simply write the custom ROM "raw" right to the EVO's live rom.
eg; on a *NIX boxen
Code:
# su
password
# mkdir /evoandroid
# mount /dev/evo-device /evoandroid
# dd if=./custom-rom.img of=/evoandroid
see: http ://internethell.net/man/?query=dd
Done. That was easy, wasn't it.
gnarlyc said:
You can download Windows, Mac, and Linux versions of the SDK & NDK, so I'm not sure why you think they are Windows specific. (Many, if not most, ROM devs use Ubuntu since compiling AOSP & kernel source works well on it.)
Click to expand...
Click to collapse
I was aware of the source being *NIX. But when I went to HTC, they presented me with only the Windows version. Perhaps, they felt I was on Windows, based on some browser "sniffing" thing. Dunno. I don't have Windows on anything. But occasionally on one of my BSD servers, I'll mount it in a Virtualbox VM.
Thanks for your info here. I'll go back and get the Mac version. I don't suppose it supports Apple Macs?
gnarlyc said:
If there is some part of the rooting process for the EVO that requires Windows,
Click to expand...
Click to collapse
See above.
gnarlyc said:
then that might be better directed to the EVO specific forums.
Click to expand...
Click to collapse
Couldn't find the HTC-EVO phone as a separate forum - like the other EVO's.
gnarlyc said:
I have helped to root one EVO myself, and it was done from a Mac. Things may have changed though.
Click to expand...
Click to collapse
I don't feel I'd have any trouble "rooting" it. I just felt that all of the "tut's" I've found here were un-necessarily complicated - overly complex. So I'm wondering why my example above wouldn't work.
Thank you again gnarlyc, for your thoughtful response.
--Chris
CTH-EVO said:
Hello gnarlyc, and thank you for your reply.
OK fair enough. I'll try to be more concise.
Currently, it is my understanding, that to "get root" on the EVO. One must download the SDK && NDK. Then use the tools provided there-in to "get root".
Yes, I am aware that you also need some of the wonderful utilities provided by the "dev's" here at XDA.
But I wonder why it wouldn't be simpler to mount(8) ( http ://internethell.net/man/?query=mount ) the EVO (rom & sdcard), and simply write the custom ROM "raw" right to the EVO's live rom.
eg; on a *NIX boxen
Code:
# su
password
# mkdir /evoandroid
# mount /dev/evo-device /evoandroid
# dd if=./custom-rom.img of=/evoandroid
see: http ://internethell.net/man/?query=dd
Done. That was easy, wasn't it.
I was aware of the source being *NIX. But when I went to HTC, they presented me with only the Windows version. Perhaps, they felt I was on Windows, based on some browser "sniffing" thing. Dunno. I don't have Windows on anything. But occasionally on one of my BSD servers, I'll mount it in a Virtualbox VM.
Thanks for your info here. I'll go back and get the Mac version. I don't suppose it supports Apple Macs?
See above.
Couldn't find the HTC-EVO phone as a separate forum - like the other EVO's.
I don't feel I'd have any trouble "rooting" it. I just felt that all of the "tut's" I've found here were un-necessarily complicated - overly complex. So I'm wondering why my example above wouldn't work.
Thank you again gnarlyc, for your thoughtful response.
--Chris
Click to expand...
Click to collapse
Ok, I think I get you now. I don't think this will work though. The running image is on an internal partition. Maybe you can mount that? I don't think so though. It doesn't seem to me that mounting the sdcard will get you anywhere. So many 'impossible' things have already been done with Android, so I wouldn't count you out completely.
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
Kernel source for HTC phones - http://developer.htc.com/
Android Open Source Project source - http://source.android.com/source/download.html
Android SDK - http://developer.android.com/sdk/index.html
Android NDK - http://developer.android.com/sdk/ndk/index.html
I recommend this script for grabbing AOSP source on Debian/Ubuntu - http://blog.coralic.nl/2010/01/28/build-eclair-aka-android-2-1-for-hero-from-source/
You can change 'eclair' to 'froyo' for Android 2.2 source. It's good to look at this even if you don't use a Debian based distro, although it's mostly the same stuff that's on Google's site.
EVO forum - http://forum.xda-developers.com/forumdisplay.php?f=653
I don't think there's more than one EVO, but maybe I'm wrong. The internal name is 'Supersonic', btw. You might see that in places.
Won't this root method work? - http://forum.xda-developers.com/showthread.php?t=787304
Some other light reading -
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
http://forum.androidcentral.com/hacking/6037-general-rom-faq.html
http://forum.xda-developers.com/showthread.php?t=633246
http://blog.coralic.nl/2010/01/28/build-eclair-aka-android-2-1-for-hero-from-source/
http://forum.xda-developers.com/showthread.php?t=622916
http://forum.androidcentral.com/htc...how-build-your-own-kernel-package-source.html
http://forum.xda-developers.com/showpost.php?p=6738713&postcount=1
http://www.kandroid.org/android_pdk/index.html
http://android-dls.com/wiki/index.php?title=Main_Page
https://docs.google.com/Doc?docid=0AcdxIJRSH9ypZGZzc2pxNDlfMjdnazk4OHNxZA&hl=en
http://forum.xda-developers.com/showthread.php?t=641223
http://adrianvintu.com/blogengine/post/Colored-Logcat-Script-for-Windows.aspx
http://www.androidenea.com/2009/08/init-process-and-initrc.html
http://forum.xda-developers.com/showthread.php?t=623976
http://lukasz.szmit.eu/2009/12/making-your-own-rooted-android-rom.html
http://androidguts.com/index.php/Main_Page
http://groups.google.com/group/android-kernel
http://groups.google.com/group/android-building
http://groups.google.com/group/android-porting
http://groups.google.com/group/android-developers
http://groups.google.com/group/android-ndk
http://groups.google.com/group/android-platform
Greetings gnarlyc.
Let me first preface this by saying how grateful I am for all the time and effort you put into your last reply - WOW.
I don't want to sound argumentative. But just for the record, when I plug my EVO into one of my BSD servers, it immediately sees both the running system, and the sdcard. While I haven't yet attempted to mount the live system. I will endeavor to do so when I can determine what state I need to have the phone in to safely mount it. I'll report back to you with my results.
I have a strong suspicion I'll be posting a "one step to root and ROM" here within a week. That should help a lot of folks out.
I primarily develop in, and on the BSD family of operating systems. But given the Linux ABI support on BSD, I've made my development workstation dual-boot BSD/Fedora 13. But given the workstation is an AMD X4 six-core 4Ghz
board. I've decided to cobble up a copy of OS X (Apple CPU) to install on it as well - see; triple-boot. I'm just about to install it in the next couple of days. But thought I'd take a break on that development, and play with my new toy.
I should also have a copy of OS X for the EVO before long. Think anyone would be interested?
Well, I may not be new to development, but this EVO is new territory for me. So I'd do well to take advantage of the wealth of information you've thoughtfully provided me.
Best wishes to you gnarlyc, and thanks again.
--Chris
CTH-EVO said:
Greetings gnarlyc.
Let me first preface this by saying how grateful I am for all the time and effort you put into your last reply - WOW.
I don't want to sound argumentative. But just for the record, when I plug my EVO into one of my BSD servers, it immediately sees both the running system, and the sdcard. While I haven't yet attempted to mount the live system. I will endeavor to do so when I can determine what state I need to have the phone in to safely mount it. I'll report back to you with my results.
I have a strong suspicion I'll be posting a "one step to root and ROM" here within a week. That should help a lot of folks out.
I primarily develop in, and on the BSD family of operating systems. But given the Linux ABI support on BSD, I've made my development workstation dual-boot BSD/Fedora 13. But given the workstation is an AMD X4 six-core 4Ghz
board. I've decided to cobble up a copy of OS X (Apple CPU) to install on it as well - see; triple-boot. I'm just about to install it in the next couple of days. But thought I'd take a break on that development, and play with my new toy.
I should also have a copy of OS X for the EVO before long. Think anyone would be interested?
Well, I may not be new to development, but this EVO is new territory for me. So I'd do well to take advantage of the wealth of information you've thoughtfully provided me.
Best wishes to you gnarlyc, and thanks again.
--Chris
Click to expand...
Click to collapse
No problem. I'm wrong at least once per day, but that's ok as long as I realize it and learn from it. I hope you are able to work it out.
I've seen 'rooting' of the Eris go from installing a leaked ROM to doing some crazy timing with pulling out the sdcard (or something like that) to a 1-click app that's on the market. Some really determined, knowledgeable, and intelligent people have put a lot of time into making these things easier and better. Welcome to the community!
A copy of OS X for the EVO? Do you mean running on the EVO? If so, then I'm sure people would be interested from a purely geeky perspective. There are several phones out there with the option to install Ubuntu and/or Debian on them. They don't seem to be of practical use yet. Can you cross-compile Darwin for arm CPUs? Maybe I'm confused here... My knowledge of such things only runs so deep.
(Side note - I keep those links in a text file just for such occasions. I don't see why everyone should have to spend their time searching for the sites that I already know about.)
gnarlyc said:
No problem. I'm wrong at least once per day, but that's ok as long as I realize it and learn from it. I hope you are able to work it out.
I've seen 'rooting' of the Eris go from installing a leaked ROM to doing some crazy timing with pulling out the sdcard (or something like that) to a 1-click app that's on the market. Some really determined, knowledgeable, and intelligent people have put a lot of time into making these things easier and better. Welcome to the community!
A copy of OS X for the EVO? Do you mean running on the EVO? If so, then I'm sure people would be interested from a purely geeky perspective.
Click to expand...
Click to collapse
Yes, and no. The "apps" and android are made with Java - something Oracle is currently sueing Google for as I speak (Google clams "clean-room" in-house Java, Oracle claims otherwise). So for all practical purposes, there is no reason that those same "apps" found on the phones, and in the "market" can't be made to run on OS X. In fact, it opens the doors to additional "apps" that otherwise wouldn't be possible - iTunes, for example.
gnarlyc said:
There are several phones out there with the option to install Ubuntu and/or Debian on them. They don't seem to be of practical use yet. Can you cross-compile Darwin for arm CPUs?
Click to expand...
Click to collapse
Glad you asked. BSD (which is what "hosts" NeXT/Darwin) has no problems with ARM, and I'm confident that I can manipulate Darwin to work on Snapdragon.
gnarlyc said:
Maybe I'm confused here... My knowledge of such things only runs so deep.
(Side note - I keep those links in a text file just for such occasions. I don't see why everyone should have to spend their time searching for the sites that I already know about.)
Click to expand...
Click to collapse
I'm really glad you do - it really helped me a lot not having to weed all these "jewls" out. Thank you very much for sharing them with me, I appreciate it!
Best wishes to you gnarlyc, and have a wonderful day.
--Chris
Are they doing something similar to what you are talking about?
http://forum.xda-developers.com/showthread.php?t=788554
gnarlyc said:
Are they doing something similar to what you are talking about?
http://forum.xda-developers.com/showthread.php?t=788554
Click to expand...
Click to collapse
Thanks for the link gnarlyc.
I thought about something similar to this when I first thought about "rooting" the phone; making a system folder on the sdcard, then "soft linking" it to /system.
Problem being, the performance hit using the sdcard for system related tasks made this option undesirable.
Thanks again for sharing the link, gnarlyc.
OH, one thing though, my phone is not linked to google. I have no google account(s). I activated this phone in "developer mode". Meaning that there is no personal info to worry about "attached" to this phone. Making it an ideal candidate for creating a bone-stock ROM for recovery/hacking purposes. I don't suppose you can direct me to "cloning" this phone. So that I might share this w/others as a ROM suitable for un-bricking their phone, could you?
HTC-EVO (supersonic) s/w# 3.26.651.6, baseband# 2.15.00.07.28, PRI version 1.71_003, andriod 2.2
Thanks again.
--Chris
Can I ask, what do you mean by "big brother (Google) is watching"?
CTH-EVO said:
Thanks for the link gnarlyc.
I thought about something similar to this when I first thought about "rooting" the phone; making a system folder on the sdcard, then "soft linking" it to /system.
Problem being, the performance hit using the sdcard for system related tasks made this option undesirable.
Thanks again for sharing the link, gnarlyc.
OH, one thing though, my phone is not linked to google. I have no google account(s). I activated this phone in "developer mode". Meaning that there is no personal info to worry about "attached" to this phone. Making it an ideal candidate for creating a bone-stock ROM for recovery/hacking purposes. I don't suppose you can direct me to "cloning" this phone. So that I might share this w/others as a ROM suitable for un-bricking their phone, could you?
HTC-EVO (supersonic) s/w# 3.26.651.6, baseband# 2.15.00.07.28, PRI version 1.71_003, andriod 2.2
Thanks again.
--Chris
Click to expand...
Click to collapse
If you have a custom recovery partition like Amon_Ra's, you can do a NAND backup to the sdcard. It's basically a snapshot of the currently flashed ROM. That should work just fine. NAND's can be manipulated in dsixda's kitchen (although I haven't tried it, the option is there and dsixda has things together pretty well) and I THINK you should be able to copy one from one EVO to another and do a restore.
A side note... Generally when people create the ROMs that are out there, they do not include the directories under /data that might have personal info, so you can actually create a bone-stock ROM like you want without using a phone in such a state as yours. I've flashed a lot of different ROMs, and I'm pretty sure that none of them had identifying information about the dev unless they purposely did something like put their name in the build.prop or the wallpaper. Generally, if they include a /data, it's just for /data/app, although there are exceptions like when they want to change a database or something else that might be under /data.
As far as I know, your phone won't be linked to Google until you sign in with the Google account. I've gone several days on a fresh ROM without setting that up. Eventually, I find I want to install something from the Market, so I go ahead and sign in...
MaybachMan said:
Can I ask, what do you mean by "big brother (Google) is watching"?
Click to expand...
Click to collapse
Greetings MaybachMan.
Yes. Of course you may.
What I mean by that, is that is that Google monitors your activity. To what extent,
all depends on what applications you use, and to what extent you have a relation
with Google - Gmail, Google search, or any other Google application/account you
have with Google. Myself, on the other hand, I activated my EVO in "developer" mode.
I have no Gmail account, or any other relationship/account with Google.
Google needs your data. Google is a "data miner" that's what Google does.
I don't have a problem with their chosen line of business. I simply choose not to be
part of the data they "mine" - to the extent I am able.
Meaning in the context of my OP; I want to remove most (if not all) of the Google apps
on my EVO - including the Market app.
I hope I have cleared things up for you, MaybachMan.
Thanks for your reply.
--Chris
gnarlyc said:
If you have a custom recovery partition like Amon_Ra's, you can do a NAND backup to the sdcard. It's basically a snapshot of the currently flashed ROM. That should work just fine. NAND's can be manipulated in dsixda's kitchen (although I haven't tried it, the option is there and dsixda has things together pretty well) and I THINK you should be able to copy one from one EVO to another and do a restore.
A side note... Generally when people create the ROMs that are out there, they do not include the directories under /data that might have personal info, so you can actually create a bone-stock ROM like you want without using a phone in such a state as yours. I've flashed a lot of different ROMs, and I'm pretty sure that none of them had identifying information about the dev unless they purposely did something like put their name in the build.prop or the wallpaper. Generally, if they include a /data, it's just for /data/app, although there are exceptions like when they want to change a database or something else that might be under /data.
As far as I know, your phone won't be linked to Google until you sign in with the Google account. I've gone several days on a fresh ROM without setting that up. Eventually, I find I want to install something from the Market, so I go ahead and sign in...
Click to expand...
Click to collapse
Thank you gnarlyc! You're a "pillar of wisdom" where these phones are concerned.
I really appreciate your sharing it with me.
Best wishes, and thanks again gnarlyc.
--Chris
CTH-EVO said:
Thank you gnarlyc! You're a "pillar of wisdom" where these phones are concerned.
I really appreciate your sharing it with me.
Best wishes, and thanks again gnarlyc.
--Chris
Click to expand...
Click to collapse
Well, thank you. At least one of the voices tells me that's why I'm here. I'm still learning, and I find it easier to pass on what I learn if I learned it recently. Since I just got this phone in March, nearly everything I know about it is pretty fresh!
In addition the "big brother" post. The book 1984 I believe is where it comes from. The author is George Orwell and usually this book refers to things in society today as an Orwellian society. It's a really great book anyone who has spare time should really check it out if they like conspiracies, apocalyptic scenarios etc.
@CTH-EVO - I understand having a little linux background myself why you feel the way you do that you could just dd a raw image to the phone but there are a few issues with that, that I would like to clarify with you.
It's not entirely impossible. We have seen that around here many times.
However....
1. To clarify, Android is NOT general linux in the form you think of it. It's definitely HAS a beautiful open source twin sister (AOSP) but HTC's version of sense is locked down, restricted, and tight. But there are other reasons why..
2. The boot process... By default you can't mount the system directory to be writable, only readable which wouldn't make a hill a beans difference if you try to use dd. It would just produce error:unwritable.
To iterate further into this subject though, there is also the boot process and the partitions that go with that. Let me go ahead and get the boot process out of the way first:
**Generic Boot Process**
1.SelfCheck
2.Radio
3.S-on/S-off (developer mode only)
4.Recovery (if installed)
5.Rom
By default when the system boots it is directed specifically from the radio (unless s-on is installed) to the system partition, which by default the system partition locks any root needed functions out (including writablility from external sources).
One other thing of note, the phone more than welcomes ANY linux o.s. to see the internal phone storage, just that you can't write to it unless you have root.
However I also would like to inform you that there are universal root programs getting easier and easier these days to use so you don't have to download all this and that, and most phones now you don't even have to have a computer to root it.
Here's what is involved in the rooting process:
1. Exploit code to inject code for root access (done from shell of phone)
2. root files (permissions program, etc)
3. recovery flash. (flashed to it's own 'sub' partition)
Actually come to think of it you used to have to boot into recovery to root (well.. not really a recovery but the stock wiping/reset program) And you could possibly get dd to flash the system from there, but the real issue here is just not bricking the device.
The device itself is of course just one memory bank partitioned into different places. If you use dd to flash a raw image to the rom, it would wipe out EVERYTHING would it not? And not JUST the regular rom partitions? This would be sweet if you can set up an entire phone's system including bootstrap, radio, and recovery (effectively unbricking probably 3/4 the bricked phones out there right now) but if it's unsuccessful, or unfinished then would it not brick it entirely?
Hope this helps you out!
Hey guys,
I am really curious as to what it takes to build a custom ROM. I am very interested in building my own and want some pointers on the best places to start so I don't waste my time. Any advice will be useful, books, websites, w/e.
Thank you,
r3xx3r
get ready cause this one's going wayyy over your head.
Its one of those things where if you have to ask, you'll never know.
spitefulcheerio said:
Its one of those things where if you have to ask, you'll never know.
Click to expand...
Click to collapse
I really hate this mentality. People have to start somewhere. Sure they could spend years figuring everything out on their own. Or you could save them a year by pointing them in the right direction. There is such little discussion about this and it's honestly just annoying and a huge negative aspect about the development community.
EDIT: This is for HTC and I haven't watched it, but it might get you started: http://www.youtube.com/watch?v=94Az1kcQvc4
Also, you should definitely look through the source code for open source ROMs. I'm not a ROM developer so I can't really help you more than that, but I hope a real dev gives you an answer.
first and foremost, learn how to use ADB. if you cant use ADB without some kind of script/batch file to do it for you, then stop right here!
personally the first thing i learned was how the updater-script (at the time, we didnt have edify scripting, so it was plain-jane update-script) worked. have a look in a rom's zip file and learn the layout.
learn how to edit apks (decompile/compile) with apktool.
get comfortable with linux (this is just an opinion, as you CAN build roms in windows, but i have found it much easier on my dev laptop with ubuntu 10.10 64bit)
apkmanager is a good tool to have if you are on windows (there is a linux/osx version too, but i havent used it)
learn what zip-aligning means and what it does for your rom
learn what deodexing means and what it does for your rom
different devices benefit from different tweaks within your /system/build.prop . learn which ones work best for your rom (this requires a lot of flashing and testing on your own device)
this whole process is very time consuming and takes a ton of effort on your part. be prepared. while it is a lot of work, it is a lot of fun learning.
once you get proficient at building and tweaking roms, you can start learning how to edit smali
Pirateghost said:
first and foremost, learn how to use ADB. if you cant use ADB without some kind of script/batch file to do it for you, then stop right here!
personally the first thing i learned was how the updater-script (at the time, we didnt have edify scripting, so it was plain-jane update-script) worked. have a look in a rom's zip file and learn the layout.
learn how to edit apks (decompile/compile) with apktool.
get comfortable with linux (this is just an opinion, as you CAN build roms in windows, but i have found it much easier on my dev laptop with ubuntu 10.10 64bit)
apkmanager is a good tool to have if you are on windows (there is a linux/osx version too, but i havent used it)
learn what zip-aligning means and what it does for your rom
learn what deodexing means and what it does for your rom
different devices benefit from different tweaks within your /system/build.prop . learn which ones work best for your rom (this requires a lot of flashing and testing on your own device)
this whole process is very time consuming and takes a ton of effort on your part. be prepared. while it is a lot of work, it is a lot of fun learning.
once you get proficient at building and tweaking roms, you can start learning how to edit smali
Click to expand...
Click to collapse
This is good information. I, personally, build Aura completely on windows with minimal assistance from cygwin. I use batch files for the common things I use on ADB and the like but I built the scripts myself, so it isn't like I can't do it manually I just don't wanna.
It is both easier and harder than it looks. Aura is the first rom I have built.
One thing, though, is to not accept the current ways as best. Things can always be improved. I have two common mods in my rom that are done completely differently in my rom, without either database editing through scripts or modifying smali inside apk's (the hotspot entitlement check and the 1 signal bar fix). No other roms for the Atrix (I haven't check other phones...) do it this way, not even Darkside which is based somewhat no Aura.
If you are building a rom through the Rom Kitchen... don't use the garbled updater-script it puts out. It mostly works, but it is trash and you won't learn much from it.
Experimentation!
Diviance said:
This is good information. I, personally, build Aura completely on windows with minimal assistance from cygwin. I use batch files for the common things I use on ADB and the like but I built the scripts myself, so it isn't like I can't do it manually I just don't wanna.
It is both easier and harder than it looks. Aura is the first rom I have built.
One thing, though, is to not accept the current ways as best. Things can always be improved. I have two common mods in my rom that are done completely differently in my rom, without either database editing through scripts or modifying smali inside apk's (the hotspot entitlement check and the 1 signal bar fix). No other roms for the Atrix (I haven't check other phones...) do it this way, not even Darkside which is based somewhat no Aura.
If you are building a rom through the Rom Kitchen... don't use the garbled updater-script it puts out. It mostly works, but it is trash and you won't learn much from it.
Experimentation!
Click to expand...
Click to collapse
Thanks for the input. I love hearing from other devs and the methods they prefer.
Sent from my Inspire 4G
this thread died quickly.
too bad because I want to do some studying up on it and creating some coolness myself eventually.
I know with iphones a lot of development was done right from the phone itself especially for app development, is there the same concept here?
and one other question, do you guys make any money off of these things at all? Im always looking for side work...
supermerkin said:
too bad because I want to do some studying up on it and creating some coolness myself eventually.
I know with iphones a lot of development was done right from the phone itself especially for app development, is there the same concept here?
and one other question, do you guys make any money off of these things at all? Im always looking for side work...
Click to expand...
Click to collapse
you can create scripts, push and pull files directly from the phone, so in a sense, yes you can work straight from the phone.
as for money...LOL...dont look to this for a secondary income by any means.
i have made all of $28 for my work on the inspire, and nothing from my work on the captivate
Pirateghost said:
you can create scripts, push and pull files directly from the phone, so in a sense, yes you can work straight from the phone.
as for money...LOL...dont look to this for a secondary income by any means.
i have made all of $28 for my work on the inspire, and nothing from my work on the captivate
Click to expand...
Click to collapse
Hey 28 bucks is 28 bucks, granted I made 40 per screen when I used to replace iphone digitizers but money is money you never have enough.
Thanks for the info though!
Sent from my MB860 using xda premium
I spend a lot of time flashing my Rom when I am working on it. I usually don't push and pull from the phone since most users aren't doing that and I want to emulate what they will be doing.
As for money... Yeah, not a method of reliable I income if you intend to use it as such. I have probably had around... $125 donated to me by some incredibly awesome people.
If you intend to become a Rom dev, be friendly and responsive. People really appreciate someone who is willing to answer questions and give help where needed. Being standoffish like some I have seen is a sure way to get labeled with some bad words
Thank you guys for the responses. This is something I've been wondering as I've taken the plunge into modifying my Atrix. To say it's been addictive is an understatement. I started toying with the idea of putting my own ROM together pretty early on, so basic info like this is much appreciated.
Like someone said early on in the thread, everyone has to start somewhere so even seemingly small bits of info are always welcome.
The biggest hurdle is understanding adb commands and when to use them. Then, how to view the individual file strings inside the /sytem/build.prop and apks AND actually understand what it means. I have spent hours wandering around in root explorer look in folders and seeing what is inside. Pulling something with adb actually removes it from the phone right? Then I have to adb push back into the folder I pulled from. Should I use Ubuntu on my Win7 pc? I tried eclipse, installer r13, and I do have apkmanager but have yet to figure out how to actually use it.
I learn by doing what someone is telling me so reading it sometimes doesn't make sense since I can't "see" it and what it's supposed to look like. WIsh someone lived nearby to just to help get me started.....Beers and food on me LOL. Or at least had some time over the phone even.
Thanks Diviance (again) and to you PirateGhost for your help.
no adb pull does not remove it from the device. it copies to your local machine
as far as using windows vs linux. use whatever will make you more comfortable. i can assure you a lot of tutorials, and howtos are written with linux in mind, but if you can understand the basics, you will be able to translate it to windows. not to mention once you get into tearing down APKs, jars, dexes, etc....its all the same code inside no matter what tools you are using to get to them. i find linux easier to work with when it comes to stuff like this, some people think windows is easier.
If I were to get linux on my PC, would adb work within the linux evironment...meaning can I adb from linux and compile/decompile etc from there?
Phoneguy589 said:
If I were to get linux on my PC, would adb work within the linux evironment...meaning can I adb from linux and compile/decompile etc from there?
Click to expand...
Click to collapse
well you would compile/decompile directly on the phone unless you were using the sdcard....it wouldnt be pretty
you adb pull /system/file modify it, then adb push /system/file
it works the same in windows as it does in linux from that aspect. i just find working in linux easier.
here, this should help get you started somewhere, its not exactly like this phone, and the guide should be used as a reference and not a manual.
http://forum.xda-developers.com/showthread.php?t=915435
if you are technical enough, just by looking at that thread, you will understand a good portion of whats going on.
Thanks for all the help. Im getting bored flashing other peoples work and would like to help tweak things. And develop some stuff.
Thanks bro.
This thread will be more like an advanced user/development "bible", to help keep the threads I am linking to clean, and to put all the information in one place. This information will also be put in the advanced section of the amaze bible doc, and also the WIKI we are working on.. I want to make sure anyone who wants this information has NO problem finding it!
I've seen a lot of people who have been making comments about "wanting to learn" at the same time that I am seeing the developers/contributors in these forums start offering "how-to's" for some of the more advanced functions.. I've also seen some comments from users who have not made any significant/consistent contributions - the secret they may not be aware of, if you can successfully read and understand enough to do the stuff we do in these forums, then YOU can take that to a new level.. and offer something back.
I will update this thread with some of the different threads/tutorials that already exist, and I would like to see people give feedback on the types of information that might be useful.. instead of just propositioning people who already develop, who may be busy with other things - let's crowd source some of our own development, after all, we all started somewhere..
Everything here, and all those how-to threads will be added to the amaze wiki - which will eventually replace the current always up to date amaze bible(doc)(which we need help updating btw, anyone on XDA can help contribute by helping do THAT here). HINT: ANYONE can help contribute to our knowledge base in the wiki! Please do! Before you give negative feedback to any dev, I want you to ask yourself - what have I contributed?
First, the bible I already posted some Advanced Android 101: So you wanna go to the next level?
If maybe building from source isn't your thing, you could look in the Everything Development Thread which has an ongoing discussion about how to COOK(or customize) a rom, a good first step toward conquering bigger and better things.. if you want to give this a go, read that thread, ask good questions, and help us create a solid starting point for future developers!
Next, with the recent release of the source for the ICS kernel, there has been a lot of interest in getting that running - Here you can learn how to Build Your Own Kernel, and then you can easily find posts by several devs working on getting these kernels fully working.. currently the issue is getting WIFI working(which we knew might be an issue), but THIS is something that users can help figure out..
If you can setup the build environment for building your own kernel, then you can ALSO [TUTORIAL]How to compile CM9 for the Amaze 4G - if you can learn how to do this, you will learn the right questions to ask to research how you may contribute to the project..
This post I have posted many useful links to different guides for porting - no one guide is going to be perfect, but if you read them and try them out.. you will learn a TON, and maybe even have a successful port! Remember, porting heavy framework changes like AOSP, sense4, aokp, etc - some of it is kernel dependent and will require more than any guide can spell out.. trial and error my friends.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Are there any more development/advanced tutorials in the amaze forums I missed? Any in any other forums you have seen that are well written? Any questions you have about something not covered can be asked here, but please post in the relevant thread if your question relates to it! I would really like this thread to be more for feedback about what we can help YOU do, so if you have any suggestions/questions regarding how we can help you do that, please post!
This post will have some of the related but not easily categorized, random information I find in the future..
Man I really want to start but my computer is way to sluggish
Sent from my HTC_Amaze_4G using Xparent Green Tapatalk 2
eggydrums said:
Man I really want to start but my computer is way to sluggish
Sent from my HTC_Amaze_4G using Xparent Green Tapatalk 2
Click to expand...
Click to collapse
Well, compiling is processor intensive, even if the computer is sluggish, a semi-decent processor and a fair amount of ram do all of the work once you finish.. and there is stuff in the bible for customizing themes and more under Advanced Android 101: So you wanna go to the next level? Then there's the Everything Development Thread, that doesn't require a powerful computer at all, you're just switching out files before flashing.. and I am going to start posting some of the stuff I've learned in there soon too!
If you have anything you'd like to see, or anything you might have to offer.. feel free to post it
http://forum.xda-developers.com/showthread.php?p=28647619
Would this help? Found it in One S forum... but idk jack about developing (way to much work for too little result) so idk if it helps
Sent from my HTC One S using xda premium
glacierguy said:
http://forum.xda-developers.com/showthread.php?p=28647619
Would this help? Found it in One S forum... but idk jack about developing (way to much work for too little result) so idk if it helps
Sent from my HTC One S using xda premium
Click to expand...
Click to collapse
You mean the video it links to? That is all I got in the xda app.. if the video has anything new it could be added to the everything development thread, they were working on instructions there for using dsixda kitchen..
Sent from my HTC_Amaze_4G using xda app-developers app
I just want to learn to develop rom so that I can contribute to this amazing sight. I asked in the g 2 forums and not once did I ever get any help. Super savvy with computers modding well at least flashing that is haha. But I know with a little guidance I can be a big contribution to the site. So any words of advice would be great and some links to guides will be even more great haha. Thank you so much in advance
Sent from my HTC_Amaze_4G using xda premium
Spastic909 said:
I just want to learn to develop rom so that I can contribute to this amazing sight. I asked in the g 2 forums and not once did I ever get any help. Super savvy with computers modding well at least flashing that is haha. But I know with a little guidance I can be a big contribution to the site. So any words of advice would be great and some links to guides will be even more great haha. Thank you so much in advance
Sent from my HTC_Amaze_4G using xda premium
Click to expand...
Click to collapse
Well, first, go into different roms, and look at their changelog - see if you can figure out what they are changing - don't just look at the roms in these forums.. look in other forums too. Download a rom, look at the updater-script to see if there is anything there that is making the change in that you saw in the changelog.. look at the files the updater script specifically sets permissions for(if it does), as those files are usually modified, hence why they have to set permisions.. look at the /system/etc folder.
Get a program like winmerge(I think that is what it is), or filemerge for mac, or some other program that will compare files AND directories line by line.. compare a stock rom to a modified rom- as long as it compares directories too, it will output which files the stock rom didn't have, which have been changed, what has been changed- THIS is the easiest way to figure it out for yourself. Piece by piece.
For example, right now I am trying to figure out why the custom kernel here isn't changing my clock speed - if I unpack the zip file, I see he has replaced the init.qcom.post_boot.sh file, and if I compare that with the stock rom, or the energy rom I am using, I see he commented out the lines that change the frequency.. so I look at the updater script, the aroma_config file, and each file tells me what it is doing.. I see the badass.sh file creates a file called 89badass in the init.d folder.. part by part you can figure out exactly what he was doing, how he was making the changes.
There is no real "guide" that is going to help as much as finding a way to figure it out for yourself.. programs like filemerge and winmerge are free and easy to find, and DEFINITELY give you a good place to start. Technically making your own rom is just making changes to a stock rom until you are actually reCODING something - but those changes can be pretty huge and technical, and do awesome things.. you just got to figure out what they are, and how to do them.
Everything above should give you a good place to start..
Silentbtdeadly said:
Well, first, go into different roms, and look at their changelog - see if you can figure out what they are changing - don't just look at the roms in these forums.. look in other forums too. Download a rom, look at the updater-script to see if there is anything there that is making the change in that you saw in the changelog.. look at the files the updater script specifically sets permissions for(if it does), as those files are usually modified, hence why they have to set permisions.. look at the /system/etc folder.
Get a program like winmerge(I think that is what it is), or filemerge for mac, or some other program that will compare files AND directories line by line.. compare a stock rom to a modified rom- as long as it compares directories too, it will output which files the stock rom didn't have, which have been changed, what has been changed- THIS is the easiest way to figure it out for yourself. Piece by piece.
For example, right now I am trying to figure out why the custom kernel here isn't changing my clock speed - if I unpack the zip file, I see he has replaced the init.qcom.post_boot.sh file, and if I compare that with the stock rom, or the energy rom I am using, I see he commented out the lines that change the frequency.. so I look at the updater script, the aroma_config file, and each file tells me what it is doing.. I see the badass.sh file creates a file called 89badass in the init.d folder.. part by part you can figure out exactly what he was doing, how he was making the changes.
There is no real "guide" that is going to help as much as finding a way to figure it out for yourself.. programs like filemerge and winmerge are free and easy to find, and DEFINITELY give you a good place to start. Technically making your own rom is just making changes to a stock rom until you are actually reCODING something - but those changes can be pretty huge and technical, and do awesome things.. you just got to figure out what they are, and how to do them.
Everything above should give you a good place to start..
Click to expand...
Click to collapse
I'm gonna start trying to figure this out before my first android I was totally computer retarded my parents died when I was 14 and I had to quit school and start working so at 32 yrs old now this is pretty tough so thank you for trying to help folks like me learn and keep up with all this new technology. I think I'm starting to get it a little reading goes a long way.
sent from one badass htc amaze with ics [email protected]
eggydrums said:
Man I really want to start but my computer is way to sluggish
Sent from my HTC_Amaze_4G using Xparent Green Tapatalk 2
Click to expand...
Click to collapse
i build kernels on an old laptop with a intel centrino duo, 512mb of ram, and ubuntu 10.04. if yours beats that, you will be fine (takes me 5 mins to build kernels)
ziggy46 said:
i build kernels on an old laptop with a intel centrino duo, 512mb of ram, and ubuntu 10.04. if yours beats that, you will be fine (takes me 5 mins to build kernels)
Click to expand...
Click to collapse
I assume ir runs windows xp?
Sent from my HTC_Amaze_4G using Tapatalk 2
EclipzeRemix said:
I assume ir runs windows xp?
Sent from my HTC_Amaze_4G using Tapatalk 2
Click to expand...
Click to collapse
yup, and it has a sticker that says windows vista capable. WHICH IS A LIE!!!!
i got the laptop for free though. its a compaq presario v3016us. i think some ram was taken out of it before i got it. (im gonna buy 2gb soon)
quick question. How do I check the change log or is there a link to it or so I can use I think that's what I'm asking!
Sent from my HTC_Amaze_4G using xda premium
So, I've been looking for a couple hours on how to implement user-adjustable voltages into the kernel I'm working on for the LG Spectrum. I haven't found anything yet so I figured I would come here and see if any of you could point me to a tutorial or guide or something on how to do it. I'm still pretty new at kernel developing but I want to learn how this works and not just how to apply a patch or something. Any help is greatly appreciated.
ortrigger said:
So, I've been looking for a couple hours on how to implement user-adjustable voltages into the kernel I'm working on for the LG Spectrum. I haven't found anything yet so I figured I would come here and see if any of you could point me to a tutorial or guide or something on how to do it. I'm still pretty new at kernel developing but I want to learn how this works and not just how to apply a patch or something. Any help is greatly appreciated.
Click to expand...
Click to collapse
Well if you are honestly interesting in learning how it works, then you need to find a patch. I could try to explain it, but I would probably butcher it and just confuse you in the long run. The key is, don't just apply the patch, actually understand what it does and enter it manually. With that said, here is what I found after a quick google.
This ROM. if we look at the change log we notice that he added undervolting in version 1.3. We then hop over to his Git and find the commit for version 1.3. So why don't you take a look at that patch and see if it makes sense?
Hope that get's you rolling in the right direction.
thewadegeek said:
Well if you are honestly interesting in learning how it works, then you need to find a patch. I could try to explain it, but I would probably butcher it and just confuse you in the long run. The key is, don't just apply the patch, actually understand what it does and enter it manually. With that said, here is what I found after a quick google.
This ROM. if we look at the change log we notice that he added undervolting in version 1.3. We then hop over to his Git and find the commit for version 1.3. So why don't you take a look at that patch and see if it makes sense?
Hope that get's you rolling in the right direction.
Click to expand...
Click to collapse
Thanks for that. I appreciate the heads up on that commit. I had looked through his repo before but must have missed this one.
Sent from my gnex running jbsourcery and 007 kernel
Always willing to help someone who honestly wants to learn.
Sent from my SCH-R950 using Tapatalk 2
i need a very simple way to flash my phone with ubuntu touch please
thought it would be simpler to just paste the thread title.... im running in circles trying to accomplish this but keep smashing into brick walls....
tried installing from Ubuntu itself.. its an old version.. too old to understand the $ cmd.......when it comes to linux im a complete moron..... but im smart enough to know that my samsung Ace2 is too damned slow on android.. to the point im having difficulty answering calls
i want android GONE.. i dont want dual boot.. i want android GONE
and, i want a simple install please.. as simple as wubi.exe... in fact it was the only way i was capable of installing ubuntu or xubuntu on my notebooks.. yes ladies and gents.. im converted.. im done with microsoft, most likely 4 good... so please tell me how i can accomplish this task
thank you, much regards to all you for keeping linux alive till today...
Chris
Ubuntu Touch is not for your device... Sorry.
There is the deprecated Ubuntu for Android.
Try this XDA thread: http://forum.xda-developers.com/showthread.php?t=1585009
RumoredNow said:
Ubuntu Touch is not for your device... Sorry.
There is the deprecated Ubuntu for Android.
Try this XDA thread: http://forum.xda-developers.com/showthread.php?t=1585009
Click to expand...
Click to collapse
might i ask why my smartphone isnt elidgible ?
ragez0r said:
might i ask why my smartphone isnt elidgible ?
Click to expand...
Click to collapse
It will only work if there's a port for your device. Sadly, mobile devices aren't as easy to handle as desktop computers. On the desktop you can take the OS and install it on (almost) all devices because it includes drivers for all standard PC components. On mobiles, however, you need separate drivers for every device as all devices are special and (more important) the manufacturer often does not make it easy for devs to write the necessary drivers. Always remember, we who are modding our phones are a minority.
You shouldn't be too sorry about the absence of a port for your device though. Ubuntu is (even though it's rapidly making progress) much slower than Android, even on officially supported devices.
thank you, but i wont give up.. i downloaded kali linux.. now just trying to figure out a way to open a .img file from android
ragez0r said:
thank you, but i wont give up.. i downloaded kali linux.. now just trying to figure out a way to open a .img file from android
Click to expand...
Click to collapse
Dude, you are going to brick your phone. You can't just flash whatever to wherever.
Your phone was built for Gingerbread. It is thin on Hardware resources. I'm sure it is struggling if you've updated it into Jelly Bean. There are alternate ROMs that might run better on an Ace 2. Check the Ace 2 forum at XDA... http://forum.xda-developers.com/galaxy-ace Debloat the damn thing. Samsung layers so much icing on there you can't taste the actual cake. I mean the skin (Touchwiz) is sooo thick it robs the performance. Especially at your phone's age and the major jumps in OS version it's gone through. You've got to blast out a lot of the grunge that's clogging the pipes.
If you truly want away from Android get a phone designed for another OS. You can get a brand new phone fairly inexpensive off contract and not have to deal with Android. I like the Nokia Lumia 520. A great entry level phone that is modern and runs well without breaking the bank. Or maybe you can find a quality used phone on Craig's list.
i find it hard to believe a bricked ace 2 is any different than a functional 1.. i never flashed anything onto it...
okay.. ill try downgrading it to gingerbread..... need to figure out how though lol
ragez0r said:
i find it hard to believe a bricked ace 2 is any different than a functional 1.. i never flashed anything onto it...
okay.. ill try downgrading it to gingerbread..... need to figure out how though lol
Click to expand...
Click to collapse
Dude, not to be an ass. But there are a couple things... You will need to develop your own drivers. If you do (somehow) get a standard Linux distro installed, you won't even be able to get the screen to turn on. Second of all....YOUR PHONE CAN BARELY RUN ANDROID! What makes you think it can handle a full Linux operating system like Kali Linux? And the last thing you need to realize. You WILL NOT be able to make calls, text, or get mobile data on your phone. If the phone is that bad...go out and get a new phone. Sorry man.