Android Rom/Kernel build/compliling - Samsung Galaxy Exhibit 4G

Greetings, i was wandering if there were any devs out there that would like to help me out with some questions about building custom roms and set up, etc,
.
Once im able to get a full comprehensive knowledge i'm hoping to contribute to this community as it has contributed to me.
My first question is what are pros and cons from building from a Virtual machine compared to booting up an actual os?
Also, what linux OS is recommended and why?

det0xx said:
Greetings, i was wandering if there were any devs out there that would like to help me out with some questions about building custom roms and set up, etc,
.
Once im able to get a full comprehensive knowledge i'm hoping to contribute to this community as it has contributed to me.
My first question is what are pros and cons from building from a Virtual machine compared to booting up an actual os?
Also, what linux OS is recommended and why?
Click to expand...
Click to collapse
I use both native and VM. Only difference you'll likely notice is updating the kernel on VM will take an extra step depending on the configuration. VM's will also have slightly less resources allocated than host, but will hardly notice with multi-cores and multi-threading.
Ubuntu 12.04 is good for compiling android since there is plenty of support and documention, however subjective. Try a VM first to find which distro compliments you.

jfbs said:
I use both native and VM. Only difference you'll likely notice is updating the kernel on VM will take an extra step depending on the configuration. VM's will also have slightly less resources allocated than host, but will hardly notice with multi-cores and multi-threading.
Ubuntu 12.04 is good for compiling android since there is plenty of support and documention, however subjective. Try a VM first to find which distro compliments you.
Click to expand...
Click to collapse
thanks for the reply, i want to try native but idk how it would affect my PC. probably not in a harmful way. and well i was planning to use this guide i found on xda but idk if it was reliable? http://soupdawg.wordpress.com/2014/...4-04-lts-trusty-tahr-to-compile-android-roms/
either way im more confortable with ubuntu.
what would be a ood guide to follow or what would i need o learn first before anything?

I use native Linux not a vm. If you are new to Linux I would say use ubuntu since like jfbs said there is a lot of documentation for using it. The guide seems to include everything you'll need to compile.
@jfbs when you get time pm me I have a couple of questions for you
Sent from my HTC6500LVW using XDA Premium 4 mobile app

Related

Linux Question

This might sound really odd... but I'm looking to -NOT- use my g1 as a phone... I want to uh... (shoot me if you must) want to remove Android, and install a very light ubuntu install or other gnu/linux derivative like DSL (which cannot be ported to armel probably) to my phone and use it as a mini mini computer...
my question to the DREAM community on XDA here is... can it be done... and for any reason I ever want to go back... do you think it'd be reversible?
My main reasoning is this... I have a nokia 5310, and I work a crappy produce job at a supermarket... I fear my G1 getting broken, and have not used it in the last 2 months. also, I'd be interested in learning how to work stuff out and try to get androided ported over to the new 3g Dash if that was possible, cause that phone looks very nice... IMHO though so... please criticism and responses of all kinds welcome to this question.
The closest I've seen is installing Debian with only terminal =/ sorry. You can look under development for more info.
well actually... with vncviewer you can uh... vnc to it and have x11 running with icewm or lxde
vnc viewer local host
I'm not pro at this. Sorry if my advice was bad. lol
No not bad... but good... thank you. I am looking for "ANY" information... and you fit the requisites. Thanks friend
The reason for running x11 and debian on top of android through vnc is that drivers for the g1 hardware aren't available. Unless you want to write these drivers yourself, I'd forget this one. By the time you get it working, your g1 will be fossilised.
I'd be willing to go and try to learn how to do it.
it'd be a fun project... i mean the thing is just sitting here... I mean... I could always perhaps make a completely stripped down version of android. I only want it to use Wi-Fi... and that's pretty much it... I just want it to be an MID
I want to make sure I understand the situation:
1) You have a cheaper phone so do not use the G1 for fear of damaging it.
2) Since you do not use the G1 you want to:
- tinker with it, most likely destroying it in the process if you succeed at anything.
- install a more conventional Linux distro on the phone, which will require at least some programming knowledge as well as intimate knowledge of Linux. If you want X then it as gone from challenge to an impressive feat.
and finally
3) You want to port android to the Dash 3G.
Your decision making process is a little questionable, but hopefully there is some reasoning I missed or you did not mention.
My advise to you would be: Please learn to walk before you attempt to fly.
A stripped down android would be more feasible. You would not have X, but you should be able to port quite a bit of commandline tools over, to include a more user friendly shell. Then you could try and cross compile X, which will take a lot of patience. If you manage to succeed though. from that point you could do a headless X session and attach to it vian VNC in much the same way as is currently done with debian. Alternatively you could try and port the G1 drivers over to the freerunner project and work from that direction, but this would be much more difficult.
It seems a terrible waste of time in my opinion but if you want to try, go for it. Personally I say sell the G1 and buy a nokia n810. It is a little larger but still small and is a mid.
If however you are set on this course I would suggest hanging out on the IRC channels and getting advice from the ROM cookers, Cyanogen in particular since he rebuilds the linux kernel for the G1, something you will be doing a lot of.
Well most birds learn to fly before they walk. And I think I will go down the trail of a custom Android build. I just wanted to know of it being possible to make it work.
I mainly refer to the fact I didn't want it to break ie the screen or the digitized I assume you mean the xda channel... ... so yes I will choose to jump into the pool before the water is full in it thank you for the advice and knowledge

[REQ]Tutorial for devs who want to join the Xperoid project

Dear all,
Why don't we create some tutorial and advices for new developers who love X1 and Android but don't have much knowledge about Linux kernel, Gitorious...
I have cloned the Kernel repository but still don't know where to start with
I think many of us want to help too
Thanks for reading
Nice Step, i will be with you in this project and wish more devs will come with us.
Thanks
There are instructions on how to compile the kernel on the wiki:
http://wiki.xda-developers.com/inde...ngx20.thex20.Kernelx20.fromx20.thex20.Sources
I added instructions to get wifi working a week or so ago.
I too want to cook an Android dist from scratch, we will need to go back and figure out what has been done (i.e required modifications to fix the screen flip)
It will be very useful to have this info on the wiki as one may need to do it all again for future Android releases (i.e 2.2, 2.3)
edit: There is some technical info at http://www.htc-android.com/viewforum.php?f=5
I hope you can make goot work on it (fingercrossing)
I only have windows programming knowledge some C++ knowledge. So, is there anyone can tell me about the environment for develop a kernel, which knowledge do i need to focus on ^^ I still don't familiar with all those thing yet, I just want to help and i know i have to improve my knowledge for that
I like the idea of having a HOWTO, so that everyone can join in development. But i am not sure, that it is even possible. It is too big.
Downloading/cloning sourcecode, setting up build environment and cross-compiler and building a linux kernel is actually the easy part. A good guideline was postet by Tremere, and google is always your friend
Now the REAL WORK begins. Linux kernel source code is not very well documented. And the kovsky hardware specs are not documented at all. Well, some chips have been identified and datasheets where found, but many things are simple and painfull trial-and-error and may never work at all.
Then is the problem of finding the right source files in the source-tree. It helps looking into git-log and analyse changes made.
Then is the problem of data-structures and functions defined and used all over the source. There is no guide or something that explains what structure is used when and where. If you are lucky, you find some irc-chat-logs
Then is the problem that you can not debug, only add messages and stuff.
Then is the problem on how to approach, lets say GPS or Camera. You have to know about GPIOs, bus-systems, driver-models, ...
Then is the problem that one day has only 24 hours
Anyway, i would like to see, that you prove me wrong!
it's not about proving you're wrong, it's all about proving you CAN !!!! you've bring it far from the start, I dont think that the battery or camera can scare you!!!!
Vdelf I know you have worked alot on this, I put all my trust in you!!! I cant help you becaus I dont know how!!!
so I support you more than anybody because I really really want all this Xperoid to be fixed!!
vdelf said:
I like the idea of having a HOWTO, so that everyone can join in development. But i am not sure, that it is even possible. It is too big.
Downloading/cloning sourcecode, setting up build environment and cross-compiler and building a linux kernel is actually the easy part. A good guideline was postet by Tremere, and google is always your friend
Now the REAL WORK begins. Linux kernel source code is not very well documented. And the kovsky hardware specs are not documented at all. Well, some chips have been identified and datasheets where found, but many things are simple and painfull trial-and-error and may never work at all.
Then is the problem of finding the right source files in the source-tree. It helps looking into git-log and analyse changes made.
Then is the problem of data-structures and functions defined and used all over the source. There is no guide or something that explains what structure is used when and where. If you are lucky, you find some irc-chat-logs
Then is the problem that you can not debug, only add messages and stuff.
Then is the problem on how to approach, lets say GPS or Camera. You have to know about GPIOs, bus-systems, driver-models, ...
Then is the problem that one day has only 24 hours
Anyway, i would like to see, that you prove me wrong!
Click to expand...
Click to collapse
Thanks for your advices
if building the kernel is the easy part i'm a long looong way from being useful xD
probably my x86_64 bit fedora doesn't like me very much, got stuck with glibc dependencies errors or some wrong step at the arm installation... ¿could an x86 virtualized ubuntu save my day? as ive read some of the first testing was done in a debian distro, so ill try my luck with it.
damn... learning is fun... i just hope my Xperia doesn't learn how to burn while i'm playing with it xD
monovaldes said:
if building the kernel is the easy part i'm a long looong way from being useful xD
probably my x86_64 bit fedora doesn't like me very much, got stuck with glibc dependencies errors or some wrong step at the arm installation... ¿could an x86 virtualized ubuntu save my day? as ive read some of the first testing was done in a debian distro, so ill try my luck with it.
damn... learning is fun... i just hope my Xperia doesn't learn how to burn while i'm playing with it xD
Click to expand...
Click to collapse
A while ago, someone (can't remember exactly) posted a link to a linux vmware image for kovsky development -
you could start with that, although any linux system should be no problem, since there are no distro -specific
"packages" to use in this kernel development ( possibly except git )
Hell, I don't even use a VM - I have a slackware 12 install running on coLinux
under windows 7 and it works a treat!
angusmcb said:
A while ago, someone (can't remember exactly) posted a link to a linux vmware image for kovsky development -
you could start with that, although any linux system should be no problem, since there are no distro -specific
"packages" to use in this kernel development ( possibly except git )
Hell, I don't even use a VM - I have a slackware 12 install running on coLinux
under windows 7 and it works a treat!
Click to expand...
Click to collapse
well, that is a very nice alternative for users which don't like linux messing with their drives (not myself though xD)... thanks anyway
couldn't really tell which was the actual problem for me, i just got it working fine after installing an i686 distro on top of the x86_64 one
and... now comes the easy part, right? haha
will get onto studying
I've been installing Gentoo on my X1
http://wiki.xda-developers.com/index.php?pagename=Gentoo_on_HTC
The good thing about Gentoo is although the compilation takes forever (especially under an emulated ARM chroot!), it allows us to build a system from first principles and also build packages to our needs.
A lot of this has been googling for what people have done on the Xperia and other HTC devices, particularly with the Ubuntu ports.
Hopefully all the knowledge I've gained will make it real easy to get MeeGo running.

linux

Hi all of you
I am a n00b when it comes to Linux and all related stuff. I want to install one this weekend with intention of developing, and learning it to level when i could start working on my own, or helping with other ROMs out there. So there it is my question:
is there any significant difference between linux distros that one would benefit me more with completing above task or i should just grab any it it would be ok?
I have a fedore 13, ubuntu and slackwware 13.1 ready to install. Is any of them good or i should look for something else?
Thanks to all of you in advance for replying and helping me here.
Sorry if i double posted.
Regards
Kirior
kirior said:
Hi all of you
I am a n00b when it comes to Linux and all related stuff. I want to install one this weekend with intention of developing, and learning it to level when i could start working on my own, or helping with other ROMs out there. So there it is my question:
is there any significant difference between linux distros that one would benefit me more with completing above task or i should just grab any it it would be ok?
I have a fedore 13, ubuntu and slackwware 13.1 ready to install. Is any of them good or i should look for something else?
Thanks to all of you in advance for replying and helping me here.
Sorry if i double posted.
Regards
Kirior
Click to expand...
Click to collapse
You can always start with Ubuntu as it is pretty user friendly and well supported/documented then later move onto other distros as you see fit.
Well, I don't know what Slackware's release cycle is, but 13.1 came out last May. It's nearly a year old now.
Fedora 14 is the current version, and (when my PC is actually functional) it works extremely well. You will want to refer to:
mjmwired.net: Fedora 14 Personal Setup Guide (this covers almost everything you need to get started);
mjmwired.net: MPlayer - Fedora Guide (this gives you the process of D/Ling, compiling and installing the LAME encoder, amongst other useful things); and
The Unofficial Fedora FAQ (which is another excellent resource for answering questions and setting things up, but I'd start with MJM's stuff first).
Ubuntu has two simultaneously-current versions: 10.04 LTS (which means it is the Long Term Support version that many businesses and individuals standardize on and is good for 2 years) and 10.10, which is the most current 6 month release version. Ubuntu releases in April and October of every year, which is why you get x.04 and x.10 version numbers. You will want to refer to help.ubuntu.com: Restricted Formats and I would also recommend going into the Synaptic Package Manager and installing all three of the following: Ubuntu Restricted Extras, Kubuntu Restricted Extras, and Xubuntu Restricted Extras, because each has a couple things the other doesn't.
As far as "which would I recommend", that's a really wide-open question, and I guarantee as others weigh in here, you will get a LOT of varied opinions from people. In general, I would simply tell you this:
Ubuntu is based on Debian's core components. Debian is noted for stability and wide ranging hardware support. Canonical has done a really good job adding a lot of "spit and polish" to this, and it is actually a very good distro, but they have rubbed a good portion of the existing Linux community the wrong way because of their "embrace and extend a huge tent" philosophy (the objection here generally being that the Linux community really doesn't want a bunch of "Windows idiots" and "Mac OS X idiots" as members) and because they have often not contributed their enhancements and other development efforts back up to the project sources they're using (this is referred to as "contributing upstream") like they should have. Nevertheless, Ubuntu does have a lot of positive things to recommend it.
Fedora, which is actually a spun-off project from RedHat, is amongst the older distributions, and is somewhat more cutting-edge than other distros, such as RedHat itself, or Ubuntu, etc. It is an RPM-based distribution and has one of the largest communities of users out there next to Ubuntu. It is renowned for contributing upstream and is a good and reliable distro. However, as you can see from the list I posted above, you will have to do a LOT of extra initial configuring work because Fedora's philosophy is to ship with pretty much only F/OSS components. Though they certainly don't prohibit or flat-out discourage their users from adding in other non-F/OSS components, such as commercial 3D graphics drivers, video/audio codecs, etc., they don't include them.
Whichever you decide, good luck!
Oh, and one more thing: Whichever you go with, become a member of the associated message board (Ubuntu = ubuntuforums.org; Fedora = fedoraforum.org; etc.) because there is a WEALTH of information and WIKIs and many many many questions already answered.
i would suggest linux mint.
it's a polished version based on ubuntu with its own, just excellent, control center.
It also has a bunch of nice graphical gimicks.
For new users I would recommend ubuntu our linux mint.
Sent from my Shoe.... I mean my Samsung Epic
Ok
Thanks guys, I will go with Mint for now.
My next question is what would be the best way to learn how to do everything from the command line level? I was thinking of opening one in background and searching, doing stuff in GUI. That way i should be able to see what commands open, copy and so on so on. So if i would go to settings and change something i should be able to see an line of commands in terminal window, is that correct or i am lost and this will never happen?
Thanks for bearing with me and all the advices.
Regards
Kirior
I've been using ubuntu for about 3 years. During this interval I tried other distros, but I found Ubuntu the best. I also develop on it and I don't have any problems.
Sent from my GT-I5700 using XDA Premium App
i went for ubuntu after all. Trying to get my head around. I have no idea if i have set my mount stuff correctly.
I did it like that
ext2 for system files mount /
ext 3 for jinkl something filesystem (or such) mount /usr
ext4 for same as above mount /usr/local
and swap and there was no mount stuff to assign.
hope it is ok.
is signing up to ubuntu one a good idea?
I'm using Debian (previous distribution Ubuntu) and I'm satisfied.
I use fedora, but I think ubuntu will be the right choose for you!
kirior said:
Ok
Thanks guys, I will go with Mint for now.
My next question is what would be the best way to learn how to do everything from the command line level? I was thinking of opening one in background and searching, doing stuff in GUI. That way i should be able to see what commands open, copy and so on so on. So if i would go to settings and change something i should be able to see an line of commands in terminal window, is that correct or i am lost and this will never happen?
Thanks for bearing with me and all the advices.
Regards
Kirior
Click to expand...
Click to collapse
The terminal will not display what happens in the gui. The best thing to do is find a linux wiki that tells you basic commands and use them as often as possible. Even though Ubuntu uses Synaptic to install programs, you should learn to install things from source.
kirior said:
i went for ubuntu after all. Trying to get my head around. I have no idea if i have set my mount stuff correctly.
I did it like that
ext2 for system files mount /
ext 3 for jinkl something filesystem (or such) mount /usr
ext4 for same as above mount /usr/local
and swap and there was no mount stuff to assign.
hope it is ok.
is signing up to ubuntu one a good idea?
Click to expand...
Click to collapse
That will work fine, but it's a little odd, imo. You should definitely read the Ubuntu wiki and learn what you're doing. All of this stuff is explained all over the internet. I recommend using www.google.com/linux for all of your linux-related searches.
Even if you decided to go with Ubuntu, you can find a lot of info in the wikis of other distros. I use Archlinux myself, and their wiki is one of the best out there. The Gentoo wiki is also very good.
I've used Arch Linux as well in the past, and out of all the distributions I've tried it was my favourite. The only thing with Arch Linux is it's not a simple click and install process, you have to pretty much build the graphical interface yourself (which is half the fun in my opinion).
Not only do you have to build the GUI of your Arch system, but you have to decide on multimedia backends, networking tools and many other things that make a desktop system work. I agree that this is half the fun, and what you learn about Linux by installing and running Arch makes troubleshooting a lot easier when you run into problems.
thanks guys i will definitely have a look into that disrto.
thanks again to all that replied and still open to new suggestions
regards
kirior
Captainkrtek said:
You can always start with Ubuntu as it is pretty user friendly and well supported/documented then later move onto other distros as you see fit.
Click to expand...
Click to collapse
Linux Ubuntu 10.10 FTW​

Compiling on the device

Hey guys,
Does anyone know if there is a way to compile source code right on the device? I remember some people asking for this way back in the day but it wasn't really practical on such small devices. With a xoom and a bt keyboard though, it's almost as easy as using a regular laptop. I know there are a few different compilers for the iphone(c, c++, java) so I'm sure it is possible. I haven't seen anything but perhaps I'm just looking in the wrong places.
Thanks,
Samuel Maskell
so I'll take that as a no..
I'd love to work on this but I wouldn't really know where to start
I do have some programming experience
but I don't really know anything about how compilers are made
besides a basic overview we did in my computer architecture course
In theory, if you rooted and installed ubuntu, you could install the dev toolchain/eclipse. But it's crappy enough on 2gb of memory, 1gb on the xoom would be ridiculous.
I installed Ubuntu/eclipse on my cr48. It's barely usable.
Developing for android requires a desktop.
That being said, sometimes I make small code changes and build from the cli on my cr48.
smaskell said:
so I'll take that as a no..
I'd love to work on this but I wouldn't really know where to start
I do have some programming experience
but I don't really know anything about how compilers are made
besides a basic overview we did in my computer architecture course
Click to expand...
Click to collapse
Yeah, I really don't see eclipse running very well on a xoom
It doesn't even run that well on my desktop with 4gb of ram and 3.2ghz 6-core processor
like you said, developing for android requires a desktop
but I wasn't really thinking about making android apps on the xoom(although that would be awesome)
I'm mostly just thinking of simple cli programs
something like this would be great
http://www.youtube.com/watch?v=-BDylxLzUEM
Edit: skip to about 1 minute in. the first part is just him writing the code on his desktop and then copying the source file over to his iphone. I don't see any reason why he couldn't have written the code on his iphone though
Your best bet would be to setup a box (with your compiler) somewhere and SSH in. Edit file locally, push to box, SSH in, compile, pull results back.
If you don't have a *nix box handy, you can try something like Slicehost.
that's actually not a bad plan
I use my school's computers to compile things through ssh sometimes anyways
still, I think would be pretty cool to compile right on the device
if it can be done for iphone, it can (and should) be done for android
smaskell said:
that's actually not a bad plan
I use my school's computers to compile things through ssh sometimes anyways
still, I think would be pretty cool to compile right on the device
if it can be done for iphone, it can (and should) be done for android
Click to expand...
Click to collapse
So you can compile applications using the NDK, but you still have to be on a non-Xoom box to do this.
In theory, it should be possible for you to cross-compile gcc for arm and push that to the xoom to do your compiling there. This is a bit more complicated, however, as you can't just specify --ARCH=arm to gcc's ./configure script.

How hard can be the raspberry pi ?

Hi there,
It's been a while since I wanted to make a small project using newest 'raspberry pi'. But never had a time.
My question is how hard is to work with raspberry pi? Are there loads of phyton language involved? I would like to set up my own project and part of my final year do a thesis using some raspberry pi project. Are there any scripts involved (that I could adjust) and make a successful project? Or 6 months for testing and writing raspberry pi isn't enough? What are your experience and opinion
eddyys said:
Hi there,
It's been a while since I wanted to make a small project using newest 'raspberry pi'. But never had a time.
My question is how hard is to work with raspberry pi?
Click to expand...
Click to collapse
It's just Linux, there's not so much Raspberry specific. It mostly depends on your own experience and if u have fun learn something new. I had already over 10 years daily Linux experience and there was nothing really new for me.
I've setup apache, nginx, samba just like on any other Linux Box I've used before. Python is the recommend language to learn programming on Raspberry, but you can really use almost anything that works on Linux/Debian. I use more Nodejs and ES6 this days.
I could write now even more but mmhhh, i would just repeat myself - its really really easy this days. When I started to learn Linux I've spent sometimes several days just to get my xserver and a GUI running, now you write your SD card, insert, run, done
dotpower said:
It's just Linux, there's not so much Raspberry specific. It mostly depends on your own experience and if u have fun learn something new. I had already over 10 years daily Linux experience and there was nothing really new for me.
I've setup apache, nginx, samba just like on any other Linux Box I've used before. Python is the recommend language to learn programming on Raspberry, but you can really use almost anything that works on Linux/Debian. I use more Nodejs and ES6 this days.
I could write now even more but mmhhh, i would just repeat myself - its really really easy this days. When I started to learn Linux I've spent sometimes several days just to get my xserver and a GUI running, now you write your SD card, insert, run, done
Click to expand...
Click to collapse
Thanks for your reply. I think I can deal with 'how to setup system etc.' The only worry is once you let's say have a sensor, you have to code that to fully work.
eddyys said:
Thanks for your reply. I think I can deal with 'how to setup system etc.' The only worry is once you let's say have a sensor, you have to code that to fully work.
Click to expand...
Click to collapse
Don't worry! There's a large community and so many code examples! I am more interested in client/server apps so i can say much about it, but I remember there was even a app to do things without coding.
Thanks that really helps. I am about now to buy all necessary for the project. Any suggestions where to buy in the UK? Amazon/Ebay ?
I've found many tutorials but perhaps you have your favourite ones that explain the hardware part (what kind of items should I buy), then programming part for scripts etc.
Regards
anyone?

Categories

Resources