ANTS is a set of tools to structure and manage Plan 9 namespaces to make systems and grids more flexible, reliable, and easy to administer. It primarily supports the 9front distribution of Plan 9, although it can be installed to the Bell Labs or 9legacy versions also. ANTS is well suited to cloud based hosting and scripts for use with vultr.com are provided.
Live/install cd link and guide
There is now a live/install cd for the ANTS environment, based on the 9front cd image. It is located at
files.9gridchan.org/9ants587.iso.gz. A brief guide to using it is located at
doc.9gridchan.org/guides/livecd. This is intended as a contribution of experimental code and ideas to the 9front project, not as a competing release. Thanks to Cinap and the rest of the 9front developers and users for their assistance and support. Newcomers to Plan 9 should stick to the standard
9front.org release.
Update and Status 28 December 2017
The main ANTS repo, found at
bitbucket.org/mycroftiv/plan9ants has been updated to revision 588 to compile with the December 2017 9front release r6245 and with subsequent updates through at least 9front r6286. Building from source is the preferred method for installing ANTS, I think most users who might be interested in ANTS are happier compiling locally. Development can be followed at
bitbucket.org/mycroftiv/antsexperiments
Development Blog
Beginning in December 2016, I have been blogging intensively about development and testing of ANTS in 9front. The blog is found at
doc.9gridchan.org/blog
Components
ANTS is a modular toolkit. The components can be used separately:
- New boot script which creates a separate administrative namespace independent of the root fs
- Modified /proc which allows processes to modify each other's namespace via /proc/pid/ns
- Independent /srv namespaces available via rfork V (9front only)
- Hubfs i/o muxer for persistent shared shells and general purpose network piping
- Namespace modification scripts including rerootwin, a network and rio aware chroot utility
- Progressive venti data replication and fossil cloning scripts to keep multiple roots available
- Grio modified rio with hubfs integration, colors, and customizable command menu
Code repositories
bitbucket.org/mycroftiv/plan9ants - The current release source code repo
bitbucket.org/mycroftiv/antsexperiments - Ongoing development code
Documentation, Walkthroughs, Tutorials
ants.9gridchan.org/ants.html - Code, manpages, and the description paper
doc.9gridchan.org/them - Walkthroughs for setting up a full ANTS grid with examples and support scripts for vultr.com [referrer link] hosting
doc.9gridchan.org/antfarm/tutorial - Tutorials for using ANTS features done with the QEMU vm images from 2013
Brief Guide to Installing
Installing from source (hg clone)
9front
Inside the base ants directory, 'build 9front'. Then 'build fronthost'. This recreates the 9ants kernel and builds a new tools.tgz and installs the userspace components. Note this will overwrite a pre-existing 9ants and tools.tgz if have compiled previously. Copy the 9ants kernel to your 9fat partition. You probably also want to copy the tools.tgz to 9fat as well. Modify your plan9.ini to use the new kernel. An example for 9front is located at frontmods/plan9.ini. You may wish to leave bootfile= blank in plan9.ini and choose to use the 9ants or older 9pcf kernel by typing in 'bootfile=9ants' and 'boot' manually. If you are booting to gui, it is necessary to add the following line to the end of your /rc/bin/termrc:
home=/usr/$user; cd; . $home/lib/profile
Once correct plan9.ini variables are set, your system can be rebooted with the new kernel. Assuming proper configuration, there should be no disruption of your userland and the new ANTS namespace will be accessible via cpu or hubfs.
Bell Labs
Inside the base ants directory, 'build everything'. This recreates the 9pcram.gz kernel and tools.tgz. Note that this will overwrite a pre-existing 9pcram.gz and tools.tgz if you have compiled previously. To install the userspace components to the main system, cd to the base ants2.1 directory and 'build labshost' Copy the 9pcram.gz kernel to your 9fat partition. You probably also want to copy the tools.tgz to 9fat as well. Modify your plan9.ini to use the new kernel. Setting up a boot menu is recommended. An example configuration is located at doc/PLAN9.INI. Once correct plan9.ini variables are set, your system can be rebooted with the new kernel. Assuming proper configuration, there should be no disruption of your userland and the new ANTS namespace will be accessible via cpu or hubfs.
Full installs to new Qemu instances
If you want to do a full automatic ANTS install into a Qemu vm that has just been set up from the .iso, special build options are provided.
Bell Labs
In the base ANTS directory, do 'build everything' 'build isoinstall' 'cd cfg; stockmod'
9front
In the base ANTS directory, do 'build 9front' 'build 9frontinstall'
Vultr Hosting
In the base ANTS directory, do 'build vultr'. There is also an option to 'build vultrfossil' which requires hard drive partitioning during install described at
doc.9gridchan.org/them/vultr
------------------------------------------------------
Other Projects: Plan 9 Interactive Fiction
Interactive Fiction is pure old school text-based gaming, in the tradition founded by Colossal Cave Adventure and the works of Infocom. This style of game didn't die out from lack of commercial support - instead it developed a dedicated independent community. Plan 9 is a great OS environment for IF-games, and it is possible to play most of the best works of the genre, and develop new ones, within Plan 9. I keep a repository of software for playing and writing IF in 9front at
bitbucket.org/mycroftiv/fictools
My own interactive fiction magnum opus is called "Harmonic Time-Bind Ritual Symphony" and can be played in the Frotz interpreter. The compiled game file is located at
files.9gridchan.org/harmonic/harmonic.z8
The "harmonic" directory on files.9gridchan.org contains a map, soundtrack files, a full walkthrough solution, and a transcript of a playthrough. If you think people must be crazy to use Plan 9, this game will probably confirm your suspicions. A frotz interpreter binary is found at files.9gridchan.org/fictools/frotz
------------------------------------------------------
The old 9gridchan.org website and its downloads are still available at
the old site
Plan 9 from Bell Labs and 9front code and modifications are distributed under the preferred licenses for those projects.
QEMU images from 2013
9worker.gz - A tiny image with only the ANTS kernel and tools for the administrative namespace
9queen.gz - A fully installed system image
Old ANTS 2.1 release tarball from 2015 - deprecated
ants2.1.tgz - Old ANTS 2.1 release tarball with source code and compiled kernels
Copyright 2017 Mycroftiv
Often found in #plan9chan and other plan 9 related irc channels on freenode
Occasionally reachable by email at mycroftiv at sphericalharmony.com
9gridchan.org - nine years and counting! Thanks to everyone who has participated and helped out with Plan 9 and Inferno and gridding.