Here's the information you need to know if you're taking part in ESC Boston's Android Certificate Program available to All Access Pass holders. Specifically, this information regards my part of the Monday "Android Jumpstart" and, most importantly, the Thursday "Embedded Android Workshop" with the BeagleBoards.

Advance Preparation and Help Kiosk

It's important to note that a kiosk will be available starting Monday to help you prepare your laptop for the Thursday "Embedded Android" workshop. While you don't technically have to do anything to prepare for the Monday "Android Jumpstart", you will definitely need to do a few things in order to prepare for Thursday. Obviously the earlier you prepare the better, hence this blog post. If you do not carry out these steps before the conference, make sure you do so as early as possible at the ESC so we can help you out if you run into any issues. The kiosk will also have copies of the software to download on USB sticks should your download link be too slow. Also, please read ESC's Computer Requirements for the Thursday session.

Preparing for Both Sessions

First, make sure you have VirtualBox installed, it's free. Then download the image I've prepared for both sessions: oea-110714.vdi.bz2. It's 2.8GB in size and once uncompressed will weigh in at around 7.8GB. It's in fact a 30GB auto-expand VirtualBox image (i.e. it'll only grow as is required, up to 30GB, but won't shrink.)

Once, you've extracted the image, start VirtualBox and click on "New". Follow the wizard and make sure you select the following:

  • The OS type is Linux->Ubuntu (NOT 64-bit)
  • Give it 1GB of RAM
  • When asked for "Virtual Hard Disk", point it to oea-110714.vdi

Once the VM is created, click on "Settings" and give it 2 CPUs if possible (highly recommended.) There's only one user on it, "Opersys", and its password is "opersys" - all lowercase.

Preparing for the Monday "Android Jumpstart"

First and foremost, note that you don't need to do any of the steps in this section. The talk is formatted for you to benefit from it whether you follow any of these steps or not. While it'll likely be hard for you to follow any of what I do in "real-time", having the following setup prepared will allow you to: a) have some context when you get to the session, and b) be able to replicate what I did after the fact using an almost identical setting. If this interests you, it's highly recommended that you build Android ahead of time as the first run is usually quite lengthy. To do so, start the VM and log in.

Once you've logged in, start a shell and type the following ("$" sign is for context, you don't need to type it in):

$ cd android/aosp-2.3.4
$ . build/
[note: there's a space between the "." and "build/". Type as-is.]
$ lunch
[This will ask a question, just press enter until you get the "$" prompt again.]
$ make -j4
[The "4" assumes 2 CPUs. If you only gave it one, then put "2" instead.] 

This will run for a while; possibly a few hours, the shorter the better -- ideally less than an hour. Do NOT close that terminal. Wait for it to be done (i.e. once done it gives you a "$" again and doesn't spill out any errors right before that ... ; if all goes well just towards the end of the output you should see it mention that it's generating "system.img".)

Once done, from that same shell, type:

$ emulator &

This should start an Android emulator and if you give it a few minutes you'll see the Android desktop and will be able to click around.

If, for whatever reason, you close the terminal and want to go back to the emulator, you'll need to re-set some environment variables (notice that you don't need to type "make"):

$ cd android/aosp-2.3.4
$ . build/
$ lunch
$ emulator &

All of it should work just fine, so long as you follow those steps as-is.

Preparing for the Thursday "Embedded Android Workshop"

While preparing for the Monday session is optional, preparing for Thursday isn't. I will provide you with the specific instructions for Thursday at the end of my Monday talk. However, I strongly encourage you to download the following components in advance to the VM you will have set up above: