Virtualization Using Hurd Mechanisms

Pierre Thierry

Abstract

The goal is to create tools that let a user create a set of servers that implement a Hurd environment and the necessary resources, with the possibility of relying on existing servers in the parent Hurd for some of them, instead of creating them.

Additional Information

Virtualization Using Hurd Mechanisms

Benefits

This project will permit to create isolated systems but with far more flexibility than traditional virtualization tools, because the degree of isolation can be changed and possibly not only at creation time, and communication and sharing of subsystems can be arranged between isolated systems.

 Deliverables

D1 — User stories for the toolset, that will later serve as examples for the documentation

D2 — Exhaustive but concise documentation of the set of needed servers making a working Hurd system (as much for me as for future users of the tool, building and linking to existing Hurd documentation)

D3 — Low-level tool to create a working Hurd environment (possibly with strong limitations on the shape of the resources used by the environment, most probably on the underlying filesystem)

D4 — Fake or noop servers for the documented set of needed servers, to be provided instead of working ones, where a feature is to be denied to a Hurd environnement

D5 — Proxy servers, where desirable, to provide access to servers outside the environment (in ocaps terminology, caretakers)

D6 — Extension of the low-level tool from D3 to remove its unreasonable limitations

D7 — High-level tools to easily create environments and run programs in them (akin respectively to debootstrap and schroot)

D8 — If possible, extensions to the D5 and D7 tools to enable dynamic modifications of the features and authority granted to environments and creation of multiple interconnected environments