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 supports both the 9front and Bell Labs distributions of Plan 9. ANTS is well suited to cloud based hosting and scripts for use with vultr.com are provided.

Update and Status 7 January 2017

The main ANTS repo, found at bitbucket.org/mycroftiv/plan9ants has been updated to revision 471 to compile with the December 2016 9front release r5641. Building from source is the preferred method for installing ANTS, I think most users who might be interested in ANTS are happier compiling locally. If desired, precompiled kernels and tools.tgz may be downloaded from the "frontants" and "labsants" subdirectories of files.9gridchan.org. A tarball of the version 2.8 source is located on the files server at ants2.8.tgz. 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:

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

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

------------------------------------------------------

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.

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.