This is an old revision of the document!
FreeBSD development environments for Summer of Code
There are couple of factors to consider while picking your GSoC development environment:
- user-space programming and scripting: you'll be OK in most of the cases, so it doesn't matter whether you run FreeBSD natively on your own PC or in a Virtual Machine.
- You will be expected to know your way around FreeBSD: particularly how to update and rebuild your kernel and userland. Be sure to review the existing documentation to rebuild your kernel and get acquainted on how to use general VCS tools (Subversion and/or Perforce highly preferred).
- security/networking: you either have a small PC network at home and you're willing to play with cables and network testing, or you'll be able to configure the virtual network based on QEMU or VirtualBox. The second option may turn out to be the most productive, since you won't waste time physically moving between machines.
- kernel hacking: you can expect your changes to the kernel will be leading to critical problems forcing you to perform computer reboot. In this case it's much easier to netboot the second PC on which you'll be doing testing and once it is rebooting you perform changes and adjustments to your code, or just use Virtual Machine.
If you have an access to permanent Internet access, one of the possibilities is to use one of the free hosting providers, where you can pick the OS from available ready-to-use images. Examples are: Amazon EC2.
Virtual Machines and cloud environments
- VirtualBox: by far the easiest to use. Just install http://www.virtualbox.org on your machine. Then download .iso file of FreeBSD. Create machine, select .iso as a “content” of your CDROM drive. VirtualBox will boot your virtual PC from the CDROM and you'll be able to install the system. It uses Copy-On-Write disk, so you down waste too much space on your disk.
- EC2: this is something for people who'd like to work on GSoC from many computers. This environment however requires you're online each time you want to do something. Using it is quite simple:
- Go to My account/Console on the top-part of the website.
- Login with your Amazon credentials
- Click EC2
- Click Launch instance
- Click Community instance and search for “freebsd”
- Click FreeBSD/EC2 10.0-RC4 64-bit m1 / m2 / c1 / t1 and “Select”
- Click Review and Launch
- Click Create a new key pair and name it “amazon”
- Click Download key pair and save the file somewhere.
You should get your instance created and started. SSH will be started too. You must use:
ssh -i amazon.pem ec2-aa-bb-cc-ee.us-west-2.compute.amazonaws.com
and ec2-….amazonaws.com you'll get from the instance preferences from the AWS console. Remember that SSH connections may not be available in all networks due to firewalling.