whatisgithub

What is plan9-hostfs?

dharmatech/plan9-hostfs — explained in plain English

Analysis updated 2026-05-18

3CAudience · developerComplexity · 4/5Setup · hard

In one sentence

A setup that boots the old Plan 9 operating system in QEMU while using a normal folder on your computer as its file system.

Mindmap

mindmap
  root((Plan 9 HostFS))
    What it does
      Boots Plan 9 in QEMU
      Shares host folder as filesystem
      Edits sync both ways
    Tech stack
      QEMU
      u9fs
      C compiler
    Use cases
      Retro OS experimentation
      Standalone drawterm sessions
      Mini self contained mode
    Audience
      Retro computing fans
      Systems developers
    Setup
      Needs Linux or WSL
      Builds u9fs automatically

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Experiment with the Plan 9 operating system without dedicated hardware.

USE CASE 2

Edit files from your normal computer and see the changes appear inside Plan 9 instantly.

USE CASE 3

Learn how old-school network booting and file sharing between host and guest works.

USE CASE 4

Try a standalone single-user Plan 9 session over drawterm for retro computing practice.

What is it built with?

CQEMUPlan 9MakeShell

How does it compare?

dharmatech/plan9-hostfsamichail-1/orbination-whisper-aiandrewrk/libogg
Stars333
LanguageCCC
Last pushed2026-03-31
MaintenanceMaintained
Setup difficultyhardeasyeasy
Complexity4/54/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires Linux (or WSL on Windows), QEMU, make, and a C compiler, plus manual credential setup for standalone mode.

Licensed under the original Plan 9 terms, copied from the upstream distribution, permitting use and modification with the original notices kept intact.

So what is it?

Plan 9 HostFS lets you run an old operating system called Plan 9 inside a virtual machine using QEMU, with a normal folder on your own computer acting as that operating system's file system. It is based on an earlier project by Russ Cox that combined a bootable Plan 9 tree with QEMU and a tool called u9fs, which shares files between the host computer and the guest system. This fork keeps that same idea of editing files directly from either side, host or guest, but separates the project's own files and tools from the folder that actually gets shared with Plan 9. To use it, you need a Linux computer, or Windows through WSL, since Windows file permissions cannot represent what the Plan 9 files expect. You also need QEMU installed, a build tool called make, and a C compiler, since the launcher builds a small helper program called u9fs automatically the first time you run it. After cloning the repository, a single launcher script starts the virtual machine, where you pick a screen resolution and then choose a boot option to start the shared filesystem guest. There is also a standalone mode that sets up one authenticated identity, named glenda, with a password you choose on first run. This mode stores its state files outside the project folder and is meant for one person working locally, not as a login server for multiple people. A separate program called drawterm, connecting over specific network addresses, lets you open a terminal session into that running Plan 9 instance, and more than one drawterm window can connect to the same instance at once. A simpler mini mode boots a small, self-contained version of Plan 9 that does not touch your shared host folder at all, useful for a quick look without setting anything else up. This project suits people curious about retro or experimental computing, since Plan 9 is a historic research operating system rather than a tool for everyday production work. The README documents licensing details that mirror the original Plan 9 files, and it is explicit that this fork's own changes and decisions should not be credited back to the original author.

Copy-paste prompts

Prompt 1
Explain what QEMU and u9fs are doing in this Plan 9 HostFS project and how they connect the host and guest filesystems.
Prompt 2
Walk me through setting up plan9-hostfs on Linux, including installing QEMU, make, and a C compiler.
Prompt 3
Help me set up standalone drawterm mode for plan9-hostfs and connect to it from my terminal.
Prompt 4
What is the difference between the normal HostFS mode and the mini mode in this project?

Frequently asked questions

What is plan9-hostfs?

A setup that boots the old Plan 9 operating system in QEMU while using a normal folder on your computer as its file system.

What language is plan9-hostfs written in?

Mainly C. The stack also includes C, QEMU, Plan 9.

What license does plan9-hostfs use?

Licensed under the original Plan 9 terms, copied from the upstream distribution, permitting use and modification with the original notices kept intact.

How hard is plan9-hostfs to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is plan9-hostfs for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.