Hi,
After I got annyoed of my sgs ii, and samsung does not provide the things needed for the devs to port ICS to that (awesome) device, I bought a Galaxy Nexus, cause it's a developer phone and yes - I want to start on android developement.
So, let's just begin, I ordered my Nexus some hours ago, but I my internet connection gives me just 120 kb / s, so I started now with setting up ubuntu and a build environment & downloading the source.
I think it should take some days...
I made it with this tutorial:
http://source.android.com/source/initializing.html
http://source.android.com/source/downloading.html
... okay, now the questions, if building like it is written in here, I am stuck on building ICS only for the Nexus. I know it's nonsense building something else, but I don't know what I could do as a "learning project", so I decided to port Gingerbread to the Galaxy Nexus would be the first big "goal"...
I don't think I really understand how bulding android really works, or better, I don't understand how git works... it's not the classic "./configure" , "make"
as I understood from here: http://source.android.com/source/building.html
I can choose a "build target", so if I select the Nexus as a build target, it will automatically compile ICS, and if I select the Nexus S, it will automatically compile gingerbread?!?!
tl;dr
I don't understand how the code-tree works
I don't understand how to select wich source to build for wich target
I know... it's redicolous, but I just wanted to start...
also I hope this is the right forum
I used @viulian's port of PHP 5.3.8 and 5.4.2 of PHP and lighttpd on my Galaxy S2. It ran like a charm on Android 2.3.3.
But since I upgraded to ICS 4.0.3 the PHP didn't run anymore and reported it to @viulian. He discovered he used the wrong compiler switches and recompiled it and it ran again but some functions regarding directories (dir(), scandir() ) don't run properly due to a 64 bits filename problem. This is also described in https://bugs.php.net/bug.php?id=27792 . Thanks, @viulian for your effort ! He could not test it as he has no ICS test development yet.
Now I decided to compile PHP myself. I have downloaded the sources from php.net and installed the Android dev kit with cross compilers and installed the ARM cross compiler on Macports as well (I use a Mac running Lion 10.7, but I have Ubuntu 12.04 in a VMware session if that suits better) .
Can somebody tell me what to do to properly compile PHP myself to make a single PHP binary ?
I cannot find proper answers by googling around.
Hey,
first excuse me when this is the wrong section :-x
But since it might be a general problem which is not related to the Device, I thought I might should post it here.
Just a week ago I bought a new Laptop and moved all my (windows) stuff over there.
Since Im a programmer for C# and C++ for over 5 years now, I installed Ubuntu 12.10 on my Old Laptop and wanted to start messing with Android, CyanogenMod 10.1 to be specific.
But I came up with a few Problems and questions ...
I have a few questions regarding Building CM10.1 for the Samsung Galaxy S3 GT-I9300 (international) and some which might be general to building from Source.
Every time I close a Terminal window in Ubuntu 12.10 and open one again, I have to execute "envsetup.sh" all over again, to use the "croot" command or anything related to building. Is there a way to ( more or less ) integrate that into Ubuntu ?
Right now I got the CM10.1 Source tree located in the specified location the Wiki states. How do I cherry pick Changes from Gerrit effectively ? Sure, the easiest way would be to Copy&Paste the Code, but is there any way to keep the changes after "repo sync" and keep track of additional patch sets that have been added, which might be required ?
Like I said I have problems building CM10.1 for my (german) i9300. Booting is well, everything running like on the Nightlies, but the Radio is "missing", just like the IMEI and IMEI SV. Ive tried to google the issue but dont get anything clear, I also followed every point in their Wiki but dont get any further. How do I fix this ?
Whats the average time when you build CM10.1 ? Is about 1 1/2 Hours good ?
Again, Im sorry if this is the wrong section or anything I can find here, but I might searched for the wrong things and came up with Hundreds of Threads, none related to my issues ( related to building ).
Thank you in advance
v3n3 said:
Hey,
first excuse me when this is the wrong section :-x
But since it might be a general problem which is not related to the Device, I thought I might should post it here.
Just a week ago I bought a new Laptop and moved all my (windows) stuff over there.
Since Im a programmer for C# and C++ for over 5 years now, I installed Ubuntu 12.10 on my Old Laptop and wanted to start messing with Android, CyanogenMod 10.1 to be specific.
But I came up with a few Problems and questions ...
I have a few questions regarding Building CM10.1 for the Samsung Galaxy S3 GT-I9300 (international) and some which might be general to building from Source.
Every time I close a Terminal window in Ubuntu 12.10 and open one again, I have to execute "envsetup.sh" all over again, to use the "croot" command or anything related to building. Is there a way to ( more or less ) integrate that into Ubuntu ?
Right now I got the CM10.1 Source tree located in the specified location the Wiki states. How do I cherry pick Changes from Gerrit effectively ? Sure, the easiest way would be to Copy&Paste the Code, but is there any way to keep the changes after "repo sync" and keep track of additional patch sets that have been added, which might be required ?
Like I said I have problems building CM10.1 for my (german) i9300. Booting is well, everything running like on the Nightlies, but the Radio is "missing", just like the IMEI and IMEI SV. Ive tried to google the issue but dont get anything clear, I also followed every point in their Wiki but dont get any further. How do I fix this ?
Whats the average time when you build CM10.1 ? Is about 1 1/2 Hours good ?
Again, Im sorry if this is the wrong section or anything I can find here, but I might searched for the wrong things and came up with Hundreds of Threads, none related to my issues ( related to building ).
Thank you in advance
Click to expand...
Click to collapse
Answer's here
1)no you cant integrate that into ubuntu ..ps why do you need to integrate something which is just a line to type....
2)for cherry picking commits you can do git am or download the diff patch .. if you repo is frameworks base then copy that patch to frameworks/base cd into frameworks/base and type git patch -p1 and drag the dif patch on to the terminal and hit enter
3)u can use boardconfig flags to make use of stock radio, go through boardconfigs of different devices..
4)for me it takes 2hrs to build gb and 3-4 hours of ics..really i have a crap pc it depends on your processing power ..you could make use of make -j4 if you havent yet ..but it the build gets crashed reduce the number next to j like j3 or j2..
I noticed that there is no current port going or started for ubuntu touch, so today i thought i would start that project.
the first thing i noticed was that ubuntu's documentation for porting is one of the worst things ive ever seen, so this will probably end up being kind of a guide until we get a working image or something.
first thing is you will absolutely need Linux. Im using ubuntu for ease of use, although I do build android on arch.
I set up a directory structure on my pc just for android development. i have ~/android/platforms/ in which i have cm11, ubuntu-touch carbon, etc.
so to summarize how i got this started:
Code:
$ mkdir ~/android/platforms/ubuntu-touch-phablet-4.2.2_r1
$ cd ~/android/platforms/ubuntu-touch-phablet-4.2.2_r1
$ repo init -u git://phablet.ubuntu.com/aosp/platform/manifest.git -b phablet-4.2.2_r1 && repo sync -j16
Now im really hoping that is the correct branch. I tried to follow the "porting guide" and its just full of out dated information that lead me to sync a few repos incorrectly. :silly:
after a few failed builds and some common error logs i finally figured i was on the wrong branch. This attempt shall be on 4.2.2_r1 as that appears to be the latest. (I hope)
anyway the rest is still in progress. My sources will be on github for people to help out.
Device
Kernel
also: im on irc on freenode at #oudhitsquad pressy4pie
[update]
i have a huge problem in the real world, so i will have virtually no time to get this updated for now. I am really sorry, hopefully i can get it going again soon
XDA:DevDB Information
Ubuntu Touch , ROM for the ONEPLUS ONE
Contributors
konnorrigby
Version Information
Status: Testing
Created 2014-09-24
Last Updated 2014-10-13
cool mate! thanks for that...cheers!
Nice. Would love to give a hand here, I'll visit the Ubuntu workshop at devcon this weekend to learn some new fresh information about porting. Maybe I'll give it a try later too.
Good news!
Looking forward to see the first builds getting ready for testing.
:good::highfive:
Mackis said:
Good news!
Looking forward to see the first builds getting ready for testing.
:good::highfive:
Click to expand...
Click to collapse
This will take a while. As you can see in OP, there are problems with the porting guide from Ubuntu. When I get back from devcon, I hope to know more about porting.
So turns out i was in fact syncing the wrong repo again. shame on me for following a ubuntu guide. it appears there is a 4.4_r1 repo also. Syncing again. I have a fairly slow connection. ill see what i can get done on 4.2.2_r1 though in the mean time
I have high hopes...
Would like to a working rom.. Wish you best of luck and hope its smooth sailing...
Thanks for scarifying your time and efforts for us
Couple of month ago I wanted to port it for my lenovo phone, but I gave up (sources limited)
Anyway, to say that I went on the IRC channel to get some support, they are willing to help (even though you have to be patient, it's IRC, hundreds of people connected nobody on their computer.). So they told me that (as you noticed) the porting manual is outdated, and they are now basing their port on AOSP. Tthis should not be a problem to use CM though.
So try to get some help there, they know what you have to do
I could give a hand, I have a good internet connection. Could you post all the command history you ran, so I can try on my side?
cheers
ive got some progress, i think.
ubuntu-touch has rebased to aosp rather than cyanogenmod, which makes things a lot more difficult.
if youve ever tried to build something that is not a nexus device against aosp it is a huge pain in the ass. Bacon has a lot of cm specific parts that need to built so it is difficult to get it to build w/ aosp. but to explain where i am currently, i synced 4.4_r1, and now since aosp doesnt build kernel and bacon requires kernel to be packed up with dtb and stuff, i went to my cm11.0 repo, did my ubuntu-touch modifications to kernel, did
Code:
lunch cm_bacon-userdebug && make -j32 bootimage
which (i think) gives me the correct bootimage. What we need now is the android part. i am building inside the ubuntu-touch-4.4_r1 dir with:
Code:
lunch aosp_bacon-userdebug && make -j32 systemimage
that eventually errors out to:
Code:
make: *** No rule to make target `out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar', needed by `out/target/common/obj/JAVA_LIBRARIES/qcmediaplayer_intermediates/classes-full-debug.jar'. Stop.
make: *** Waiting for unfinished jobs....
im not sure why because as far as i know, ubuntu-touch shouldnt be building java parts and that is the first part of building the java stuff in a regular android build. ive never ported ubuntu-touch before. so someone let me know if ive messed something up. i dont think there is something in the device makefiles that starts the java build.
any help
just in case, are you using opensources java or oracle one? I am pretty sure it doesn't work with opensource java. But i would expect that you get the error earlier...
I'm not sure if you already have this or not but Oneplus has aosp kernel sources at https://github.com/OnePlusTech/android_kernel_oneplus_one .
konnorrigby said:
ive got some progress, i think.
ubuntu-touch has rebased to aosp rather than cyanogenmod, which makes things a lot more difficult.
if youve ever tried to build something that is not a nexus device against aosp it is a huge pain in the ass. Bacon has a lot of cm specific parts that need to built so it is difficult to get it to build w/ aosp. but to explain where i am currently, i synced 4.4_r1, and now since aosp doesnt build kernel and bacon requires kernel to be packed up with dtb and stuff, i went to my cm11.0 repo, did my ubuntu-touch modifications to kernel, did
Code:
lunch cm_bacon-userdebug && make -j32 bootimage
which (i think) gives me the correct bootimage. What we need now is the android part. i am building inside the ubuntu-touch-4.4_r1 dir with:
Code:
lunch aosp_bacon-userdebug && make -j32 systemimage
that eventually errors out to:
Code:
make: *** No rule to make target `out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar', needed by `out/target/common/obj/JAVA_LIBRARIES/qcmediaplayer_intermediates/classes-full-debug.jar'. Stop.
make: *** Waiting for unfinished jobs....
im not sure why because as far as i know, ubuntu-touch shouldnt be building java parts and that is the first part of building the java stuff in a regular android build. ive never ported ubuntu-touch before. so someone let me know if ive messed something up. i dont think there is something in the device makefiles that starts the java build.
any help
Click to expand...
Click to collapse
Just post any further errors you'll get here and I'll try to get help at devcon this weekend. Keep it up!
b8e5n said:
just in case, are you using opensources java or oracle one? I am pretty sure it doesn't work with opensource java. But i would expect that you get the error earlier...
Click to expand...
Click to collapse
im using oracle, but that isnt the problem. Ubuntu-touch takes the java out so its not there for a reason but something is causeing it to want to build the java parts..
i think im going to go ahead and fork hammerhead which i know builds, and give it 1+1 parts.
konnorrigby said:
im using oracle, but that isnt the problem. Ubuntu-touch takes the java out so its not there for a reason but something is causeing it to want to build the java parts..
i think im going to go ahead and fork hammerhead which i know builds, and give it 1+1 parts.
Click to expand...
Click to collapse
Good Idea! Let us know
I met @ciwrl at devcon, he'll come here and tell you how to squash that problem.
Great to see someone working on it.
Will bookmark this topic
News?
This is exciting to see, I'd love to try Ubuntu touch on the OPO. I have Ubuntu, but I'm mainly in Linux Mint, or Kali. Let me know if there is anyway I can assist with testing, Web storage/hosting, etc.
@konnorrigby, as @ciwrl suggested at devcon, you should disable the whole java part from the build. Ubuntu doesn't need any of it to build and run.
Wow! I really want to see Ubuntu on my OnePlus one. really Excited. Good luck guys
I would like to build and flash an image using pure aosp for vivalto3mveml3g - samsung galaxy trend 2 lite G318H (on ubuntu 14) .
I have rooted the phone installed jdk and other packages and downloaded aosp source code for android 4.4 but I don't understand exactly what device drivers I need and how/what to change to have proper lunch config.
Looking at some pages here it seems I need a device tree and maybe some drivers for this phone but I do not understand how they fit all together. Is the device tree going to be under the device/samsung/<codeName> folder ?
Thanks for any help.