musings

It’s odd going through this backup, lots of old photos from way back when, though I have found some photos I had thought I had lost, especially the pics of my partner and myself signing the Melbourne City Council relationship registry.

I’m happy about that.

The things you find

Well right now I’m going through the backup of my what I had presumed to be lost site, and there is all sorts of odd stuff there. It seems that the front page which can be found here¬†doesn’t render properly anymore. Ah the changes over the past few years.

But I’ve found a lot of documentation and things I had thought long lost. Which has made me happy.

DEC Documentation

Well, I managed to find a complete backup of the site I used to have online. And the good news is that I’ve managed to get all of the ancient DEC documentation I’ve got online again.

It can be found here dec94mds

I still want to try and parse all of this into a wiki of sorts, and cross reference it all.

Heat, Wind, Smoke, and Fire

This is an article I wrote after the black saturday fires in 2009. It was published on Eham here

As some of you know, there have been some very big fires over the last few days in the state of Victoria. Which still at this moment are still going.

Now most areas of the USA don’t really get the same sort of wildfires or bushfires as we call them here, except for California.

Anyway last Thursday, we heard that the coming Saturday, would be the worst fire conditions for a generation. So knowing this I called my parents, as they are in one of the dangerous areas and that there was a fire that had been started by lightning the previous week which was nearby.

We talked about our fire safety plan, which was if the fire was near and had the possibility of moving towards their house, the only option was to leave. Here in Victoria Australia, the CFA (Country Fire Authority) gives people two options, get out early, or stay and fight.

We got to my parents on Friday evening, and on Saturday morning, set up the radio gear. Early in the morning I jumped on to an 80 metre net that I join most weekends, to have a chat. I spoke with one of my friends who is very knowledgeable about the forest near us (Bunyip State Park) and I asked him for some advice.

At this time I tuned to one of our local AM stations the ABC 774 (3LO) as during emergencies they start broadcasting information about emergencies, road closures and the like.

I set up my radio to scan through the CFA and DSE radio frequencies, along with my local repeater (VK3REC) and the 2 metre calling frequency.

Also making sure we had all of our batteries charged, and ready to go, as in fire conditions power supply is not a given.

Using the information gathered from the CFA and DSE, and 774. We were able to chart the progress of the fire using google maps.

Combined with the information from the Bureau of Meteorology we were able to see which way the wind was moving and the prevailing weather conditions.

As the day moved on, the fire move closer, but still far enough away. Then the cool change came, the wind direction was unpredictable the fire moved closer, and we then heard on the radio that they were assembling fire strike teams nearby.

The fires appeared to be ten kilometres away from us, or about six miles. With this cool change coming we decided to leave. There was no way to know which way the fire would move.

In the end my parents house was safe as the fire moved away from us. And we returned the following morning, so many were not lucky like we were. And I almost broke down on the club net the following morning.

But I guess what I’m trying to say here, preparation for any natural disaster is key. We were prepared listening to every source of information, to be able to make our decisions on what to do.

If you ever have to confront a situation like this make sure you have your safety plans created well in advance, make sure you have battery backup for certain systems, such as radios. And Be prepared!

Building Google Android – notes from my barcamp melbourne talk.

These are my rough working notes for my talk about building android. There are some issues with these notes especially with information regarding the install of Java, so use these at your own risk.

I will be working on a corrected document with these issues corrected. Also the following links will be useful:

Android Source
Android SDK
Factory Images for Nexus Phones
Binary drivers for Nexus Phones

 

 

Building Android

What do you need:

Linux box google recommends either ubuntu or Mac OS X 10.6 for the purpose of this talk we're going to be using ubuntu 10.04 as it there are a number of difficulties setting up the build environment on the mac.

Setting up the build environment:

Firstly we need to install Java, and not OpenJDK.

As Java is no longer distributed with ubuntu we need to add a repository that contains Java 6.

https://sites.google.com/site/easylinuxtipsproject/java/

Unfortunately Oracle changed the licensing for the redistribution of Java, which means we have a couple of options.

Install it manually or via a repository for this talk I'm going to use the repository provided by duinsoft (Duinsoft is a respected member of the ubuntu community in the Netherlands.)

http://www.duinsoft.nl/packages.php?t=en

put the line
deb http://www.duinsoft.nl/pkg debs all
in the file /etc/apt/sources.list, either using Software Sources from your System Menu or by editing the file in an editor (as root)
or:
put this line in a file named (e.g.) duinsoft.list in the directory /etc/apt/sources.list.d
import the gpg key with the command (all on one line)

enter the commands (two lines)
sudo apt-get update
sudo apt-get install update-sun-jre

--

Once we've got Java installed, we need to install the Android SDK from http://developer.android.com/index.html

Unfortunately, once we have installed the SDK we then have to download a bit more, and the only reason for downloading this is so that we can get the binaries adb and fastboot

More about these later.

Now we need to get the rest of the build environment going.

for this we need to install a number of packages that are needed:

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc libx11-dev:i386

Now next we need to get the source, now this can take quite a while:

we need to get a program called repo, and place this in bin, in your home directory.

to do this:

$ mkdir ~/bin
$ PATH=~/bin:$PATH

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

repo is a front end for git that is used to manage the google source.

we need to make directory to contain our android source code

$ mkdir android

$ cd android

Now
$ repo init -u https://android.googlesource.com/platform/manifest

Now we run the command

$ repo sync

this will take a bit.

Building it

In reality it's pretty hard to build android for anything other than the google supported platforms i.e. the Nexus S, the Galaxy Nexus, and their new tablet the Nexus 7

For the purpose of this talk we're going to be building for the Galaxy Nexus.

As not all of the source is open we need to download some propriatary drivers which google do distribute.

https://developers.google.com/android/nexus/

we need to download binaries for wifi & blue tooth, graphics, the orientation sensor, and gsm drivers.

Unfortunately google is unable to distribute the drivers for the camera but there are ways and means to get those from your handset before we build.

each of these binary blobs has an installer script which we run.

Now to build the source

firstly we need to run a script to set up your source tree

so in the directory we've downloaded the source in we run

$ source build/envsetup.sh

now let's have lunch

the command to start the build process is called lunch.DO.

so if we enter in lunch without any flags we will get the build menu.

or we can enter in

$ lunch full_maguro

now lunch is pretty much our configuration script,

now we run

make -j4

Now I'm not going to build today as it will take quite a while (for example on my machine at home it can take up to 55 minutes to build.)

Installing it on your handset.

--

firstly there are a number of things you need to do, but note, this will erase the handset.

Remember how we installed the android sdk earlier,

firstly on your handset you need to turn on USB debugging, plug the phone into your computer and then type the command

$ adb device

Note: on ubuntu you may not have enough privileges to access the phone via the usb port, you can either run adb as root, or do the following:

The recommended approach is to create a file /etc/udev/rules.d/51-android.rules (as the root user) and to copy the following lines in it.must be replaced by the actual username of the user who is authorized to access the phones over USB.

# adb protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER=""

now

$ adb device

and we should see the device

We need to get the phone into it's bootloader and we can do this by doing:

$ adb reboot bootloader

Now if you've not done it we need to unlock the bootloader.

NOTE: this will erase your phone! and reset it to factory settings.

we do this by issuing the command:

$ fastboot oem unlock

once the phone has finished wiping itself we can install the build we have made with

$ fastboot -w flashall

reverting back to a factory build, Now as the android open source project doesn't include things like the google applications, and getting them installed is a little out of scope for this talk, you will probably want to return to a normal build.

We can download these from https://developers.google.com/android/nexus/images

I'd reccomend on the Galaxy Nexus using the takju build as this is the first of their builds to get updated.

Oce this has all been downloaded uncompress the tarball and in it's directory run the following commands.

$ adb reboot bootloader
$ ./flash-all.sh

and the phone will be reverted to a stock google install.

And if you want to relock your bootloader just run the command

$ fastboot oem lock

-

There are other community builds of android that you can also build, and these generally use the same process.

questions?

Building Android on Mac OS 10.6

Finally with the help of a number of tutorials that are available online I’m able to build both AOSP (Android Open Source Project) and CyanogenMod 9 for the Samsung Galaxy Nexus.

Currently the recommended platform to build on is Mac OS 10.6 so using one of my machines, I’ve installed that, an older version of Xcode and instead of using Mac Ports, used home brew to add the required bits and pieces.

So far it does take a little longer to build than it does using Linux, but it does make the machine a little more useful to me, as it also doubles as my iTunes server.

I think my main issue is memory, and while the machine has 6 GB, just looking at the build I’m running right now it does seem memory bound.

I may look at trying to do the build under Mac OS X 10.7 (or even 10.8 when that arrives) but I needed to get to a point where I had a base to work with.

If you’re interested in using my unofficial builds of Cyanogen Mod 9 they can be found here please note that as I only have a Samsung Galaxy Nexus, that is the only platform I’m building for.

 

Stuff and things

Well now that my site is back online, what do I want to do with my site. I’m not really sure.

Most likely I’ll post my android builds, radio stuff and things like that.

~