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
