Related
Hello,
So far, I have:
A working Android build environment (Ubuntu 11.10 x64).
Managed to build, install and boot AOSP on my Nexus S. (I have downloaded but not attempted to build CM7 yet.)
Created a Github account.
Samsung's open source files for my target device, the Galaxy Gio GT-S5660M.
I've read some documentation and forum posts about Github, but I remain unsure as to what I should do to fork in a way that:
I'll be able to keep on syncing the remainder of the code.
My new device directories and modifications could be brought back (pulled?) to the main CM7 code base.
Will avoid needless frustrating re-downloads of the source code.
Thanks in advance,
Darkshado
After some further reading, I'm beginning to grasp some git basics...
I've forked two CM7 repos so far, added them as remotes in the appropriate installations. (Instead of forking and cloning, since I already had repo sync'ed the whole CM7 source. My commits show up on Github like they should, and I should be able to merge in commits to the origin remotes.)
I'm not going to do any pull requests until I've managed to build and boot.
By the way, yesterday I attempted to build AOSP with a bunch of files overwritten by the Samsung sources (that's how they tell you to do it!!) and this failed, as I expected.
Goodbye,
Darkshado
Update: I'm currently trying to port CM7 to the Gio 5660M. Still attempting a first successful build as I'm writing these lines.
My main issue so far has to do with the camera. I get the following error message:
make: *** No rule to make target « out/target/product/gio5660M/obj/lib/libcamera.so », needed by « out/target/product/gio5660M/obj/SHARED_LIBRARIES/libcameraservice_intermediates/LINKED/libcameraservice.so ». Stop.
After toggling off the camera by using the stub, I hit the same error further into the build with this:
make: *** No rule to make target « vendor/samsung/gio5660M/proprietary/wifi/ath6k/AR6003/hw2.0/athtcmd_ram.bin », needed by « out/target/product/gio5660M/system/wifi/ath6k/AR6003/hw2.0/athtcmd_ram.bin ». Stop.
I know this has to do with makefiles, but that's about it...
Thanks in advance for any help,
Darkshado
hi i'm interested too.
hi I found your github because I also interested poriting cyanogemod to galaxy gio korea(SHW-M290K). the device hardware is different from s5660. so I need some modification.
and your libcamera problem is that there is some reason that the make system can't find libcamera.so, so they cannot compile libcamera service. it should be in ./vendor/samsung/gio/proprietary according to your extract-files.sh .
have one cuorisity. I searched gio android device make file. and none of them are relreased source code. how did you make them?
I found this information. it may help you.
http://processors.wiki.ti.com/index.php/TI-Android-GingerBread-2.3.4-DevKit-2.1_PortingGuides
I'll have to update my Github, hadn't been in a rush due to lack of progress, but now my problem lies with libaudio instead.
I got the Samsung sources for the 5660M on their open source website, although I mostly worked with the CM7 ports for similar devices like Tass and Cooper as well as a Gio source provided by Phiexz but it didn't build either.
Thanks for the link, I'll check it out.
proprietary does not help
do you have any progress since last time?
well, I admit that proprietary files does not help.
does your s5660m hardware identical to s5660v?
becasuse galaxy gio in Korea(shw-m290k,shw-m290s) does different hardware.
well in this case, like me, you need to hack into not only android pdk, but also android kenel.
I have seen that phiexz has released kernel with latest cyanogenmod kenel in his github and I am modifing it to shw-m290k. there are some hardware differences i have to apply to.
I suggest you to compare phiexz's kernel and samsung original kernel from samsung opensource homepage.
My problem right now is that I don't have that much spare time to put into this, and that I'm very much learning as I go, so progress is not always that quick. Also, I'd like to get my Touchwiz based ROM updated and working properly before trying to build AOSP or CM again.
Another thing I want to try is building the kernel (probably based on Phiexz's) that will support ext4, and compare performance of the Touchwiz ROM on ext4 versus RFS.
As far as we can tell, GT-S5660 (Europe/Asia) GT-S5660M, L and V are identical except for the radio firmware. People with the 5660M initially encountered issues after flashing 5660 ROMs because they also contained the AMSS image.
my cyanogen kernel is based on samsung open source kernel
because cm-kernel on cyanogenmod github dont support our device, if we wnt use that kernel we must add some hardware pofile & board for galaxy gio
so alternative is make samsung's open source kernel compatible with cyanogenmod
Wouldn't it be much better from a code maintainability standpoint to make the CM kernel work on the Gio? (Also if you ever hope to get official CM team support, that's a given.)
The way I understand repo and git, you could create a github repo for your device and board configs and add those to your repo manifest so the whole CM7 source and your modifications all sync properly.
I've forked the CM7 manifest files off github, added my gio files and removed all those extra devices I didn't need, so my repo syncs are much faster too. (The idea comes from http://slightlymorethanworthless.blogspot.com/2011/05/remove-unwanted-devices-from.html)
hey a quick question...
just starting out here..
i'm on win7 32 bit, going to run ubuntu on virtualbox.
shud i choose ubuntu 32 bit or 64?
sorry for OT.
doesn't really matter
roofrider said:
hey a quick question...
just starting out here..
i'm on win7 32 bit, going to run ubuntu on virtualbox.
shud u choose ubuntu 32 bit or 64?
sorry for OT.
Click to expand...
Click to collapse
doesn't really matter. but compiling process needs much cpu power. so 64x would be better.
Well, im not a dev or a user of gt5660m, but good luck to you, hope u can finally port it
Sent from the GUN in my pants
darkshado, if you have same problem untill now.
http://strazzere.com/blog/?p=220
look this page. and check out koush's proprietary page. especially for samsung cooper(galaxy ace). because many of kernel procedure are same for gio.
https://github.com/coolya/android_device_samsung_cooper.git
https://github.com/koush/proprietary_vendor_samsung
i've upload galaxy gio source + proprietary files for galaxy gio
please see & help to fix some problem
github.com/phiexz
Darkshado said:
Hello,
So far, I have:
A working Android build environment (Ubuntu 11.10 x64).
Managed to build, install and boot AOSP on my Nexus S. (I have downloaded but not attempted to build CM7 yet.)
Created a Github account.
Samsung's open source files for my target device, the Galaxy Gio GT-S5660M.
I've read some documentation and forum posts about Github, but I remain unsure as to what I should do to fork in a way that:
I'll be able to keep on syncing the remainder of the code.
My new device directories and modifications could be brought back (pulled?) to the main CM7 code base.
Will avoid needless frustrating re-downloads of the source code.
Thanks in advance,
Darkshado
Click to expand...
Click to collapse
Really the best kernel for your phone is here:
http://forum.xda-developers.com/showthread.php?t=1991020
BLN enabled, optimized&stable kernel, jelly bean look
Whoa! Zombie thread!
Dude: the ROM you linked was published over a year after my original post in this thread. I'm pretty sure there was NO CM7 build available for the Gio back then. That's what I was trying to work on, but got beat to the punch by Maclaw and a couple others. (Hard-bricking my Gio and having a sluggish laptop to build on didn't help.)
Besides, I got rid of my Gio a long time ago. I enjoy my Note 2 and keep my Nexus S as backup.
I'm not understanding how kernels and ROMs connect. Can someone give me some extra insight?
[Hardware] <-- Unique to every phone
--
[Kernel] <--- Tells the OS how to talk to the hardware
--
[ROM] <--- Slightly confused. Is the OS in the Read only Memory, or has this term changed its "street" meaning?
I understand that most ROMs (e.g. CM7 and CM9) include both the kernel and the ROM, but can you flash these separately too?
I have a 1.5 year old thunderbolt that's rooted, and has CM7 which is based on gingerbread. I believe HTC has also released the kernel as open source, which is probably the reason I have CM7
Anyway, I guess what I'm looking for is an answer/guide/forum that explains why I can't install newer versions of android onto the already working/open source kernel I'm already running. Is it accurate to view the kernel as all the phone's drivers, or just the CPU driver? If that statement is true, why can't I load ICS or Jelly Bean onto my already existing set of drivers?
I'm thinking about starting a Wiki on this if 1) it doesn't already exist, and 2) I can wrap my brain around it enough to share with others!
Thanks to anyone with a response!
shadowrelic said:
I'm not understanding how kernels and ROMs connect. Can someone give me some extra insight?
[Hardware] <-- Unique to every phone
--
[Kernel] <--- Tells the OS how to talk to the hardware
--
[ROM] <--- Slightly confused. Is the OS in the Read only Memory, or has this term changed its "street" meaning?
I understand that most ROMs (e.g. CM7 and CM9) include both the kernel and the ROM, but can you flash these separately too?
I have a 1.5 year old thunderbolt that's rooted, and has CM7 which is based on gingerbread. I believe HTC has also released the kernel as open source, which is probably the reason I have CM7
Anyway, I guess what I'm looking for is an answer/guide/forum that explains why I can't install newer versions of android onto the already working/open source kernel I'm already running. Is it accurate to view the kernel as all the phone's drivers, or just the CPU driver? If that statement is true, why can't I load ICS or Jelly Bean onto my already existing set of drivers?
I'm thinking about starting a Wiki on this if 1) it doesn't already exist, and 2) I can wrap my brain around it enough to share with others!
Thanks to anyone with a response!
Click to expand...
Click to collapse
You are correct about the ROM, but ROMs also include the kernel (if it didn't, or no kernel was flashed separately, the device would not boot). Yes, other kernels can be flashed on your existing ROM, but it's not necessarily going to be compatible.
Sort of, but there's a lot more than that. See here and here. Later versions of Android will require newer drivers,etc. which the existing kernel won't provide (they'll be outdated). Back porting and additional coding is theoretically possible, but insanely difficult (many times). Even after this some things may still not work.
Thanks for the insight, I was able to get a lot deeper into this with those links. For anyone else wandering down a similar path, you might as well stop now! Here are a few links:
http://forum.xda-developers.com/showthread.php?t=1039217&page=2#17
http://www.cs.uwc.ac.za/~mmotlhabi/avmk.pdf
http://www.iteachandroid.com/2012/01/what-is-firmware-rom-and-firmware.html
So, if anyone else is still listening, I do have two more questions:
Do any phones have truly open source drivers? (a.k.a. higher probability of allowing old hardware to work with new android OS)
Is there any way to determine which phones will be supported by the custom-ROM community early on? I know the Nexus line doesn't have vendor modified code, is that the direction which would have the highest probability to stay at top of the Custom ROM curve without upgrading devices every year?
Thanks again for any insight! I hope I'm posting this in a Newb-Friendly forum!
shadowrelic said:
Thanks for the insight, I was able to get a lot deeper into this with those links. For anyone else wandering down a similar path, you might as well stop now! Here are a few links:
http://forum.xda-developers.com/showthread.php?t=1039217&page=2#17
http://www.cs.uwc.ac.za/~mmotlhabi/avmk.pdf
http://www.iteachandroid.com/2012/01/what-is-firmware-rom-and-firmware.html
So, if anyone else is still listening, I do have two more questions:
Do any phones have truly open source drivers? (a.k.a. higher probability of allowing old hardware to work with new android OS)
Is there any way to determine which phones will be supported by the custom-ROM community early on? I know the Nexus line doesn't have vendor modified code, is that the direction which would have the highest probability to stay at top of the Custom ROM curve without upgrading devices every year?
Thanks again for any insight! I hope I'm posting this in a Newb-Friendly forum!
Click to expand...
Click to collapse
For both your questions, the Nexus-line devices would be the way to go. They usually have everything working on new Android versions the soonest, and Google always releases their code, etc.
Hi
i can use linux kernel (zimage) to update android kernel if yes ,how ?
thnx
Hi all,
i want to start with AOSP 4.2 for our SGS3 i9300 - is anybody interested to develop and publish a AOSP based rom with me?
I'm a real application developer (C,C++,JAVA,PHP,MySQL,some Oracle PLSQL) and now its some cold out - i have time to do
some nice things
I think a team of 2 or 3 developers should be enough to develop on this rom, as we can use a lot from AOSP 4.1.2
### EDIT
As long as no one has found to help, here a short description of current progress:
- Code is pure based on AOSP 4.2 but some snippets of CyanogenMod to bring up hardware (camera,graphics,audio)
- Device is bootable (no other boot.img required anymore)
- Bootanimation is working
- Mount of partitions is working
- Deodexing is working
- adb, debuggerd and root access is working
Not working: a lot
- Graphic not working perfect, needs a kernel patch or a working gralloc/hwcomposer/hwconverter to work without laggy PMEM)
- Camera can not be activated due to a missing function call (undefined reference, maybe it can be solved with a newer driver)
- Audio: missing speaker device (Code have to reworked to work with stagefright and tinyalsa libs)
- USB/internal SDCard: cant be mounted (error message sounds like the device is mounted twice, have to find the error in init process)
- RIL not working (Java file from CM10 have to be integrated in frameworks/opt/telephony)
Currently, i'm working on the Graphic problem and USB part to bring up the device to a stable UI
Way to go man. Good luck to you!
Good luck ...!! Im waiting
Sent from my GT-I9300 using xda premium
Good evening,
Well how have you imagined that? Do you have build something like that before or would this be your first attempts to build up a rom from scratch? Do you know what's all necessary to contribute for that?
I would try to help you, but I have clearly to say that I haven't done anything like this before. I'm in the last term of my study of technical computer sciences, working in a company as application programmer for C/C++ and Java(Android). Due to my studies I have also some knowledge about hardware programming, down to read/writing some code in assembler. I would be interested to this if I get introduced to the topic and some help with the necessary tool chain wouldn't hurt too ^^.
greetings
hop3l3ss1990 said:
Good evening,
Well how have you imagined that? Do you have build something like that before or would this be your first attempts to build up a rom from scratch? Do you know what's all necessary to contribute for that?
I would try to help you, but I have clearly to say that I haven't done anything like this before. I'm in the last term of my study of technical computer sciences, working in a company as application programmer for C/C++ and Java(Android). Due to my studies I have also some knowledge about hardware programming, down to read/writing some code in assembler. I would be interested to this if I get introduced to the topic and some help with the necessary tool chain wouldn't hurt too ^^.
greetings
Click to expand...
Click to collapse
I have successfully built a rom in year 2010 for the LG-P500 device, based on CM7 and modified it in a strange way, so i included a lot of nice things
written from scratch - this rom was a unicate ... later, i developed the "Phoenix Launcher" for Gingerbread enabled devices, but its development is currently
frozen because its strange to support every or almost every device with a bugless launcher. In the last months i learned a lot about android and have to re-think about
what i'm able to do, and what i want to do. In the summer of 2011 i bought my SGS3, the first thing i was doing was to remove that samsung crap from my device and
have installed AOKP. So now it's time to do my own thing again - i want to have AOSP as i think for me its the best Android solution for myself and want to publish it
to other users who think "thats ok for me" too
In short, it doesnt matter if its your first rom - its enough if you know about basic things like "how is android doing all that nice things", "how to debug code", "how to fix
some bugs (even strange bugs)" and some experience with git and github. All other you can learn in a very short time - i've learned the most of things with try & error
andy572 said:
I have successfully built a rom in year 2010 for the LG-P500 device, based on CM7 and modified it in a strange way, so i included a lot of nice things
written from scratch - this rom was a unicate ... later, i developed the "Phoenix Launcher" for Gingerbread enabled devices, but its development is currently
frozen because its strange to support every or almost every device with a bugless launcher. In the last months i learned a lot about android and have to re-think about
what i'm able to do, and what i want to do. In the summer of 2011 i bought my SGS3, the first thing i was doing was to remove that samsung crap from my device and
have installed AOKP. So now it's time to do my own thing again - i want to have AOSP as i think for me its the best Android solution for myself and want to publish it
to other users who think "thats ok for me" too
In short, it doesnt matter if its your first rom - its enough if you know about basic things like "how is android doing all that nice things", "how to debug code", "how to fix
some bugs (even strange bugs)" and some experience with git and github. All other you can learn in a very short time - i've learned the most of things with try & error
Click to expand...
Click to collapse
This all sounds interesting for me and yes I like the idea of developing a own clean rom with some cool additional stuff, too. But what would be the first steps to a new rom? Have you begun with all the administration stuff like setting up a new gitrepo, make a to do list etc...?
I think Code debugging and writing some new stuff wouldn't be a problem for me but what are you meaning excactly with "how is android doing all that nice things"? How it build up, deep level architecture? Well, I know how the "normal" Linux system is working, how modules are getting loaded into the kernel... But how this is correctly working on android I have to learn at first and if there is a chance to do that I would do it
Currently on my S3 is SlimBean and till that there is still no update to 4.2 I'm happy with it, but exploring something new would be pretty cool
Do you have an IRC chat room or something like that? I've to go offline now, my girlfriend wants more attention.^^ But If you want, I' m willing to try to contribute to the rom
PS. I'm sorry for my bad English and hope its understandable, but outside from here you can talk to me in German ^^
If you want to help the AOSP experience on our phones the best place to do it is with the CyanogenMod guys. You'll find pretty much everything based on AOSP (including people that port Vanilla AOSP and AOKP) is using a CM kernel.
They're likely working on the merge now in terms of getting CM10.1 out (with Android 4.2) but most of our CM guys are pretty burned out on working with Samsung's subpar reference material to get basic stuff working (mostly HWC). If you think you could help with this, this would be provide a massive boost to the whole community that want to run these phones on an AOSP based ROM and they would be very grateful.
Gotta warn you though it sounds like it'll be an uphill struggle to get the rest of the stuff working right; unless Samsung release some decent sources for HWC.
Currently i have only downloaded the AOSP sources and started to integrate most of the configs. Currently it cant compile because AOSP is not AOKP/CM10
where i got the device and vendor directories, so i have to make some changes in the basic system. if it's compiling to the end, i open a fresh github account
and upload all my modifications. The compile process stops currently on audio,OMX plugins, graphics and camera - most of that are small pieces of changes
i have to make - i think, tomorrow (its monday in germany here) i can upload all and then we can start to develop on
andy572 said:
Currently i have only downloaded the AOSP sources and started to integrate most of the configs. Currently it cant compile because AOSP is not AOKP/CM10
where i got the device and vendor directories, so i have to make some changes in the basic system. if it's compiling to the end, i open a fresh github account
and upload all my modifications. The compile process stops currently on audio,OMX plugins, graphics and camera - most of that are small pieces of changes
i have to make - i think, tomorrow (its monday in germany here) i can upload all and then we can start to develop on
Click to expand...
Click to collapse
Wish i could help (just started learning JAVA ) ! gl with this awesome project
Nice to see you here, I remember you from the P500 forums.
Xda user krarvind should be able to give you some useful hints, you will have to contact him through the RD forum as his pm is locked down, or I could possibly put him in contact with you
slaphead20 said:
Xda user krarvind should be able to give you some useful hints, you will have to contact him through the RD forum as his pm is locked down, or I could possibly put him in contact with you
Click to expand...
Click to collapse
Thank you, it would be nice if you can contact him
andy572 said:
Thank you, it would be nice if you can contact him
Click to expand...
Click to collapse
Ok, will mention it to him
andy572 said:
Currently i have only downloaded the AOSP sources and started to integrate most of the configs. Currently it cant compile because AOSP is not AOKP/CM10
where i got the device and vendor directories, so i have to make some changes in the basic system. if it's compiling to the end, i open a fresh github account
and upload all my modifications. The compile process stops currently on audio,OMX plugins, graphics and camera - most of that are small pieces of changes
i have to make - i think, tomorrow (its monday in germany here) i can upload all and then we can start to develop on
Click to expand...
Click to collapse
How it's going forward?
Maybe it could be useful to publish the github link when it's ready and some more information like staus, on first post
In the next days I have some trouble with my exams ( in two weeks I'm completely finished with my studies ^^) but I think if there is something to do I'll find some time to work on.
Good Luck Dude~
I haven't tried AOSP yet.
Hope someday i can give it a go.:silly:
hop3l3ss1990 said:
How it's going forward?
Maybe it could be useful to publish the github link when it's ready and some more information like staus, on first post
In the next days I have some trouble with my exams ( in two weeks I'm completely finished with my studies ^^) but I think if there is something to do I'll find some time to work on.
Click to expand...
Click to collapse
current state:
- patched android/build so we can compile the kernel within the main compile process
- patched android/build main.mk file so we can use OpenJDK or Oracle JDK
- added android/vendor/aokp and android/vendor/samsung tree from AOKP (its the most useful directory structure)
- added android/hardware from AOKP so we have all that Exynos things that are needed, even by AOSP
- modified android/frameworks/native/include so a OMX Plugin header can be found
- modified android/libhardware and patched gralloc module
currently it compiles to the Webkit library, most of all apps, libs and binaries are building without errors - the next problem
to solve is the PRODUCT_COPY_FILES ****: nothing of proprietary files are copied to the android/out directory, seems like
a bug in android/build too.
For only 2 days trying to compile to the end without errors its a very good cut
here we go: it compiles to the end and a flashable "JOP40" zip could be created
tryed to flash, but it gives errors in CWM: have to remove the recovery folder and the recovery.sh file from etc folder in the ota zip file, but it doesnt boot up - got a black screen only.
do we need a new or patched kernel instead the CM10 smdk421x one?
Well does it have all the closed source libraries fron the phone? If not, it wont boot. Dont think i am calling you stupid, you obviously know what you are doing, but maybe you forgot. Idk. Check that. Try running a log cat and debug that.
Sent from my GT-I9300 using xda premium
b-eock said:
Well does it have all the closed source libraries fron the phone? If not, it wont boot. Dont think i am calling you stupid, you obviously know what you are doing, but maybe you forgot. Idk. Check that. Try running a log cat and debug that.
Sent from my GT-I9300 using xda premium
Click to expand...
Click to collapse
Thanks for the hint, yes i have all files included - i cant connect to adb, i see only small colored point on the top left side and a sensor
is red blinking (the one to the right of the speaker.
That would be the proximity sensor near the top front speaker. Cant connect, adb binary in /system/bin or xbin?
Sent from my GT-I9300 using xda premium
So I'll start by saying, if you read any of the current porting guides, it's basically impossible to build CM for a device unless you already have it running on the device... So that's not very helpful.
I am working on porting CM10 to the Ouya, I have the build environment set up fine, I can build a perfectly working CWM recovery from source for it, but when I build CM10 it doesn't boot, nothing even shows up on the screen. I am pretty sure this is due to some missing proprietary blobs from the Ouya, but since no one has made a proprietary-files.txt for it yet, I'm left in the unenviable postion of having to do it myself. I have no problem with doing it, I simply don't know how. I tried using the file from the tf700t source (because the hardware is the most similar) but got no better result. Now I've spent 2 days searching fourms, google, etc. to find a guide to create a proprietary-files.txt, but all I can find is a mess of sites telling you how to use an existing one...
Can anyone help me with this, or am I out of luck? Alternatively, does anyone know an IRC channel I could find an expert in? Fattire and Dalingrin come to mind for their work on the nook color and HP touchpad. If they could make those devices work they should be able to help me fix the ouya with no trouble...
I know it's not as simple as it looks, otherwise everybody could do it, but at least can someone point me in a vague direction?
Just out of interest, how do you upgrade a device tree to support newer Android versions? Anything in particular which might prevent Android from functioning correctly?
I've acknowledged SELinux as a problem already.
I'm new to running device trees and kernels but I do know my way around Linux (I know how toolchains works, and I can build Android and kernels, for example) and I know C++, C and Java.
I've 'Google-d' the matter, but to no avail – there appears no clear way to do it.
+1 this question
i want its answer too:good: