Related
Hiya I am interested in compiling my own version of the android project from the latest sources for Hero but I am having a little bit of trouble, I have been attempting to follow this guide android.modaco.com/index.php?showtopic=301857&view=findpost&p=1179830 but it does not seem to make a lot of sense to me. For instance there is no .repo/local_manifest.xml file only a .repo/manifest.xml file and editing this as outlined gives me an error. Could somebody point me in the direction of a fairly noob friendly guide for this kind of stuff, thanks a lot.
Conb123
P.S Sorry about the dodgy link, newbie restrictions prevented me from formatting it properly
this should be in Q&A Section not development really. But im looking for this too! installed ubuntu using Wubi set up JDK,SDK testsign etc and repo but god knows how to do it all! I only want to port cyanogenROM
follow this: http://source.android.com/download
when you got everything synced you can basically type "make" and watch it compile for a while. i managed to do it with just above zero knowledge about compiling.
if you want the cyanogen sources try it with the according repo. i have zero idea about vendor overlays, as i needed to compile only the recovery (watched two hours of eclair compiling, then was told i need cupcake sources and can compile the recovery only...)
Yes I am aware of how to get sources and how to compile them, I am fairly well versed in linux. But I do not know how I can compile it into a usable rom for hero.
the result of the compiling are image files that can be flashed to the phone: system.img etc. you can extract them using unyaffs.
I ran the make command, but i really have no idea what to do from there. What is the end result of doing the first make command? Im fairly sure that it is not a single .img file you can flash onto your phone. You need to make a kernal if i am correct(anyone know how to do this?)
the result of the compiling is at least a system.img. if you compiled it correctly you can flash that to /system partition. further you need a boot.img, which also contains the kernel. the the rom-cooking howto in dev section how to create one, or just get one from a working rom.
fwiw, the .img files are in out/target/product/generic/ (although there probably is a device specific directory in there if you handled the vendor overlay correctly. <- this is just a guess, i have actually no idea).
Wanna link us to that how to thread? I cant seem to find a complete one with working links.
http://forum.xda-developers.com/showthread.php?t=551711
Hello,
I want to compile Android from source. I want to just build a fully default Gingerbread that would run nice on my phone. I got the Android source, kernel source (kernel-2.6.32-U8800-Froyo) and now I don't know what to do next. I compiled the generic one already (lunch full-eng) and it ran fine on the emulator.
My most important question is, if I make it otapackage and flash it, would it start? If it doesn't, can I recover? What folders/files are essential if I make my own device for example in "device/huawei/u8800"
Also, where can I find a GOOD porting guide? I have found some that are old and not used anymore.
Some links
Start by going through source.android.com for the general basics if you havent already.
Also, even though Google removed the PDK (Platform Developer's Kit) from the site, it has been mirrored on kandroid here: http://www.kandroid.org/online-pdk/guide/index.html
The stuff in the the PDK, although inadequate, is still very important and explains how to create the necessary makefiles to add to the build, configuring for a new market, etc. etc.
Also,
watch these two videos over here. These were very helpful in my ROM development:
http://www.youtube.com/watch?v=1_H4AlQaNa0
http://www.youtube.com/watch?v=rFqELLB1Kk8
Learn to use github. It is helpful for you to keep track of your changes as well as incorporate others works into your own.
http://help.github.com/
Finally, Cyanogenmod repos are your BEST friend. Almost all major AOSP ROM devs owe some sort of thanks to those guys who have done so much. If you want to check out some of the code changes and patches that you want to incorporate look here on their gerrit:
review.cyanogenmod.com
If you want to look at the other changes that are actually in the cyanogenmod builds, best to look at their git repos here:
https://github.com/CyanogenMod
I am still learning right now while I create my ROM but your welcome to PM me if you have any questions
Glad someone helped. Now that ICS is available, I will build that instead. Now, I will follow the kandroid tutorial and add hardware_msm7x30 from cyanogenmod's repos. Then I'll make my own makefiles in the huawei/u8800 and I'll see if that works.
Also, some things I am not still clear. If I am not adding any recovery files, it shouldn't replace it, right? I want to make sure I can recover. However, my phone has a bootloader mode, which should still work, even if other's messed up. And the kernel, if I already have a compiled kernel for android 2.2, should it work for newer versions?
Thanks
Well AOSP as far as I know adds the stock recovery into the build so if you have a stock ROM, then you will lose your recovery (unless you change the source to skip the adding of recovery to otapackage).
Your bootloader should be fine. so you will theoretically be able to re-flash a custom recovery with fastboot as long as your bootloader is unlocked (assuming your phone is already rooted and has a custom rom, then it should be unlocked)
If you are using CM7 as base, then you dont have to worry about it as it is configured to NOT replace the recovery during the building and creating the otapackage.
The kernel should not be compatible as there were significant changes from Froyo and you should not use it. By the way, for now, work on the ROM first. Creating a custom kernel from scratch is hard work and should be left as the last task to do (assuming you know linux kernel development). Just use the stock pre-built kernel that comes with the source.
Also, according to Google:
Starting with IceCreamSandwich, the Android Open-Source Project can't be used from pure source code only, and requires additional hardware-related proprietary libraries to run, specifically for hardware graphics acceleration.
Click to expand...
Click to collapse
This means you need to find the correct hardware drivers first. Where to find that is beyond me. Check CM repos. It would be easy if everyone had a Nexus S/ Galaxy Nexus as the drivers are immediately available on source.android.com. Ah...well....
Personally, I am going to wait a few weeks before dabbling into ICS ROMs. Wait till CM7 comes out with a nightly for my nexus one and then rip the drivers from their ROM and use it for mine
I got ICS source and made the necessary Android.mk, AndroidProducts.mk, BoardConfig.mk and u8800(my device).mk, also vendorsetup.sh . Now, when I am trying to build it doesn't give me an error, more of a suggestion. It says to include "LOCAL_MODULE_TAGS := optional" in the hardware/msm7k/liblights/Android.mk. I added that, and tried again. Got that message again, but with other type /libril/Android.mk
About fastboot, I am not sure if my device has that. It can be turned on with volume up and down + power, but it boots to so called "pink screen". When I mount phone using usb to my pc, I can browse the recovery.img and other related stuff. If I have the otapackage, can I just take the recovery out from there or what should I modify in source? Add something to the makefiles?
Yeah I am pretty sure you should add the LOCAL_MODULE_TAGS to all of the relevant pre-built files. maybe they made the compiler less harsh in ICS when compared to the one for gingerbread. In gingerbread, it outright crashed the compile and asked you to add the tags.
According to Google engineers, here is the reason why they use these tags:
Short answer: lack of time.
The urgent concern was to prevent new modules from using a user tag
(implicitly or explicitly), and we took care of that. We haven't had
time to deal with the existing modules, there are over 1000 of those.
JBQ
Click to expand...
Click to collapse
By the way, I hope you have git setup and the changes you have made are being staged and commited to your repo in github. If you ever make a mistake that hardcore crashes your compile and you dont know what you did, git will be there for you to rollback the changes as well as keep track of everything you have done from commit to commit
As far as I know, CM repos dont have everything complete for a full build of ICS but I could be wrong.
So you are working with AOSP correct?
As for the fastboot every android phone should have a fastboot by default but I believe each phone has a slightly different version. I will post how my fastboot looks like in a bit.
As for the removal of recovery, there should be somewhere in either source, makefiles or argument for the otapackage command that should leave out the recovery when making update.zip. You could just remove the recovery from the update.zip, change the updater-script and repackage it but its not a clean solution and those changes should be done in a uniform manner so you dont repeat this step every time you do a new build.
Where exactly is it, I have yet to know. Still learning much of this myself.
I now completely understand what modes of turning on my phone has... First one is normal, second is recovery, third is update-bootloader(I can access all files with it too) and four being the fastboot. The custom recovery I have on has an issue that it wants to boot to charging mode when I type "adb reboot bootloader". I can get to fastboot with the custom ROM I have on right now though. I think I am safe if I have issues.
I edited msm7k Android.mk to remove libaudio and libgralloc (errors with those), and it compiles to the step where it says it has no rule to make kernel requied by boot.img. I have put into BoardConfig.mk the line TARGET_PREBUILT_KERNEL with my kernel. I don't understand, what's wrong now...
My goal is to simply get it booting up. I'll look into libraries and other later.
-e-
Got the kernel thing sorted out. Copied device.mk from tuna device and edited to fit my device. Also modified full_u8800.mk and made the call to inherit from device.mk. Compiling now and I think I got past that.
-e2-
Got it built successfully. Fastboot won't let it install, because it has no mount points. Added mount points and let's see...
Nice to see you are making progress.
Got it built, but the fastboot is kinda buggy in my device, maybe custom rom issue. I can't make otapackage, it says "no rule to make target otapackage". I have a possible fix, trying that later.
Otherwise, I read its possible to flash system.img from recovery via advanced restore, update.zip package or advanced flash_image, but I don't know. Will post results.
Sent from my u8800
-e-
Tried make otapackage again. It still says "make: *** No rule to make target `otapackage'. Stop.". Maybe some things are still missing, I don't know. adb flash_image command will always post -1 to me, update.zip didn't work, advanced restore is not for this. I have a compiled image and I can't wait to test it, but I can't flash it...
If nothing works I'll revert to stock ROM and try again.
Blefish said:
Got it built, but the fastboot is kinda buggy in my device, maybe custom rom issue. I can't make otapackage, it says "no rule to make target otapackage". I have a possible fix, trying that later.
Otherwise, I read its possible to flash system.img from recovery via advanced restore, update.zip package or advanced flash_image, but I don't know. Will post results.
Sent from my u8800
-e-
Tried make otapackage again. It still says "make: *** No rule to make target `otapackage'. Stop.". Maybe some things are still missing, I don't know. adb flash_image command will always post -1 to me, update.zip didn't work, advanced restore is not for this. I have a compiled image and I can't wait to test it, but I can't flash it...
If nothing works I'll revert to stock ROM and try again.
Click to expand...
Click to collapse
If you successfully compiled, take the boot.img and system.img and package them into a zip and use dsixda's kitchen to make it flashable
Blefish, is it possible for you to share your device/vendor structures somewhere? I just finished setting up a build machine for ICS (using Cyanogenmod's repos in my case), and made a working full-eng image that seems to boot just fine in the emulator, so I'm seemingly all ready to hack around our device's specifics. But I would rather not do duplicate work, so I decided to ask
I'm also grabbing Huawei's new 2.6.35-based package to get the new kernel config, can't wait for them to release the actual sources for the update.
I'll share them on GitHib once I get a working build. I haven't got much time, and I changed to CM9 alpha now (repo branch ics). Since we got a 2.3 update, my first task is to port the latest clockworkmod recovery and then the ICS.
Compiling Android is long task and I'll do it in weekends, but the recovery should be available sometime, it shouldn't be hard to port that.
Oh yeah, look up stockwell's, dzo's and genokolar's github, they have done the device configuration. You can get much help from there. This weekend I'll propably test the build, I got otapackage command working now (it needed some things I can't write on mobile).
Sent from my U8800 using Tapatalk
I think I'm missing cyttsp_fwloader on my phone. If anyone with an sk17i, and possibly 4.0 / cm9/10 could do a;
Code:
find / -name "cyttsp_fwloader"
for me (in terminal emulator, adb or other means), post the result here, and if the file is found; upload it here!
Background
After flashing the wrong rom for my phone my touch screen stopped working. I have tried a bunch of different things to get it back up; numerous different mods/kernels etc; to no avail. For instance, also wiping the touchscreen drivers etc, even wiping the whole system directory .
Anyway, opening the file hw_config.sh I can see a switch case being run, determining my touch screen driver based on my phone model as specified by the file
/sys/devices/platform/spi_qsd.0/spi0.0/appid
Checking it manually with cat; it seems to be correct!
The two last lines calles two different binaries
cyttsp_fwloader (some arguments, one being the path to a .hex file which I believe is the touch screen driver?)
bq275xx_fwloader
Code:
find / -name "bq275xx_fwloader"
results in hit(s) (have some symlinks due to botbrew-basil)
Code:
find / -name "cyttsp_fwloader"
- nothing!
Hence, I'm led to believe that cyttsp_fwloader is missing from my system.
Who wants a cookie!?
I'm not sure how to best get the attention of someone with an rooted sk17i running cm9 or equivalent who can help me.
I think nobody knows the answer Broo....
Sent from Hubble Telescope
I will try it later and let you know
I'm on sk17i, and I've found "bq275xx_fwloader" in /system/bin. This was on jelly bean.
On my MIUI rom, I've found "bq275xx_fwloader", "cyttsp_fwloader" and "cy8ctma300_fwloader". This is on ics.
I will zip these 3 files and you can flash it through cwm. But it's strange, why should the touchscreen drivers be in bin folder, if every rom has them in bin folder?!
You can download the zip here, but you do this on your own risk, maybe it will be completely destroyed. I don't think so, but only that you know it :good:
Many thanks man! The zip makes it easier to get the stuff over, cool. I'm not sure it matters, but I had to chmod +777 the two files to get them runnable on the device. Now, it seems I was also missing another binary, nvloader if memory serves me right.
I'm trying a few different mods, found a one that gave me back these binaries; I can run hw_config.sh fine now, but still no luck getting the touch to work. So, I have to dig somewhere else; judging from this forums and users similar problems this is not really solved.
Thanks for the help though, much appreciated!
ulph said:
Many thanks man! The zip makes it easier to get the stuff over, cool. I'm not sure it matters, but I had to chmod +777 the two files to get them runnable on the device. Now, it seems I was also missing another binary, nvloader if memory serves me right.
I'm trying a few different mods, found a one that gave me back these binaries; I can run hw_config.sh fine now, but still no luck getting the touch to work. So, I have to dig somewhere else; judging from this forums and users similar problems this is not really solved.
Thanks for the help though, much appreciated!
Click to expand...
Click to collapse
Another user reported the touch would work again after flashing an xperia active rom and the rom for your device again. But I can't promise, maybe your device would brick
any progress?
i have tried flashing the active rom and recieved the following error:
24/002/2012 02:02:05 - ERROR - ERR_SEVERITY="MAJOR";ERR_CLASS="SECURITY_CLASS";ERR_STATIC="IMAGE_ADDRESS_RANGE";ERR_DYNAMIC="SIN-block eraseblock mismatch";
I have attached a screenshot of the same as well. If you come up with a guide to replace the touchscreen files via emulator then it would be of immense help. I am pretty sure it is a software problem.
Another thing i noticed when i logged into the service menu>software info
touch firmware version:
"the phone doesnt support firmware version read." <<<<<< aint this fishy? coz the touchscreen aint taking any input i guess :cyclops:
fuel gauge firmware version
0x0507 0x0507 0x0046 MANG 1
Hello guys,
i decided to try building AOSP myself using the guide at: http://developer.sonymobile.com/kno...ld-aosp-lollipop-for-unlocked-xperia-devices/
however when i let it build with
source build/envsetup.sh && lunch
and then select sgp712 (mine is wifi) and then write
make –j 6 (8 core cpu with 2 cores turned off)
it works normally for a while spamming the including ./stuff/stuff and after a minute or two ends with
#### make failed to build some targets (01:53 (mm:ss)) ####(pic attached)
Anyone has any idea what could possibly be wrong or how i would go about fixing it?
nevermind it is supposed to be -j not the long line but the short one and its building now
Ah crap! After having to reinstall the whole system because a crash ruined it i now got this after a hour of building... System folder has some stuff in it but there are no .img files made yet if that helps with what could be to blame.. Any ideas on this one? If i need to tell some info that might help anyone figure out what is making it fail i'll be happy to do that.
I tried to cook the rom on my own too, but I haven't even come up to compilation. So, it's better to ask your question here. http://forum.xda-developers.com/z4-...-xperia-devices-project-t3178610/post65310749
Or on general xda topic devoted to cooking roms. It's interesting, roms by fxp and by Sony code are the same or not?
Also, I advice you to make twrp backup of your system. Thus, you lose nothing and can experiment boldly.
I've been using CM12.1 for couple of months, love it. Found some bugs and waited a few nightlies (few weeks per "nightly") and after that tried to make a bug report.... not accepted, because CM12.1 is not developed anymore. CM13 is not available for Z2, so I tried to build CM13 myself, following the guide found on cyanogenmod site. Sorry, as a new member, can't link that URL here... It fails... I have gone past that point to extract the proprietary "blobs" from my phone (running the mentioned CM12.1) and tried again the breakfast sirius command. I'm unable to paste results here, because being a new member... look the result from pastebin com with /mwBfxHEL behind the URL...
The reason seems obvious, missing that msm8974-common-vendor.mk file. Can't find it on my computer using "locate". Can't find it using google. Don't know how to fix this or get past this... Any help appreciated!
Nobody has build CM13 for Z2???
The issue you are describing likely results from the blob extraction for msm8974-common not operating correcty: Please execute (or re-execute) the extraction scrip in this folder of the device tree as well (should be device/sony/msm8974-common). Could you paste the output after running that script, please?
Diewi said:
The issue you are describing likely results from the blob extraction for msm8974-common not operating correcty: Please execute (or re-execute) the extraction scrip in this folder of the device tree as well (should be device/sony/msm8974-common). Could you paste the output after running that script, please?
Click to expand...
Click to collapse
OK, that advice helped. Tried 'breakfast sirius' again, it went longer, complained about something missing in shinano-common folder. Used your approach again and got past that one too. After that, 'breakfast sirius' succeeded. I tried 'brunch sirius' and it failed. Tried it again, it got longer before failing again... did "while [ $? -ne 0 ]; do !! done" to try building until it succeeds. After quite a while, I stopped it, ran brunch sirius command and copied the output to pastebin.
Take a look at pastebin.com/Qz4hq1aZ
Something about libta.so?
Flexy75 said:
OK, that advice helped. Tried 'breakfast sirius' again, it went longer, complained about something missing in shinano-common folder. Used your approach again and got past that one too. After that, 'breakfast sirius' succeeded. I tried 'brunch sirius' and it failed. Tried it again, it got longer before failing again... did "while [ $? -ne 0 ]; do !! done" to try building until it succeeds. After quite a while, I stopped it, ran brunch sirius command and copied the output to pastebin.
Take a look at pastebin.com/Qz4hq1aZ
Something about libta.so?
Click to expand...
Click to collapse
Should I extract the blobs from a Z2 with OEM firmware? I vaguely remember that TA refers to something to do with DRMs that you lose when you unlock the phone to be able to install other firmwares...
Sorry for the delay.
This is an issue with the vendor files. I think that th extrction scripts are somewhat outdated, or didn't the extraction script didn't find some files. There should be a repo on github which should provide you with the needed files. Another possibility would be to extract and mount the system image of a stock and let the script process these files (there is a cmdline switch for pointing the script to it: please have a look into this script for the according switch).
Hope this helps.
Diewi said:
Sorry for the delay.
This is an issue with the vendor files. I think that th extrction scripts are somewhat outdated, or didn't the extraction script didn't find some files. There should be a repo on github which should provide you with the needed files. Another possibility would be to extract and mount the system image of a stock and let the script process these files (there is a cmdline switch for pointing the script to it: please have a look into this script for the according switch).
Hope this helps.
Click to expand...
Click to collapse
OK, found the repo. Got all the files, got the build to succeed! Thank you very much! Just few more questions... There is not just one zip file in the directory... which one to install? How do I install the zip file the build created? Perhaps via booting to recovery and installing it from there? And how does it behave? Like a upgrade, or a clean install?