Do any of the developers here have any experience building Cupcake from source using the directions here:
http://source.android.com/download
I started off on Ubuntu 9.10, but the more recent GCC's seem to have issues with stuff they've omitted, so I went back to 9.04 and then to 8.04. The "eclair" branch compiled fine for me, but I'm not exactly sure which cupcake branch to pull down.
-Cupcake gave me compile errors on 9.X and I'm about to try it on 8.04
-I just tried android-1.5 on 8.04 but it couldn't download a particular package when syncing, so that's kind of a dead end.
-I'm about to try cupcake-release again on 8.04 and see how it goes.
So...anyone compiled cupcake from source lately, and care to share their config? I think its mostly an issue of me not knowing which branch to pull down since I can't seem to find any clear indication of what the technical importance is of each branch.
I want to build from source to possibly tweak something in the 1.5 base that is used for Hero (if that is relevant).
I use Debian, the just pull the cupcake branch -b cupcake
it's worked for me everytime Though I have had troubles with more than one branch at at time for some reason.
I've made 2 seperate directories for the branches, and as far as I can tell the config is completely local to the directory, tied to the .repo dir in there.
I'm pulling down cupcake-release now and will give it a shot...via googling I found that apparently that is the one that is meant to be used "for devices". It's nice that they document getting the source so well, but I'm surprised that I can't seem to find anything on the branches. (which ones are stable, development, locked,etc.) Or maybe I justy don't know where to look....
Hi All,
Could some of developers who managed to successfully build CM 5.02 (or any 5.x) kernel from the source help me out with this?
* I checked out the Android 2.x kernel with repo
* Set the proper environment variables
* Checked out Cyanogen's source from github
* Set buildspec.mk and extracted proprietary files
* Copied config.gz from phone to .config
* Executed /build/envsetup.sh
make runs for good 10+ minutes and compiles tons of files, but it stops with this error:
make: *** No rule to make target `vendor/htc/common-open/akmd/proprietary/akmd', needed by `out/target/product/passion/system/bin/akmd'. Stop.
Click to expand...
Click to collapse
What am I doing wrong?
Did I forget to fetch or configure something?
Many thx!
Also, maybe I am asking for too much - but it would be really great if someone who already did complete and sucessful build could write a small wiki (or forum?) tutorial how to build Nexus One Cyanogen ROM from scratch starting from empty Linux setup - it would really help lots of people as right now there are several documents with some of them outdated.
update - looks like something went wrong with fetching proprietary files. I re-done it and it is now compiling for more than 30 minutes...
I hope it will complete successfully this time
Ivan Dimkovic said:
update - looks like something went wrong with fetching proprietary files. I re-done it and it is now compiling for more than 30 minutes...
I hope it will complete successfully this time
Click to expand...
Click to collapse
i posted basic instructions on building cm5-source in cm-wiki.
i'm not sure what you plan to do, compile the whole rom (as thats what you do) or just a kernel (sounds like what you want) ?
It succeeded this time!
It looks like something was indeed wrong when I pulled the files from the phone first time. So the wiki info is good
I would like to compile everything actually and to play a bit with compiler options / configurations and also test the undervolting a bit more (lower voltages - for this kernel build is sufficient)
Has anyone successfully compiled the kernel and opensrc directories from the download from Samsung's Open Source site? I am running into compiler errors for things like xt_CONNMARK.c since the file doesn't exist in the source tree. Is the Galaxy i9000s download actually compilable, and is it actually compatible with the Captivate?
Thanks,
-Atin
Oh cool, I had no idea they had the source available. Samsung just got a lot more awesome in my book. I'll be looking into this when I get back to a computer, and hopefully devs can do something interesting with it.
From my understanding of previous Samsung phones and there source code its that the source code provided is not complete. Anything proprietary is not included which includes some drivers and some extra bit of code.
I don't know if they skipped stuff but I do see binary modules, so maybe they did put every thing out, just didn't open source every thing. Given that we can still link the binary modules, this shouldn't be a problem just like under linux. My problem is more simple, the danged code won't compile because either the config or the dump itself is incorrect (missing files like xt_CONNMARK.c which is gone in later versions of the kernel, but should still be present in what they dumped).
atinm said:
I don't know if they skipped stuff but I do see binary modules, so maybe they did put every thing out, just didn't open source every thing. Given that we can still link the binary modules, this shouldn't be a problem just like under linux. My problem is more simple, the danged code won't compile because either the config or the dump itself is incorrect (missing files like xt_CONNMARK.c which is gone in later versions of the kernel, but should still be present in what they dumped).
Click to expand...
Click to collapse
If they handled the Galaxy S like they do other phones then I believe Eugenes comments apply here
http://forum.androidspin.com/showpost.php?p=12840&postcount=13
So I've used google cloud for last 2 years. I've now switched to my PC and installed Ubuntu on it as my os. Unfortunately I only have 8 gigs of ram 500 gigs of storage and I'm running a 64 bit machine. The problem however is not compiling as I've done it before. I can also compile gapps, kernels and apps fine , but when I try to sync sources for ROMs be it nougat or Oreo I always get exited due to fetch errors. My WiFi signal is very strong. I can usually download ROM sources in a hour and a half. I'm not Sure what I'm doing wrong cardinal ROM syncs fine but RR validus boulzar ROM to name a few always give error can somebody help I guess I'm staying on cloud for now thanks.
So after hours of researching I think I found a solution . I'm not sure why it's happening like this but I downloaded cardinal sources successfully I also noticed that it had -m with a xml file attached to it so I went to validus sources found same xml file as cardinal and I'm now attempting so sync that all is going well so far so see what happens
So downloaded but was missing certain files which is a bummer I'm stuck again so I'm going to write my machine details hopefully suggestions can be made
Machine. Windows 64 bit os
Switched to Linux 16.04 windows is gone
Ram 8 gigs
Harddrive 500 gigs
Steps taken
Install Java and all other **** needed
Set bash make dir then sync validus sources
Repo sync
I get to frameworks base then it happens
Exited sync to due to fetch errors !!!!!!!!
I hate ur mother I scream I yell I hollar and curse GitHub
Thank you have a good day help !!!!!
Finally got it thanks to Davy annihalation using this sync command wanna thank @Tywinn Lannister as well
time repo sync -j$( nproc --all ) --force-sync -c --no-clone-bundle --no-tags --optimized-fetch --prune
I'm really glad you posted this thread. I set my machine up to sync and then left it be since it takes forever, and i came back to a ton of fetch errors. Haven't had the chance to try the command you posted yet, but I'll give it a go tomorrow.
I need a little bit of help portingh crDroid 6 to the sm-t350. Nubianprince started then got pulled away by work. I have initalized the crdroid repo, but i when i run repo sync i think it only downloaded like, 300 mb. i do have an android pie enviroment, does repo link resources? i dont know what is going on there. I will upload my roomservice.xml. I had to remove a couple lines from the original and manually clone them because it keeped giving me an error. the original is here https://github.com/Nubianprince/local_manifests/blob/master/crdroid-ten.xml .
Currently i am using this device tree: https://github.com/Nubianprince/android_vendor_samsung_gt58wifi most custom roms i see are using this: https://github.com/Valera1978/android_device_samsung_gtaxlwifi . I have not seen any non sm-5xx devices using it though, so i hesitate to switch. i worked out a a couple errors of things being defined twice, and then built. but i think i am missing something as the build fails with this: FAILED: ninja: 'out/target/product/gt58wifi/root/init.usb.configfs.rc', needed by 'out/target/product/gt58wifi/ramdisk-recovery.cpio', missing and no known rule to make it
Is there a "quick fix" to provide this file? I am not actually sure what i am missing, or what creates it.
Any help would be appreciated.
This file "init.usb.configfs.rc" is missing from your device tree, somewhere in one of your files you have the path pointing to "init.usb.configfs.rc" which does not exist. Let me know if that makes sense.
nubianprince said:
This file "init.usb.configfs.rc" is missing from your device tree, somewhere in one of your files you have the path pointing to "init.usb.configfs.rc" which does not exist. Let me know if that makes sense.
Click to expand...
Click to collapse
Yes, it does make sense. I just don't know enough about the android environment to know where the file, or what is pointing to it, would / should be.
Okay. I believe there is a missing, or many many missing makefiles. I found the file and manually copied it to out, and then the build fails with another missing file. Rinse and repeat, there are a ton of files not being put where they should be. Now what to do with that information, i am not sure ??. I tried including a couple of the make files from android 9, but they didn't make any difference.
oh yeah, and if i do lunch instead of brunch it fails with a different file missing: FAILED: ninja: 'out/target/product/gt58wifi/system/addon.d/50-lineage.sh', needed by 'out/target/product/gt58wifi/verified_assembled_framework_manifest.xml', missing and no known rule to make it
it makes no sense adding files to the "out" folder, fix the issues in your "device" folder check your device.mk file
Wow. That was really awful. I don't even know what i was thinking there. What i was trying to say, is that i was manual copying the files to see if it was just one or two not being copied. I have been comparing the Pie and Q makefiles to try to determine what file was supposed to be copying it to out, but i cant find it in Pie, all i know for now is that it is being copied in Pie but not Q. For now I'm gonna' keep looking for the correct file.
lividhen99 said:
Wow. That was really awful. I don't even know what i was thinking there. What i was trying to say, is that i was manual copying the files to see if it was just one or two not being copied. I have been comparing the Pie and Q makefiles to try to determine what file was supposed to be copying it to out, but i cant find it in Pie, all i know for now is that it is being copied in Pie but not Q. For now I'm gonna' keep looking for the correct file.
Click to expand...
Click to collapse
What device tree are you using, do you have it on Github?
nubianprince said:
What device tree are you using, do you have it on Github?
Click to expand...
Click to collapse
I am just using the device trees (ten branch) on your GitHub. I haven't made any changes that have gotten me anywhere so i haven't committed my local changes to my GitHub.
That crdroid ten branch still need a lot of work, the last build I did when I was working on it was not getting past the logo
nubianprince said:
That crdroid ten branch still need a lot of work, the last build I did when I was working on it was not getting past the logo
Click to expand...
Click to collapse
I have been away for a while and haven't followed along, but the last week I spent compiling ROMs. I also tried compiling Android 10 using "stock" lineageos gt58wifi and I got stuck at the logo as well. I also tried another device from the msm8916 repository and got stuck at the logo.
The "stock" gt58wifi build, as we all know, has problems with audio, bluetooth, smart cover, etc, etc in all versions 14.1, 15.0, 16.0 and won't even boot with 17.1.
When I first compiled it, it would fail due an error with a config.xml file. I submitted a patch, like others, but haven't seen anything yet.
https://github.com/Galaxy-MSM8916/android_device_samsung_gt58wifi/pulls
nubianprince said:
That crdroid ten branch still need a lot of work, the last build I did when I was working on it was not getting past the logo
Click to expand...
Click to collapse
I'm working on SM-T560NU 17.1. It too was stuck at the boot logo. I built an eng build and found it was the hardware vibrator that was getting stuck in a loop. If you remove the vibrator hal from
/device/samsung/msm8916-common/manifest.xml
that should work on the SM-T350 because both platforms share the same msm8916 code?
I did build SM-T350 with 17.1 and was stuck at boot logo and gave up. However, I have not rebuilt it knowing this new information. I will try again with the above change in a few days?
So, as retiredtab has said, he got android 10 booting. But it has all the issues android 9 did: no camera, sound, Bluetooth, or Hal sensor (sort of, it can turn the device on but not off). The system ui is also a little funny on crdroid, not sure about lineage. I don't know how to fix these issues, or where the roots of the problems may lay. Do you have any suggestions for learning more about the android source code? I feel like the aosp docs are good, but you kind of have to know what you're looking for.
I think part of the problem with the SM-T350 is that there has never been a fully working build since day 1. Lineageos 14 had problems to begin with and they were never fixed and got carried over to 15, 16 and now 17. If stock Lineageos 16 was fully working, then getting it to work on 17 would be less of a challenge.
The most likely problem to no audio, camera, bluetooth etc is the Samsung proprietary blobs are not in the correct directories or the configuration blob files are pointing to the wrong directory.
When I face this problem, I find it helpful to look at a working roomservice.xml file and do comparisons.
If there is no working roomservice.xml like "stock" lineageos 14, 15, and 16 for the SM-T350, then I look at similar models. For example, the T550 is the bigger brother and it helps to look through it's roomservice.xml file for hints.
Remember that a compiler mainly checks for syntax errors, not semantic. If you make a typo, a compiler will flag that as an error, but if you write correct syntax, but put a file or files in directory ABC instead of XYZ, the compiler won't say anything.
Another thing that might help is doing a logcat of a working build and comparing it to a non working build. There might be a very obvious error message like "can't find audio.hw.msm8916 in directory /device/samsung/msm8916" or something like that.
Learning how to use tools like meld and diff help tremendously in finding file and directory differences in case you put the blobs in the wrong place. See
https://www.tecmint.com/compare-find-difference-between-two-directories-in-linux/
I used meld when troubleshooting the stuck at boot logo.
If you are a visual learner, I found the following youtube channel helping in learning the overall process of building ROMs.
https://www.youtube.com/c/AlaskaLinuxUserAKLU/videos
I think we have lineage 16 fully working. I think the part I'm having trouble with here is the difference between where the files are read from in Android Q vs P.
If I understood what you said incorrectly, please say so.