Internships/Hypervisor

From Xen
Jump to navigationJump to search

Hardware Requirements

For hypervisor development, it is important to check that you have the correct hardware. In the best case scenario, you have a spare laptop or PC, that you can wipe and use as test and deployment environment. Another option would be to partition your system and use one as a test and development environment and the rest as your development environment. Please do check with your mentor before you do anything though and make sure that you have the right skills (you don't want to accidentally delete any of your data).

If you have a Linux laptop or PC that has Linux already installed on it (e.g. Ubuntu), you could also use Nested_Virtualization_in_Xen as a test and deployment environment. In this case, you would just install Xen packages on your machine and create VM's that you can use for testing and debugging. However, this may not work for all projects: so make sure you discuss with your mentor beforehand (make sure you CC the list).

If not, we can see whether there is a way to resolve the hardware problem. We have been able to do this in the past, but whether this is feasible depends on many factors.

Checking Hardware Requirements

Some projects may require specific hardware features. You can use tools such as cpuid, the /proc/cpuinfo file and others to check hardware capabilities. This excellent article gives you a great overview over what tools are available, with very specific instructions.

If in doubt, check with prospective mentor (make sure you CC the list) and see whether what you have is sufficient for the projects you are interested in.

Compile, Run and providing Logs

I simple test to check whether you can easily get started with Hypervisor Development is to make a tarball of a specific version of Xen, maybe with some additional debug information added (or a BUG() command added), deploy it, run it and check the logs. This will give you a good sense of whether you can master the basic tasks to get easily going with a Hypervisor project. Please raise this with your mentor and work out a specific set of tasks that may be helpful for your project. For Outreachy Hypervisor (and other lower level) projects, we may require this as a Make a Small Code Contribution Requirement, while we strongly recommend this for GSoC applicants.

This will show that you can

  1. Compile, deploy and boot Xen
  2. Have a way to get the serial logs
  3. Be able to search through the code for the string in question to prove that you have done the right thing

Also see:

Getting a small contribution task

Icon todo.png To Do:

{{{1}}}