Related
Can anyone provide me some reference or guide on how to compile the ROM for tf101 from Paulburton's ICS source.
rajkumard said:
Can anyone provide me some reference or guide on how to compile the ROM for tf101 from Paulburton's ICS source.
Click to expand...
Click to collapse
Check his website for repo information. Beyond that, its no different than compiling any rom from source.
You should know that you probably will not get anything different than what he has released thus far, that is, unless you have coded your own changes.
Thanks, I will check the link. I believe he has few bug fixes which I need, that's the reason why I wanted to compile it.
rajkumard said:
Thanks, I will check the link. I believe he has few bug fixes which I need, that's the reason why I wanted to compile it.
Click to expand...
Click to collapse
Understood. I do know that Paul is neck deep with finals, and other school stuff, so there is no harm in running a compile yourself. I just wanted to make sure you knew what to expect. His repo sync is a tad different from other instructions, i.e. CyanogenMod...but once you get it all pulled down, its essentially the same steps for the compile portion.
Actually I am new to this. All these days I have been only using the ROM's and never tried to compile one. This is my first time and I appreciate your help. The link really helper, I have started syncing the repo, looks like it's going to be a while. I will post if I run into any issues.
rajkumard said:
Actually I am new to this. All these days I have been only using the ROM's and never tried to compile one. This is my first time and I appreciate your help. The link really helper, I have started syncing the repo, looks like it's going to be a while. I will post if I run into any issues.
Click to expand...
Click to collapse
I will tell you this...use ccache, its a huge time saver when you need to rebuild after making changes. Also...dedicated build system really is recommended, and without question, the more juice its got, the better.
Here are a couple of links...including a kernel specific one from CyanogenMod's wiki. I use both when I am bored and just want to compile something
Yet Another Tutorial on Building Android from Sources
Building Kernel from Source
Compiling ICS from Source
Hope these help!
http://source.android.com/source/initializing.html
http://wiki.cyanogenmod.com/wiki/Building_from_source
You will probably need these... be sure to cross reference the CM website against the google one. There are a few differences.
Thank you for the links. I got a spare machine and am thinking it is about time I did something productive with it.
Thanks for all the links, I was using one of the links that you have provided. It had the with step by step instruction. I followed it, most of the things went fine and some issues I was able to resolve. Now when try to build the rom using the make command I get the following error. I am doing the sync again to see if it resolves. I will try it out tomorrow. Meanwhile if any of you have any suggestions please let me know. btw I have tried the solution provided in one of the xda thread (repo sync -f) already and it did not resolve.
ERROR:
cts/apps/CtsVerifier/lib/colorchecker/Android.mk:22: external/stlport/libstlport.mk: No such file or directory
make: *** No rule to make target `external/stlport/libstlport.mk'. Stop.
rajkumard said:
Thanks for all the links, I was using one of the links that you have provided. It had the with step by step instruction. I followed it, most of the things went fine and some issues I was able to resolve. Now when try to build the rom using the make command I get the following error. I am doing the sync again to see if it resolves. I will try it out tomorrow. Meanwhile if any of you have any suggestions please let me know. btw I have tried the solution provided in one of the xda thread (repo sync -f) already and it did not resolve.
ERROR:
cts/apps/CtsVerifier/lib/colorchecker/Android.mk:22: external/stlport/libstlport.mk: No such file or directory
make: *** No rule to make target `external/stlport/libstlport.mk'. Stop.
Click to expand...
Click to collapse
The obvious question would be does the folder/file exist?
Code:
$ ls external/stlport/libstlport.mk
external/stlport/libstlport.mk
If it is...type 'env' at your command prompt and see what environment variables are set to see if the external folder should be seen.
Re-run 'source ./build/envsetup.sh', then 'lunch' and choose the tf101-userdebug (or what ever Paul uses now) option listed after running lunch.
See if that helps.
I'm repo sync'ing now- gosh, it takes longer to sync than it does to build. I still have to clone the kernel. I think it's been downloading for 2 hours!
I've actually never flashed this ROM, but that won't stop me from building it
Thanks gVibeR. The external folder exist but the 'stlport' folder does not exist. And I also did not see any option with 'tf101' in it when I run 'lunch'. I tried re-syncing the repo but i ran into out of space error. I did not know where to delete all the earlier repo downloads. This was a brand new Ubuntu installed with 25gig disk space. I will keep looking and let know if I had any luck.
rajkumard said:
Thanks gVibeR. The external folder exist but the 'stlport' folder does not exist. And I also did not see any option with 'tf101' in it when I run 'lunch'. I tried re-syncing the repo but i ran into out of space error. I did not know where to delete all the earlier repo downloads. This was a brand new Ubuntu installed with 25gig disk space. I will keep looking and let know if I had any luck.
Click to expand...
Click to collapse
I think you'll need more space than that - once you start building, the directory will swell to over 20gb. For comparison, andromadus(ICS) for the vision is 21g and CM7 (GB) is 18gb.
I'm still downloading, but spark source is at least 11gb and that doesn't include the kernel or the out directory, which will fill up after building.
I think you will need at least 25gb for the build plus whatever for ubuntu. If you are hard up for space, you can install one of the server versions of ubuntu, which doesn't include the GUI (~1.5gb).
The repo files are stored in .repo, which will be hidden. Use ls -a to see it, although I think it manages and discards old commits.
Thanks gee one, I have more than enough space, just thought 25gig should be fine. I will install Ubuntu again with more space and give it a try. Let me know how it goes for you, please post if you got any issues and resolved it.
11-5-13 -- See here for the start of the CM 11.0 (based on Android 4.4 KitKat) discussion.
7-27-13 --- See here for my build instructions for CyanogenMod 10.2 (based on AOSP 4.3)...
Hey all,
So I've ported my "Build CyanogenMod" instructions (Nook Color, Nook Tablet, and HP Touchpad) to the Nexus 7.
The doc basically covers unlocking the N7, getting the build environment ready, downloading source, building, installing, and updating the source. The walkthrough is for Linux, but you should be able to do it via a virtual machine running on OS X and Windows such as Virtualbox (free).
The idea is that building Android from scratch should be possible for almost anyone to learn. So this guide walks you through it.
If you're running into difficulties, this thread is a place to exchange info, tips, questions, etc.
It's also a good place to proclaim loud and clear to the world...
"I'm running an OS I built myself from source!"
Thanks to eyeballer for reviewing.
CyberCitizen said:
Sorry for my ignorance, but besides bragging rights, what is the whole point of self compiling stock cm10 for your device?
Click to expand...
Click to collapse
Off the top of my head...
You never, ever have to wait for a nightly
You can add or remove as-yet uncommitted features with ease.
You learn how Android works under the hood
You learn how to use Linux
You'll learn how to use git
You may, even accidentally, pick up a little C, Java, C++, and learn about the build system.
You can personalize Android-- make your own tweaks, replace kernels, modules, graphics, add or remove projects, overclock, underclock etc. In other words, you have control over every aspect of your device's functionality. Your build is custom to you.
You can audit the code for potential security issues such as back doors or trojans (as opposed to just trusting a random person who posts a build). Since CM10 source is open, you can examine every commit, and there are many eyes looking at the code. (does not apply to proprietary blobs, but these are pulled from your device, so you have and are using them already)
You can contribute features/fixes back upstream
You can start ports to other as-yet-unsupported devices (start by copying folders from similar devices to devices/manufacturer/model)
You come to really understand that Android phones and tablets are full-fledged general-purpose computers just like laptops and desktops.
AAAAND....you get huge bragging rights
The extent to which you delve into the above is entirely up to you. The walkthrough is just an introduction to that world. If N7 is anything like the NookColor/NookTablet/TouchPad, some people will build once and never do it again... but others will start to tinker and make changes to their own build and want to share them with others, and soon some will start making contributions back to official CM10 upstream... or port to new devices... and by fixing bugs and all this... everyone benefits.
Plus...
It's fun.
ALSO: Here are some little bits that resulted from this thread:
Dealing with build errors
What's where in the CyanogenMod source folder
A little about make clean and make clobber
Update: A lot of the above info, as well as much more original articles, can now be found on the CyanogenMod wiki. So check there, especially the dev center.
That's it! Happy building!
How to Build CM10.1 Instructions for the Nexus 7 (CM Wiki version)
Addendum for CyanogenMod 10.2
Highly recommend fattires walkthrough. I was a total noob when I had the nook color and he initially made a build from source guide but now I know the basics and can make personal builds for my nexus 7 and epic 4g touch
Sent from my Nexus 7 using Tapatalk 2
Totally forgot I reserved this spot lol. Anyways great guide fattire. For those of u that want to learn how to build from source whether its cm, aokp, bamf, aosp or whatever u want to build this guide is a great start. While this guide is strictly for CM it will give u an understanding of the steps of building from source. Great work again fattire.
Highly highly highly recommend for anyone that loves to flash ROMs, but never built one before. fattire is one of several who have done absolute wonders for the Nook Color community. Not just developing for the device, but pulling people together to get this stuff running. :good:
I am one of the obsessives who almost didn't buy this machine when I saw they yanked the sdcard. But when fat-tire said he was getting one, I immediately went to the Play store.
His walk-thru for encore ICS was how I first learned to build. I have been building CM10 for my grouper for several weeks, although the repo sync was incomplete. I ended up having to write m own cm.mk files as well as several other weird little changes in order to make it boot. Glad those changes are finally checked I, I am going to delete my home-baked files so I can get any changes from upstream.
I have an issue I am hoping you can shed some light one, fat-tire. Inconsistencies in the ContentResolver file between my builds and those in Official Cyanogen night lies. I haven't seen any commits that change those files.
I have asked eyeballer about it, but he isn't sure either. I am building a clobber right now, but if I still have the issue, I will post particulars.
I am real glad to see you here...it has been a pretty wild and wooly forum thus far...
Whoa. How come this thread got moved from Nexus 7 Android Development to Nexus 7 General? I can't think of anything more Develop-y than building Android.
In any event- thanks all for the kind words. Mateorod, not sure from your description what issue you're having. I'll def. need more specifics.
Glad you got the N7? I am-- I use it for hours daily...
mateorod said:
I am one of the obsessives who almost didn't buy this machine when I saw they yanked the sdcard. But when fat-tire said he was getting one, I immediately went to the Play store.
His walk-thru for encore ICS was how I first learned to build. I have been building CM10 for my grouper for several weeks, although the repo sync was incomplete. I ended up having to write m own cm.mk files as well as several other weird little changes in order to make it boot. Glad those changes are finally checked I, I am going to delete my home-baked files so I can get any changes from upstream.
I have an issue I am hoping you can shed some light one, fat-tire. Inconsistencies in the ContentResolver file between my builds and those in Official Cyanogen night lies. I haven't seen any commits that change those files.
I have asked eyeballer about it, but he isn't sure either. I am building a clobber right now, but if I still have the issue, I will post particulars.
I am real glad to see you here...it has been a pretty wild and wooly forum thus far...
Click to expand...
Click to collapse
Hey, n00b builder here. First off big thanks for posting the guide I'm afraid I'm having a problem though. Once I've sync'd the cyanogenmod repo I don't seem to have "asus/grouper" in my device folder. Any idea what I could've done wrong?
Try this...
h00py said:
Hey, n00b builder here. First off big thanks for posting the guide I'm afraid I'm having a problem though. Once I've sync'd the cyanogenmod repo I don't seem to have "asus/grouper" in my device folder. Any idea what I could've done wrong?
Click to expand...
Click to collapse
Did you try the "lunch grouper" command? (you have to do . build/envsetup.sh first as described in the documents)
If this command doesn't work, you may need to add these directories to the repository manifest (a list of all the different projects that make up CM10). To add it to the list, try creating a file called local_manifest.xml in the .repo directory (it is a hidden directory as it starts with a period) and put this in the file:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="git://github.com/" name="gh" review="review.cyanogenmod.com" />
<project name="CyanogenMod/android_kernel_asus_grouper" path="kernel/asus/grouper" remote="github" revision="jellybean" />
<project name="CyanogenMod/android_device_asus_grouper" path="device/asus/grouper" remote="github" revision="jellybean" />
</manifest>
Alternately, you can do it this way from your root (~/android/system or wherever you put the source)
Code:
curl https://raw.github.com/gist/dcef0eadc4c8d31ae46d/d27a0cc718607b1a6e4958f9d0e57887b2eb4eb3/gistfile1.xml > .repo/local_manifest.xml
This local_manifest.xml file will add the needed grouper repos to the manifest. So then just repo sync again and see if they show up. If so, let me know and I'll add it to the instructions.
Update: I added it to the instructions. Let me know if it works. At some point these will be added to the official manifest so the local_manifest.xml won't be needed.
Deleted my whole source folder and started again following the updated instructions. Everything worked fine this time. It's building now and I'll report back if/when it finishes.
Thanks again for the help
h00py said:
Deleted my whole source folder and started again following the updated instructions. Everything worked fine this time. It's building now and I'll report back if/when it finishes.
Thanks again for the help
Click to expand...
Click to collapse
Heh np. Thought you didn't need to delete the folder-- the nice thing about repo sync is that it will update everything automatically, even if you change the manifest
As a linux nerd, I thank you.
TWRP2 instead of CWM
So we're back in the Android Development forum.
Update: I hear there's a non-N7-specific permissions issue (the build sets perm 0600 on /tmp) when building TWRP2 in jellybean source. Until this is resolved, consider the below purely informational. In other words, don't try it yet until the code is updated. (Thanks, eyeballer for letting me know)
-----
Here's another quick tip-- if you want to build TWRP2 recovery instead of ClockworkMod recovery for the Nexus 7, add the following two lines to the local_manifest.xml file (where the similar-looking lines are):
<remove-project name="CyanogenMod/android_bootable_recovery" />
<project path="bootable/recovery" name="TeamWin/Team-Win-Recovery-Project" remote="github" revision="master"/>
Assuming I typed that right, when you repo sync, this will replace the cwm source with the twrp source. When you then do your next build, your recovery.img in $OUT will be TWRP2. It can then be flashed with fastboot per the instructions.
Build competed & flashed with no problems. :victory:
/proud
Welcome to the club!
h00py said:
Build competed & flashed with no problems. :victory:
/proud
Click to expand...
Click to collapse
Woo! Congrats! :cyclops:
Now that you have your build going, you can try out some of the experimental commits that are sitting on CyanogenMod's code review site. These are commits with new features and bugfixes that may be experimental but need people to try them and report back if they work or not.
If you're interested in risking everything, first go to review.cyanogenmod.com AKA Gerrett and find a proposed commit that looks interesting. Read any comments or caveats that may apply, and have a look at the code itself to make sure it looks okay. Each proposed commit is part of a specific git project, listed under "Project", that correspond to directories in your source code. For example, CyanogenMod/android_frameworks_base corresponds to the repository in frameworks/base.
To try one, click on the little brown icon halfway down the web page under Downloads, on the right. This will copy the instructions to the left to the copy buffer. Then, cd to the appropriate repository directory in your source code and paste the command. It should download and commit the patch. You can check it by typing "git log" and looking for the commit at the top of the list.
If all went well, you can rebuild and hopefully will see your change in the new build. The next time you repo sync, the commit you made will be lost (unless the proposed commit actually was merged into mainstream), so if you want it again, you'll need to re-download it using the method described above.
That's it! Way to stay bleeding edge!
Hello, I have never built a rom from source before but I will use this guide and try it out. Specially since I want to use linaro.
Do you think you could link me or help me get this working? As far as I understand instead of using g++ or so I woudl use the linaro tools to compile and so. How much different would this be from your instructions?
How can I get linaro?
I'll be researching into this but I hope you can provide an answer.
Rafase282 said:
Hello, I have never built a rom from source before but I will use this guide and try it out. Specially since I want to use linaro.
Do you think you could link me or help me get this working? As far as I understand instead of using g++ or so I woudl use the linaro tools to compile and so. How much different would this be from your instructions?
How can I get linaro?
I'll be researching into this but I hope you can provide an answer.
Click to expand...
Click to collapse
I built linaro optimized cm9 for nookcolor (OMAP3) a few months back (thread starts around here). Some of the linaro optimizations to libc and the frameworks already have been added to the ICS source and I assume the Jellybean source has it already too for CM10 (and they have been adopted upstream by Google I believe as well). I haven't tried to build the grouper kernel using 4.7-- the 2.6.32 kernel and 3.0.8 kernels for NT and NC required a few minor changes-- the grouper kernel may or may not need them... but I know what to do if someone wants to try it.
Before trying linaro stuff, I would focus first on getting the build to work normally. Familiarize yourself with the process, and then investigate linaro. The system is so ridiculously fast IMO... I guess even faster is better, but I don't have any complaints
fattire said:
I built linaro optimized cm9 for nookcolor (OMAP3) a few months back (thread starts around here). Some of the linaro optimizations to libc and the frameworks already have been added to the ICS source and I assume the Jellybean source has it already too for CM10 (and they have been adopted upstream by Google I believe as well). I haven't tried to build the grouper kernel using 4.7-- the 2.6.32 kernel and 3.0.8 kernels for NT and NC required a few minor changes-- the grouper kernel may or may not need them... but I know what to do if someone wants to try it.
Before trying linaro stuff, I would focus first on getting the build to work normally. Familiarize yourself with the process, and then investigate linaro. The system is so ridiculously fast IMO... I guess even faster is better, but I don't have any complaints
Click to expand...
Click to collapse
I'm currently downloading source. It is taking its sweet time. ... nvm it just finished.
But I'm going to try to build and if everything goes well I will check into "cherry picking" and make my own personal custom build. I want to use linaro for the rom and kernel.
---------- Post added at 06:08 AM ---------- Previous post was at 05:10 AM ----------
fattire said:
So we're back in the Android Development forum.
Update: I hear there's a non-N7-specific permissions issue (the build sets perm 0600 on /tmp) when building TWRP2 in jellybean source. Until this is resolved, consider the below purely informational. In other words, don't try it yet until the code is updated. (Thanks, eyeballer for letting me know)
-----
Here's another quick tip-- if you want to build TWRP2 recovery instead of ClockworkMod recovery for the Nexus 7, add the following two lines to the local_manifest.xml file (where the similar-looking lines are):
<remove-project name="CyanogenMod/android_bootable_recovery" />
<project path="bootable/recovery" name="TeamWin/Team-Win-Recovery-Project" remote="github" revision="master"/>
Assuming I typed that right, when you repo sync, this will replace the cwm source with the twrp source. When you then do your next build, your recovery.img in $OUT will be TWRP2. It can then be flashed with fastboot per the instructions.
Click to expand...
Click to collapse
mkdir -p out/target/product/grouper/recovery/root/res/
host C: libz <= external/zlib/zutil.c
cp -fr bootable/recovery/gui/devices/common/res/* out/target/product/grouper/recovery/root/res/
cp -fr bootable/recovery/gui/devices//res/* out/target/product/grouper/recovery/root/res/
cp: cannot stat `bootable/recovery/gui/devices//res/*': No such file or directory
make: *** [out/target/product/grouper/obj/STATIC_LIBRARIES/libgui_intermediates/twrp] Error 1
make: *** Waiting for unfinished jobs....
[email protected]:~/android/system$
yup I should have read the whole post
---------- Post added at 06:30 AM ---------- Previous post was at 06:08 AM ----------
I reverted back but im still having problem building.
fattire said:
Whoa. How come this thread got moved from Nexus 7 Android Development to Nexus 7 General? I can't think of anything more Develop-y than building Android.
In any event- thanks all for the kind words. Mateorod, not sure from your description what issue you're having. I'll def. need more specifics.
Glad you got the N7? I am-- I use it for hours daily...
Click to expand...
Click to collapse
Ha, I lost the thread. They shouldn't play like that.
Yeah, I am glad. I have a project that requires java on-device, and the Nook just couldn't quite make it. But this thing can crunch through it, been though the temp spikes almost 20 degrees in the process!
I don't really want to derail all these first time Android ninjas coming out efforts. I have fund a workaround of sorts. It is just that I port some software to end users by decompiling system apps from patched builds, creating patches and applying them to end-user ROMs. Kind of a way fr people who don't or can't build to have access to certain software.
This process works like a charm on unofficial builds from any source. I pretty much could guarantee successful patching on CM9 night lies. But whenever an official RC or Final would come out, the patches would never work for those builds, while continuing to work for unofficials of the same day as well as the surrounding.
The same thing has just happened for official JB nightlies. We have tried matching the builds commit for commit, the whole thing.
I went into greater depth than I intended. If you know, awesome, if not, I will go start a thread somewhere and take it up there. This thread has a grander purpose.
Thanks!
definitely gonna give this a go on my next day off.
I started over, fresh ubuntu install and everything, I follow the steps and while it is building the computer just shutdown.
I turn it back one and try again and then I get errors.
I'm going to try again redoing the steps to see if that will fix anything.
When getting the blobs from my device I get this.
Pulling /system/vendor/lib/libwvm.so to ../../../vendor/asus/grouper/proprietary
remote object '/system/vendor/lib/libwvm.so' does not exist
Edit: got it from a stock rom I guess this is cause I'm using EOS build.
Okay so with the help of a lot of people and hours of work I have successfully built a kernel for the sg3. I want to take the next step to roms however (I know, big step).
Using the xda-university thread I have setup a repo and am currently pulling the latest 4.3 AOSP source (will let it sit overnight, my internet isn't too amazing and I have HDD not SSD *sadface*)
As far as I understand it so far, I need to find suitable device tree sources to get AOSP sources working on the sg3 (at&t for now). I have been doing a lot of searching and reading, but as usual when you get started, its like a sea of information. If anybody could give me some reading material or direction on taking on this venture, it would be much appreciated. Feel free to be as technical or nontechnical, I will read til I get what you mean.
If this is too nooby for this thread, just move the thread.
Thanks
EDIT: so I did some reading and decided to go with cm's d2 device tree and see if it works. I created a new directory in /root/devices/samsung called android_device_samsung_d2-common
Unfortunately when I use the lunch command, it is not one of the selectable options. I read that I need to edit my .repo/manifest.xml to include it but upon examination I tried adding the following line but it didn't help
Code:
<project path="device/samsung/android_device_samsung_d2-common" name="device/samsung/android_device_samsung_d2-common" groups="device,d2" />
any ideas?
does the device tree have a vendorsetup.sh,, if not thats why it isnt showing up when u type lunch,, dw i am having troubles with aosp too,, first time i have ever tried building aosp and i am stuck at camerawapper comoing up woth a few errors,, dont know anything about coding so ill have to look around,
also with the folder name take off the android_device etc, and leave it as d2-common
---------- Post added at 10:31 PM ---------- Previous post was at 10:28 PM ----------
also with the folder name take off the android_device etc, and leave it as d2-common
its actually not that hard to build from source, but it does take alot of time and hair pulling (lol jk ) just repo sync from source. then make sure you have d2-common, d2(device), msm8960-common, and qcom-common under device/samsung (just pull these from CM github) then build
(warning: english is not my native language! My grammar my cause damage to your brain.)
Hello, everyone! After a long time hammering my head against the keyboard, plus 5 hours of waiting I finally successed at building my first ROM for the old lg_p500 my dad gave me after buying his new phone. I used the device from lgics at github repo cm_lge_p500 jellybean. As I came to know, android 4.x.x + got alot bigger. and the brunch command exit with error because it exceded the max size and deleted the system.img file (the /system folder unziped is about 233Mb). I know shinobisoft made a tool to help trimming the ROM, and that is my next step
The questions are: 1) where do I change the size limit for the image. 2) do I have to build it all over again? is it going to be faster the second time? (I still have the files at ~/out) 3) what is the best way to get the system.img and the zipped ROM back?
PS: By the way, it appears that there is a small mistake (or not, how am I to say) in de README sugestion for the local_manifest.xml
https://github.com/lgics/cm_device_lge_p500/blob/jellybean/README"]https://github.com/lgics/cm_device_lge_p500/blob/jellybean/README
The common device repo is "android_device_lge_msm7x27-common". There is no "cm_device_lge_msm7x27-common" repository at lgics. (Some one as dense as me could lose a lot of time until he understands how git works :silly
People who are using LG P500 must search about optimus one 's cm12 update .
This is a general thread to discuss the issues.
News:
CyanogenMod announces official CM12 Nightlies!
http://phandroid.com/2015/01/05/cyan...m12-nightlies/
Do not even expect P500 on the list!
CyanogenMod 12 nightlies now available for 31 devices, based on Android 5.0.1 Lollipop (LRX22C). LG Optimus One is out of the list to be sure
http://blog.gsmarena.com/cyanogenmod...-0-1-lollipop/
While in other hand, our devs are working to port experimentally newer version of CM12 (Android 5.0.2 LRX22G) on armv6 obsolete devices, though!
But …
To lg p500 users (you know who you are)
Long, long ago...
A small pet dinosaur was left, abandoned and alone. His keepers, it seemed, had more interest in newer, more capable pets. But he eventually met with other dinosaurs, also abandoned, and a man named hephappy...
STATUS: NOT BOOTING
JENKINS SHUT DOWN
NO DOWNLOADS
The purpose of this thread is two-fold, I think. It is meant to be a venue for androidarmv6 (team) ,as most of their development is done off- site. It is also meant to be a place for hard core dinosaur lovers to test this work, and add to it as development proceeds. As androidarmv6 has brought us, the p500 community, through to working CM- 11, now we will start a new chapter, namely CM- 12. At the time of this posting, there have been several successful builds for the p500. But none are successfully booting, as yet.
I can't stress enough that most of this work is experimental, as the newer source code is being adapted to work on these devices. So unless you are okay with a possibly bricked (unusable) phone, don't flash any of these ROMs. Also, I do not have any responsibility or liability in the case that you should damage your phone by flashing any of this firmware. Also, your warranty will be voided. And I do not represent, and am not affiliated with androidarmv6. That said... YOU HAVE BEEN WARNED.
Website:
http://androidarmv6.github.io/
Source code:
https://github.com/androidarmv6
You can watch development as it progresses, or you can sign in and participate here:
http://review.androidarmv6.org/#/q/status:merged
STATUS: NOT BOOTING
JENKINS SHUT DOWN
NO DOWNLOADS
Count me in. Trying to download enough to build. Never succeeded in the past.
Two issues here:
1. It will not fit. Newer file system places much on system that was before on data. It will never boot this way. Alternatives are to symlink away /system/app -- might it fit on the largely unused 64m cache or use sdcard sdext? Or reboard all of internal storage to system, data to sdext? First can be tried manually before attempting boot, I suppose.
2. ART compilation for ArmV6. After successful build, cannot even try it without solving 1.!
A third issue is reboarding already done, exchange previous data and system. Never was a good or sensible idea!, and TLS. To be able to play with this, I need to be able to get my phone back after failure or other errors that render the new ROM less than useful. Recovery versions no longer compatible. Solution might be to put things back as previous before building. I presently use CW that flashes 4.4.4 Omni from Rashed (never had luck with CM11). Have never tried TW but open to it if it gives be needed options and working backups.
Right now, cm12 sync is running much better than any I tried previously. Who knows? I would prefer to go to cm13 or omni versions, however.
Update: Repo sync has taken most of a day (on 100 meg connection?). Seems to hang up at:
Fetching projects: 99% (505/510) Fetching project platform/external/libseccomp-helper
When I hit enter at this point, asks for a github password. I have an account but had not logged onto that account so have no password to give it. Entering nothing will yield:
Password for 'https://github.com':
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/cyngn/android_vendor_cyngn/'
It will the ask for a fuller login, but
Username for 'https://github.com': ....
Password for 'https://... @github.com':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/cyngn/android_vendor_cyngn/'
error: Cannot fetch cyngn/android_vendor_cyngn
error: Exited sync due to fetch errors
Obviously not looking for my github. My build folder is left empty, all the stuff, I suppose in .repo.
So, what next.
Dovidhalevi said:
Update: Repo sync has taken most of a day (on 100 meg connection?). Seems to hang up at:
Fetching projects: 99% (505/510) Fetching project platform/external/libseccomp-helper
When I hit enter at this point, asks for a github password. I have an account but had not logged onto that account so have no password to give it. Entering nothing will yield:
Password for 'https://github.com':
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/cyngn/android_vendor_cyngn/'
It will the ask for a fuller login, but
Username for 'https://github.com': ....
Password for 'https://... @github.com':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/cyngn/android_vendor_cyngn/'
error: Cannot fetch cyngn/android_vendor_cyngn
error: Exited sync due to fetch errors
Obviously not looking for my github. My build folder is left empty, all the stuff, I suppose in .repo.
So, what next.
Click to expand...
Click to collapse
Yep, everything is stuck in .repo limbo until it's satisfied.
The quick and dirty fix is to comment out the line with platform/external/libseccomp-helper
<!-- look I'm an XML comment -->
Or you can look here for repo tips
The big issue, as you said, is art.
you can totally run from a good sdcard.
Nobody got art to compile code properly. I tried patching it too, but I'm not as savvy with modern assembly as the androidarmv6 team was.
It did boot(loop) trying to dex system files over and over. Sometimes it'd even get through several of them before crashing and restarting art.
If you want to use adb to watch what's going on (or not going on) build -eng instead of -userdebug or it'll want authorization after the boot that never completed.
Best of luck!
Oh, and since twrp-multi has the reversed /system and userdata partitions, it won't flash other Roms than post-TLS Androidarmv6 based ones correctly, but it will back up and restore anything else. The backups will just have wrong names for system and data.
If you're really needing it, I can maybe pull out my p500 and PC and build a new twrp without the partition reversal and TLS (which, if I remember correctly, breaks older update-binary? Some annoyance happens from it.)
So I got as far as: CyanogenMod/android_packages_apps_Dialer, on same "server," password. Can likely live without seccomp but I guess I do need the dialer. Try commenting anyway, see what happens.
Dovidhalevi said:
So I got as far as: CyanogenMod/android_packages_apps_Dialer, on same "server," password. Can likely live without seccomp but I guess I do need the dialer. Try commenting anyway, see what happens.
Click to expand...
Click to collapse
You might check out github.com/OS2SD @HardLight did nice work getting it up to date for cm-11
Change the .repo/manifest.xml so the default branch is cm-12.0 instead of cm-11 and that should get you most of the correct, updated projects.
You may have to tweak at the revision (branch) on a couple projects if cm-12.0 doesn't exist or is to out of date.
bigsupersquid said:
You might check out github.com/OS2SD @HardLight did nice work getting it up to date for cm-11
Change the .repo/manifest.xml so the default branch is cm-12.0 instead of cm-11 and that should get you most of the correct, updated projects.
You may have to tweak at the revision (branch) on a couple projects if cm-12.0 doesn't exist or is to out of date.
Click to expand...
Click to collapse
I did the init to cm-12 and that is what I have. No cm-11 anywhere.
There are too many things, at the 99% point of the sync, and it hangs up. I keep commenting lines but this is not the way to go. These things are not retrieved in order of their xml tags so this is problematic.
Is there an omni-6 github that I could combine with device files for our dinosaur?
Dovidhalevi said:
I did the init to cm-12 and that is what I have. No cm-11 anywhere.
There are too many things, at the 99% point of the sync, and it hangs up. I keep commenting lines but this is not the way to go. These things are not retrieved in order of their xml tags so this is problematic.
Is there an omni-6 github that I could combine with device files for our dinosaur?
Click to expand...
Click to collapse
Not that I'm aware. There is an omni p500 repo for KitKat on one of the aav6 people's GitHub, I forget which.
The problem with the sources you're getting is that they've been unmaintained for years. The os2sd repo has been pulled up to date for cm11.. not 12.. but the cm12 branch should remain in most of the projects. Repo downloads a lot more than you see, including alternate branches and git history.
If you copy the os2sd/android/default.xml to your .repo/manifest.xml and change the revision in it to cm-12.0 it'll not have issues with getting most of the projects, but everything hardlight has updated for cm11 will still be at the point it was abandoned by aav6 in cm12. It'll need lots of git pull and merge to catch it up.
I might be able to help more later when not on break at work.
Also, from experience building and using both lollipop and marshmallow on my new htc, marshmallow is a huge memory hog, and lollipop isn't much better. Even if getting it to run, it'll have to be fairly crippled just to not overload RAM on the old beasties.
Oh, and if the repo sync speed bothers you, bear in mind mine generally take up to five days (!) to make the first sync, then it's reasonably quick after that. My ISP speed tops at 5Mbaud/sec, and averages the same speed as 3g on the p500/v (30-100Kbaud/sec) on a bad day.
@Dovidhalevi
Any luck with syncing the repo?
I have a manifest.xml on my external hard drive that was syncing OK a while ago if you'd like to try it.
bigsupersquid said:
@Dovidhalevi
Any luck with syncing the repo?
I have a manifest.xml on my external hard drive that was syncing OK a while ago if you'd like to try it.
Click to expand...
Click to collapse
No. It ALWAYS fails at the 99% point.
That seccomp is the 505th item sought. fails there. If I comment out its <project> item, then it fails at the 504th item (which it got on the previous attempt!). Comment that, fails on 503, ad nauseum.
I have been using --force-broken to no avail. I did actually have it finish once but it then proceeded to say new repository available and restart. That one failed.
Just did a repo init and repo sync --force-broken. Failed at usual point. Attempted to enter passwords and such. This is what I finally got:
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/cyngn/android_vendor_cyngn/'
error: Cannot fetch cyngn/android_vendor_cyngn
warn: --force-broken, continuing to sync
Fetching projects: 100% (509/509)
error: Exited sync due to fetch errors
So it "took" the force, went to end (509, the seccomp commented). But the same final error message. Leaves by build directory empty so cannot try any of the scripts suggested following the sync.
Dovidhalevi said:
No. It ALWAYS fails at the 99% point.
That seccomp is the 505th item sought. fails there. If I comment out its <project> item, then it fails at the 504th item (which it got on the previous attempt!). Comment that, fails on 503, ad nauseum.
I have been using --force-broken to no avail. I did actually have it finish once but it then proceeded to say new repository available and restart. That one failed.
Just did a repo init and repo sync --force-broken. Failed at usual point. Attempted to enter passwords and such. This is what I finally got:
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/cyngn/android_vendor_cyngn/'
error: Cannot fetch cyngn/android_vendor_cyngn
warn: --force-broken, continuing to sync
Fetching projects: 100% (509/509)
error: Exited sync due to fetch errors
So it "took" the force, went to end (509, the seccomp commented). But the same final error message. Leaves by build directory empty so cannot try any of the scripts suggested following the sync.
Click to expand...
Click to collapse
Dang.
Last time I tried to sync my aav6 cm12 repo it worked.
This time it's all "fatal: Couldn't find remote ref refs/heads/cm-12.0" on project after project.
I'll have to look into it when my PC is assembled... My phone can't do much more android building than repo sync until I get some arm tool chains built.
@Dovidhalevi
you can try this
https://github.com/AndroidArmV6OS2SD/android_roomservice
if you follow those instructions in your current working directory it shouldn't overwrite what you've already downloaded, except for the projects it'll want you to --force-sync
the existing cm projects should maybe update rather than redownload.
it should hopefully sync entirely but my test sync over my old aav6 cm12 hasn't finished yet. it does appear to be working though.
whether it builds in the next test. for now I've just been using my phone (ubuntu chroot) to play with the repo and github to set up an updateable base to work from since there's renewed interest in trying to work on the improbable dream...
Bear in mind none of the androidarmv6 projects have been updated to the most recent cm12, and should be merged with upstream cm. Because of that there will probably be build errors. This is a starting point for now. Plus I'm liable to get distracted with 7.0 since one of the aosp supported devices shares a very similar SoC with my current phone.
I'll help out what I can here though.
Hmmm. I do not remember doing a clone on the first set of "instructions" but the sync appeared to be doing until it failed at 99%
I am not set up for O2SD. Is there a straight version? I also want to be able to keep my present recovery so I can go back.
Dovidhalevi said:
Hmmm. I do not remember doing a clone on the first set of "instructions" but the sync appeared to be doing until it failed at 99%
I am not set up for O2SD. Is there a straight version? I also want to be able to keep my present recovery so I can go back.
Click to expand...
Click to collapse
Well, my sync messed up near the end anyway, with that aggravating username password thing, so needs more work.
It's currently grabbing the old p500 cm12 instead of recent os2sd, but if I recall there still had to be at least part of it on the card to fit the phone and have a chance of running.
If configured right new twrp lets you flash recovery in the GUI so all you'd need is the img file for your current recovery to flip back and forth.
The kernel can be configured to not swap userdata and system, and even disable TLS if needed.
I'll keep working at it and keep you posted.
bigsupersquid said:
Well, my sync messed up near the end anyway, with that aggravating username password thing, so needs more work.
It's currently grabbing the old p500 cm12 instead of recent os2sd, but if I recall there still had to be at least part of it on the card to fit the phone and have a chance of running.
If configured right new twrp lets you flash recovery in the GUI so all you'd need is the img file for your current recovery to flip back and forth.
Click to expand...
Click to collapse
Yeah, TWRP is good for this. I have done it via adb but that assumes a going shell. O2SD is good solution but that is a commitment. The other method of using all of internal storage for system and placing all data on the card is an alternative but that is also a commitment. My attempt at a symlink solution, if that works, does not commit any re-boarding or redoing the sdcard.
BTW, any of this requires adjustment of selinux rules or leave it non-strict.
The kernel can be configured to not swap userdata and system, and even disable TLS if needed.
I'll keep working at it and keep you posted.
Click to expand...
Click to collapse
Would need some instructions on how to do this. All the stuff I am used to in "normal-gnu" linux is buried in the boot img.
Dovidhalevi said:
Yeah, TWRP is good for this. I have done it via adb but that assumes a going shell. O2SD is good solution but that is a commitment. The other method of using all of internal storage for system and placing all data on the card is an alternative but that is also a commitment. My attempt at a symlink solution, if that works, does not commit any re-boarding or redoing the sdcard.
BTW, any of this requires adjustment of selinux rules or leave it non-strict.
The kernel can be configured to not swap userdata and system, and even disable TLS if needed.
I'll keep working at it and keep you posted.
Would need some instructions on how to do this. All the stuff I am used to in "normal-gnu" linux is buried in the boot img.
Click to expand...
Click to collapse
I'll post what commits to revert in the kernel by the weekend... May even build a current kernel for O1 with those legacy settings (no TLS, no system userdata swap) by end of weekend if I find a safe spot to put my PC.