07.06.2014 Views

2 - Raspberry PI Community Projects

2 - Raspberry PI Community Projects

2 - Raspberry PI Community Projects

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

that gets started) is known as dom0, and has a special role, since only this domain can control<br />

the hypervisor and the execution of other domains. These other domains are known as domU. In<br />

other words, and from a user point of view, the dom0 matches the “host” of other virtualizaton<br />

systems, while a domU can be seen as a “guest”.<br />

CULTURE<br />

Xen and the various versions<br />

of Linux<br />

Xen was initially developed as a set of patches that lived out of the official tree,<br />

and not integrated to the Linux kernel. At the same time, several upcoming<br />

virtualization systems (including KVM) required some generic virtualizationrelated<br />

functions to facilitate their integration, and the Linux kernel gained<br />

this set of functions (known as the paravirt_ops or pv_ops interface). Since<br />

the Xen patches were duplicating some of the functionality of this interface,<br />

they couldn't be accepted officially.<br />

Xensource, the company behind Xen, therefore had to port Xen to this new<br />

framework, so that the Xen patches could be merged into the official Linux<br />

kernel. That meant a lot of code rewrite, and although Xensource soon had<br />

a working version based on the paravirt_ops interface, the patches were only<br />

progressively merged into the official kernel. The merge was completed in<br />

Linux 3.0.<br />

➨ http://wiki.xensource.com/xenwiki/XenParavirtOps<br />

Although Squeeze is based on version 2.6.32 of the Linux kernel, a version<br />

including the Xen patches from Xensource is also available in the linuximage-2.6-xen-686<br />

and linux-image-2.6-xen-amd64 packages. This distributionspecific<br />

patching means that the available featureset depends on the distribution;<br />

discrepancies in the versions of the code, or even integration of code<br />

still under development into some distributions also mean differences in the<br />

supported features. This problem should be greatly reduced now that Xen has<br />

been officially merged into Linux.<br />

➨ http://wiki.xen.org/xenwiki/XenKernelFeatures<br />

Using Xen under Debian requires three components:<br />

NOTE<br />

Architectures compatible<br />

with Xen<br />

Xen is currently only available for the i386 and amd64 architectures. Moreover,<br />

it uses processor instructions that haven't always been provided in all<br />

i386-class computers. Note that most of the Pentium-class (or beer) processors<br />

made aer 2001 will work, so this restriction won't apply to very many<br />

situations.<br />

CULTURE<br />

Xen and non-Linux kernels<br />

Xen requires modifications to all the operating systems one wants to run on<br />

it; not all kernels have the same level of maturity in this regard. Many are<br />

fully-functional, both as dom0 and domU: Linux 2.6 (as patched by Debian)<br />

and 3.0, NetBSD 4.0 and later, and OpenSolaris. Others, such as OpenBSD<br />

4.0, FreeBSD 8 and Plan 9, only work as a domU.<br />

However, if Xen can rely on the hardware functions dedicated to virtualization<br />

(which are only present in more recent processors), even non-modified<br />

operating systems can run as domU (including Windows).<br />

Chapter 12 — Advanced Administration<br />

321

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!