| Welcome, friend reader, to lguest. |
| |
| Lguest is an adventure, with you, the reader, as Hero. I can't think of many |
| 5000-line projects which offer both such capability and glimpses of future |
| potential; it is an exciting time to be delving into the source! |
| |
| But be warned; this is an arduous journey of several hours or more! And as we |
| know, all true Heroes are driven by a Noble Goal. Thus I offer a Beer (or |
| equivalent) to anyone I meet who has completed this documentation. |
| |
| So get comfortable and keep your wits about you (both quick and humorous). |
| Along your way to the Noble Goal, you will also gain masterly insight into |
| lguest, and hypervisors and x86 virtualization in general. |
| |
| Our Quest is in seven parts: (best read with C highlighting turned on) |
| |
| I) Preparation |
| - In which our potential hero is flown quickly over the landscape for a |
| taste of its scope. Suitable for the armchair coders and other such |
| persons of faint constitution. |
| |
| II) Guest |
| - Where we encounter the first tantalising wisps of code, and come to |
| understand the details of the life of a Guest kernel. |
| |
| III) Drivers |
| - Whereby the Guest finds its voice and become useful, and our |
| understanding of the Guest is completed. |
| |
| IV) Launcher |
| - Where we trace back to the creation of the Guest, and thus begin our |
| understanding of the Host. |
| |
| V) Host |
| - Where we master the Host code, through a long and tortuous journey. |
| Indeed, it is here that our hero is tested in the Bit of Despair. |
| |
| VI) Switcher |
| - Where our understanding of the intertwined nature of Guests and Hosts |
| is completed. |
| |
| VII) Mastery |
| - Where our fully fledged hero grapples with the Great Question: |
| "What next?" |
| |
| make Preparation! |
| Rusty Russell. |