summerofcodedevenvironments

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
summerofcodedevenvironments [2014/03/11 19:19] – GavinAtkinsonsummerofcodedevenvironments [2020/05/15 02:00] (current) – Perforce is no longer supported. MarkLinimon
Line 1: Line 1:
 ====== FreeBSD development environments for Summer of Code ====== ====== FreeBSD development environments for Summer of Code ======
 +
 +It is important to spend some time before the project starts installing and getting used to %%FreeBSD%% (if you haven't already). A great resource for starters is the [[https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/|FreeBSD Handbook]].
  
 There are couple of factors to consider while picking your %%GSoC%% development environment: 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.+  * user-space programming and scripting: %%FreeBSD%% can be either run natively on your own PC or in a Virtual Machine - it makes very little difference.
  
-  * 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 will likely either need 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.
  
-  * 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. 2nd option may turn out to be the most productive, since you don't waste time on dealing with annoying physical factor.+  * kernel hacking: you can expect your changes to the kernel will sometimes lead to kernel panics, forcing you to reboot.  You can usually load an older kernel from the boot loader but it may be the case that it's 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.  Note that for some projects (e.g. ones involving wireless) virtual machines may not be an option
  
-  * 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 2nd 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 permanent, reliable Internet access, one possibility is to use one a free VM hosting provider, where you can select the OS from available ready-to-use images. Examples are: Amazon EC2, Microsoft Azure, Gandi Cloud VPS, etc.
  
-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.+  * 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 (version control) tools ([[SummerOfCodeSubversion|Subversion]] highly preferred).
  
 ==== Virtual Machines and cloud environments ==== ==== 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.+  * **VirtualBox**: by far the easiest to use. Just install [[http://www.virtualbox.org]] on your machine (available in the ports collection on %%FreeBSD%%). Then download an .iso image of %%FreeBSD%%.  Create machine, select the .iso as the "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 disks by default, so you won't 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:+  * **EC2**: this is something for people who'd like to work on %%GSoC%% from many computers.  This environment however requires you to be online each time you want to do something. Using it is quite simple:
  
     * Go to [[http://aws.amazon.com/ec2/]]     * Go to [[http://aws.amazon.com/ec2/]]
Line 30: Line 32:
     * Click **Download key pair** and save the file somewhere.     * 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:+Your instance will be created and started.  SSH will be started too, allowing you to log in remotely.  You must use:
  
 <code> <code>
Line 36: Line 38:
 </code> </code>
  
-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.+The IP address and //ec2-....amazonaws.com// you can get from the instance preferences from the AWS console.  Remember that SSH connections may not be available in all networks due to firewalling. 
 + 
 +  * **%%HyperV%%**: Microsoft directly supports %%FreeBSD%% on both %%HyperV%% and %%WindowsAzure%%. Many universities have access to the MSDN, which offers a monthly credit, or you can otherwise get a free account with some fixed credit.
  
  • summerofcodedevenvironments.1394565573.txt.gz
  • Last modified: 2014/03/11 19:19
  • by GavinAtkinson