Getting Started

Some of the FreeBSD tasks may seem daunting, especially to those who have no prior experience with FreeBSD or similar operating systems. This page should provide enough information to enable you to get started and in a position to work on the tasks as quickly as possible.

If you have any problems with any of the instructions here, please do feel free to talk to your mentor, or ask on IRC. There are many mentors available in #freebsd-soc on EFnet, feel free to pop in and say hello even if you are not having issues!

Requirements for Google Code-In tasks

Most of the Google Code-In tasks require the following:

Using the pre-prepared VM images

The easiest way to get started with the Google Code-In tasks is to download the pre-made Virtual Machine image. This is available for download from (2.2Gb download, SHA256 aa212d1ca717a6a9800e67462ec3456c5e652fea1bba09bb649d6fa3cb0c6ea6). It is known to work with VirtualBox 4, but should also work with minimal effort on anything supporting the OVF format for virtual machine images, including VMware.

Once the VM image has been imported, boot it. The image has been set up so that all your work can either be done on the VM console itself, or over SSH. After the machine has booted, basic instructions will be shown on the console, including the IP address that the virtual machine has been given. You can SSH to this IP address (using the gcin account) if you wish to work over SSH rather than directly on the console. GNOME is also available in the VM image, should you prefer to use the VM directly.

There are two accounts set up:







You should only need to use the gcin username/password for most tasks.

In the home directory of the gcin users, a directory called "gcin2011" exists, containing checkouts from the repositories most likely to be useful during GCIN:


The FreeBSD Documentation tree


FreeBSD source code for -CURRENT


FreeBSD source code for the 9-STABLE branch

All three trees are checked out using Subversion.

Working on the FreeBSD documentation tree

(to be written). See

Working on existing documentation


Working on the FreeBSD source tree

(to be written)

Working on existing documentation


Submitting your work

The preferred format for submitting work done is in diff format. To produce a diff of your work, use the "svn diff" command.

For example, to create a diff of changes made to the FreeBSD handbook, the following command should be used:

Then, upload the file /var/tmp/gcin-handbook.diff to Google Melange.

Note, however, that any new files (i.e. files created rather than modified) will not be included in the output of "svn diff" and should be uploaded separately.

Updating the source code checkouts

All the supplied trees can be updated using "svn update". For example:

Working on tasks without using the prepared VM images

There are several ways of obtaining the source code, each with advantages and disadvantages. This document describes just one approach, and users experienced with source control may prefer to use an approach they are more familiar with.

The following assumes that you are using FreeBSD, either on a real machine, or in a virtual environment, and that your system has Internet access.

Obtaining the FreeBSD Documentation tree

The FreeBSD Project currently still uses CVS to store its documentation. In order to make things easier for GCIN students, we have started exporting the doc tree to a Google Code svn repository, which should prove easier for students unfamiliar with CVS to work with.

Check the tree out with:

Once you have obtained the code, please see the top section of this page for how to work with it, test your work, and submit your changes.

Obtaining the FreeBSD source Code

As the FreeBSD source code is held in SVN, this can be checked out directly:

Once you have obtained the code, please see the top section of this page for how to work with it, test your work, and submit your changes.

GoogleCodeIn/GettingStarted (last edited 2011-12-14 23:02:29 by GavinAtkinson)