This repository is a mirror of the 9legacy sources. There are some branches:
- stable
- experimental
- main
This branch contains the Lab's Plan 9 sources with 9legacy's stable- and 9k-patches.
This branch contains all of the stable branch and picked 9legacy's experimental patches. The picked patches will appear in the commit log.
This branch contains all of the experimental branch, and some merged pull-requests that is needed for me.
TODO
% cd /tmp
% git clone --no-checkout --branch stable https://github.com/lufia/plan9
% cd /
% git --git-dir /tmp/plan9/.git statusThere are original README.md below.
9legacy is a continuation of Plan 9 from Bell Labs.
- Build empty directory hierarchy
Empty directories can't be committed to a Git repository.
The following script will build the empty directory hierachy, identically to the content of the original Plan 9 CD image.
Run:
./boot/mkdirs
- Install binaries
This step requires the 9660srv command from plan9port, so the CD image will be mounted using the Plan 9 ISO 9660 extension.
The following script will download the last 9legacy CD image and extract the 386 and amd64 binaries to the root of the Git repository.
Run:
./boot/getbin
- Run QEMU
The following script will build u9fs from sys/src/cmd/unix/u9fs, if needed, then run QEMU.
Run the following script to build u9fs and run QEMU:
./boot/qemu
This Git repository already includes a prebuilt boot/pxeboot.raw boot loader.
This step is necessary only if you want to rebuild boot/pxeboot.raw, for example,
after making changes to the boot loader.
- Reduce the size of 9bootpbs
Apply the following patch to reduce the size of 9bootpbs:
patch -p1 boot/9-pcboot-boot.diff
- Rebuild 9bootpbs
On Plan 9, run:
mkbootpbs
- Rebuild pxeboot.raw
On Plan 9, run:
mkpxeboot
We thank Russ Cox, who made the scripts to easily boot a Plan 9 file hierarchy on QEMU.