STATE OF THE UM, STATE OF THINGS
So I was curious how many noob types, who always beg for nightlies and builds and stuff-- I wondered if they (you?) could be encouraged to learn and get involved in the process of building Android. Which, as I've expressed in an infamous ramble
, I think is important to the future of our culture and how it it deals with technology-- and who will control it. So I asked normal non-dev people to try building-- to give it a shot
I think the experiment, which quickly became OUR experiment, has been a massive success. Far beyond what I'd imagined. Hundreds of people have gotten off their asses-- many of whom had clearly never touched Linux or a compiler before, and most were successful in building CM9/ICS from scratch.
That is not a small deal. And no, it's not just following a list of instructions by rote. People had to think about and solve a million different problems-- installing VMs, updating packages, choosing linux distributions, understanding the command line, etc. Scary stuff if you've never done any of these things before.
So it's been a month or so now, and I think we've reached the stage where aside from minor enhancements and fixes, the build looks pretty sweet. The major stuff is there and working. Yeah, DSP/hardware-accelerated video is something we're going to have to wait for TI to add to their omap3 repositories, and there are likely other things wrong. I've heard rumors of sleep-of-deaths or quicker-than-usual battery consumption, etc. There are numerous things to be fixed, but these are all issues that may or may not be worked out over time... As major new enhancements come to the CyanogenMod project, they will come to the encore version, and your build, automatically.
No secret links this time. As before, I'll spell out the bottom line explicitly for ya here in the middle somewhere. And I'll even underline it.
I hereby decree, in so far I am able, my humble request for "no posted builds".... is ended.
Back to your regularly scheduled forum. Go to it.
I encourage you to pass any valuable improvements you make to the code "upstream" via the gerrit review system at review.cyanogenmod.com
for inclusion in the main CM project. You already know how it works. And some, God love ya, have already started. Not everything you submit will get accepted, but it's a good way to "pay it forward". And in the same vein, consider helping someone on IRC. Or be a big brother or big sister. Or donate blood. And to quote Steven Soderbergh, or whomever, you don't have to brush ALL your teeth, just the ones you want to keep
Thanks as always to dalingrin, keyodi, nemith, verygreen, arcee, deeper-blue, unforgiven512, the gang on irc, and the CM Team generally for keeping this fun. And thank YOU for the lulz, Internet.
Remember, there's NOTHING quite like running your own build, piping-hot, and fresh from the oven.
I am also releasing a first pass at a how-to-build walkthrough. It is available here:
walkthru (rough draft)
This doc will be updated and evolve with your input. It is meant to help people feel confident that they can build an operating system from scratch, and hopefully encourage them to participate, learn, and even make contributions.
If you need assistance, you must rely on each other.
Here is an equally unreliable clockworkmod, v18.104.22.168:
You may be asking, where is the issue queue? There is no issue queue. You are on your own here.
Recent automated builds (unofficial, unsanctioned, untested, uneverything else) from Forum member Samiam303 is here
-----------everything below this line is sorta old and outdated--------------
So there's apparently been some bit of controversy related to my request that people try to build themselves rather than someone posting a pre-made update.zip file. Let me go more into detail about what this experiment is about, at least from my perspective. But first, I do want to thank everyone for respecting the request so far-- I know it's not the traditional way of doing things, but I think it's been very fruitful and personally rewarding to see so many people who have never built jack before take on a project like this and be successful.
I've received an enormous number of messages, both PMs here as well as in IRC, to the effect that this finally got them to try to build for the first time. It's introduced many people to actually using Linux, others may be having their first encounters with the command line, or git, or looking at source code, or learning about the build process in general. Whether or not the majority go on to become "devs" is irrelevant-- what I have been trying to encourage is curiosity and experimentation, and most of all a deeper understanding that your phones and "ereaders" are in fact full-fledged computers, not "appliances" or limited-purpose devices that others get to control. It's your property, and it can do a lot. There is an effort underway to discourage people from thinking of their devices this way or discouraging them from experimenting and learning with them. This IMO is an extremely harmful practice-- take a look at Cory Doctorow's recent speech
on this subject. I could go on and on, but it seems important enough to me to make this request, and hopefully some of you are even subconsciously appreciating the awesomeness of what potential these general-purpose gadgets will have on society. So that's a lot of philosophizing, but there you go. And while I'm not naive enough to think that plenty of people aren't trading the file "under the table" at it were, for a variety of reasons, I do think that in a way they're cheating themselves; those who give building a shot are finding that learning is a reward unto itself. Those who are persistent, who pay attention, who don't give up, not only get a build at the end, plus the experience of doing it, plus the knowledge they picked up along the way-- they also discover things in the most unexpected of places, as in the link in the period at the end of the third sentence in this post. And while there's been some discussion of what a "dev" is and whether or not this is a gateway to bigger and better things, all I can assume is that if 5-10% of the people who built are intrigued enough to take it a step further, and maybe a step further than that... then we might end up with some new devs who appreciate the value of open source and whose contributions we can look forward to with eagerness in the future. Plus-- it's more fun this way.
I do hope this sounds good to everyone. If you understand what this post is about- no need for long, drawn-out elaborate responses... a simple "I got it" will do.
More source is forthcoming... Thanks to dalingrin, arcee, keyodi, nemith, Scepterr, unforgiven512, etc. Oh, and shh.
(note this URL is likely to change)
Note: You are advised NOT to try to install this. This update.zip will **overwrite** as in erase whatever data you have on your emmc, so if you are trying this, you are advised to back it up first so you can recover. Install entirely at your own risk, and do a factory wipe first. This software is likely to be terrible and cause problems including permanent data loss, hair loss, and/or the destruction of your property and the death of your pets. You assume all risks involved in your use-- or even attempted use-- of this file. I disclaim any and all responsibility for your decision to try it.
*** Really. This build is buggy. It is a work-in-progress. It is only a snapshot of where things stand right now, and it's possible it'll never go further. ***
here's what's working:
* bluetooth (pairing/file transfer only confirmed)
* wifi (full it seems but it's brand-new to the kernel so who knows how stable anything is)
* improved stability (but not perfect)
* real data usage info (not stubbed out)
* battery levels/charging
* physical menu button
* 3d games
* usb gadget in kernel (ie, mounting your sdcard to your computer)
* build system (to auto-create update.zips)
(note: for all the above features, you must build yourself! See below for rationale & more)
For sure not working yet:
* full 2d acceleration (esp on complex web pages)
* and much much more
These things may/may not be added at some point in the future. You should have no expectations that they will. Anyone who asks for an ETA for something or other gets collectively stoned by the crowd.
I'm sometimes on #nookcolor in freenode.
Thanks to keyodi, unforgiven512, arcee, toastfch, d0nk`, dalingrin, nemith, the rest of the cm team/TD, and anyone else who I've forgotten. We stand on the shoulders of giants.
Again, don't install this. And please don't "rom" this (as in change the font or background) and then ask for donations for your "hard work". This is a preview of a work in progress, not a final product, and it's not meant for people to use day-to-day. Don't be a dick. Thanks.
About screen, wifi scanning, & bluetooth....