David L. Craig, originator David L. Craig,
document originator


A cookbook to install a current Bell Labs Plan 9 system into a fully-virtualized machine running in an X86 GNU / Linux environment, including cpu, auth, and fs services with real network connectivity via a virtual (bridged) Ethernet interface. Some experience with Linux system administration is expected, as well as some exposure to the concepts of virtualization, but no familiarity with Plan 9 or virtual networking is necessary. The goal is to quickly provide a full Plan 9 environment for someone to explore to learn just what Plan 9 is.

Creative Commons License Except where otherwise noted, content in this document is licensed under the standard Creative Commons Attribution–ShareAlike 4.0 International License.
Source code (scripts) are licensed under GPLv2.
Glenda image courtesy of Lucent / Bell Labs.
Tux image courtesy of Georgi D. Georgiev, aka "hip0" in his penguins subdirectory – copyright uncertain.

The Virtual Plan 9 Cookbook

You are reading the development version of this document as of September 24, 2014.

The most recent formally released version (alpha) of this document is officially offered at http://dlc.casita.net/~dlc/vp9cb/ while http://dlc.casita.net/~dlc/vp9cb-dev/ is the place to view the under-development version (beta).

You can download the entire directory tarball, current (~25MB) or dev (~36MB) and use a file:///... URL if you want to tweak anything (like the colors—look inside the vp9cb.css file for that stuff).

If the green on black style of the alpha distribution is unconfortable for you like it was for Scott Elcomb, click over to http://projects.psema4.com/plan9/vp9cb/ where he graciously put up a modified mirror that changes the rendition of HTML text to black on white. As you can see, though, the beta version hopefully makes that unnecessary.

Revisons and current document maintainers will be described in the appropriate subsections. Please email any comments or questions about this document to any of the active maintainers so this document can be improved and kept current for the benefit of others. Likewise, if you modify this document yourself, kindly conform to the terms of the licenses. In addition, the favor of a notification of your modifications to the current maintainers is requested so they can document and link that derivation herein, again, for the benefit of others.


  1. This is a development release, which means it is not yet ready for prime time and will probably be obsolete within a week—updates will be uploaded when that makes sense regardless of how long it's been since the last one. When the development version is ready for formal release, it will lose this Errata item.

  2. This is a beta release—it resolves all issues detected with the alpha release and has no known typos, let alone any that impact the instruction outcomes. Unremediated defects will be noted here and/or in the 9fans mailing list.

Table of Contents

Click on the lines following to view their content:

Section 0: History

0-1: Revisions

0-2: Maintainers

0-3: Contributors

0-4: Derivations

Section 1: Overview

1-1: Introduction

1-2: Prerequisites

1-3: Intellectual Property Considerations

1-4: Conventions

Section 2: GNU/Linux Host Preparation

2-0: Introduction

2-1: Build Debian Installer Jessie Beta 1 Media

2-2: Install Jessie Using Debian Installer

2-3: Upgrade the New Host System to Sid

2-4: Install Needed Packages (and aptitude Tutorial)

2-5: Reboot and Verify Virt-Manager Setup

2-6: Install Package Updates

2-7: Reconfigure Networking To Support Guests

Section 3: Install Stand-Alone Terminal

3-1: Define the Virtual Disk

3-2: Download the Plan 9 Installation ISO

3-3: Define the Plan 9 Virtual Machine

3-4: Customize the Virtual Machine Configuration

3-5: Install Plan 9 from the ISO

3-6: Reboot Plan 9 from the Virtual Disk

Section 4: Convert Terminal Into Server

4-0: Introduction

4-1: A Quick Look at the Name Space

4-2: Preliminary Reconfiguration

4-3: Install Scripts From USB

4-4: Run term2cpu to Reconfigure

4-5: Finish the Reconfiguration

4-6: Connect Via Drawterm

Until Next Time...

"Thanks fer noticin' me." –Eeyore

May the LORD God bless you exceedingly abundantly!

Dave Craig

"So the universe is not quite as you thought it was.
 You'd better rearrange your beliefs, then.
 Because you certainly can't rearrange the universe."

 —Athor 77 thinking to himself in Nightfall by Asimov/Silverberg