Plan 9 Advanced Namespace Tools

Well, here it is, after 9 years of work. A live/install cd .iso image of the Plan 9 Advanced Namespace Tools, based on current 9front. Sup Forums introduced me to Glenda back in 2008 and I've been working on Plan 9 projects ever since. THe image is at:

files.9gridchan.org/9ants587.iso.gz

There is a brief guide to using the live cd (some Plan 9 knowledge assumed) at:

doc.9gridchan.org/guides/livecd

If you are just curious about Plan 9, you can certainly play with this, but you probably won't understand the unique namespace features with no previous experience. Standard 9front from 9front.org is the best way to start using Plan 9. The extensive customizations in 9front-ANTS include kernel modifications for new namespace manipulation capabilities, a rewritten boot process with new options, an independent control/admin namespace which doesn't depend on the root fileserver, a muxing message queue/shell persistence layer as a 9p fs, and a more customizable rio.

The 9gridchan.org site has archives of material going all the way back to Sup Forums's attempted 9p filesharing grid almost ten years ago, so there is some funky stuff to discover if you are interested. I don't spend a lot of time on Sup Forums nowadays, but I'll be in this thread to answer any questions. Plan 9 is still the best OS ever made, and 9front is still getting better and better, a lonely but strong fortress in the wilderness of modern software. This is my contribution to the war.

Other urls found in this thread:

bitbucket.org/mycroftiv/plan9ants,
lsub.org/who/nemo/9.intro.pdf
en.wikipedia.org/wiki/Single_system_image
youtube.com/watch?v=beLpsWaUDNk
9front.org/img/
9gridchan.org/blog/2009/06/17/1_blog_post/
github.com/vygr/ChrysaLisp/blob/master/doc/TAOS.md
twitter.com/AnonBabble

I'm interested. Tell more.

this looks vaguely interesting but i'm too much of a brainlet to do anything with this.

You will find little interest here.

The live cd includes all of standard 9front and you can play with the new features in the live cd environment, and the installer works the same way but adds things full cpu/auth server configuration. Not sure how much Plan 9 background you have, so I'm not sure what is the most relevant level of explanation.

Plan 9 pioneered the concept of per process independent namespaces, and a form of that concept is what underlies things like docker containers/bsd jails. Plan 9 does it better than any other os though, because it was a foundation of the os design, not a later addition. This release makes it easier for Plan 9 to create fully independent namespace environments and move between them, as well as tricks like letting processes rewrite the namespace of other processes, even those running on other nodes on a grid. It also tries to make networks of Plan 9 machines easier to control and more reliable to things like network failures, by creating an independent namespace on each node which doesn't depend on grid services, and provides a 9p fs for networked persistence, somewhat like a lighter version of a modern pub/sub message queue.

Not sure if that was relevant to your interests, so feel free to ask more specific questions, including basic things about Plan 9 in general.

I used 9front as my main OS for a few days, but never got into its inner workings, but it's very interesting.
Is there an exact changelog of the changes that this has added on top of 9front?
Also, how different is rio here?
(I'm also installing that iso in a VM as we speak)

What are namespaces?

Standard rio is still around as rio, the customizable rio is called "grio" and has flags to customize all the colors, add your own command of choice to the menu, and it integrates with the "hubfs" persistence layer. /sys/src/ants/frontmods/grio/README gives all the new flags.

There is a lot of documentation for ANTS but not a single list of all changed files. I should make that. There is an hg repo of course. Once you get the iso installed let me know how it is working for you and if anything is unexpected, or for where to look for all the docs. Some of it is in manpages, some stuff just on the website.

namespaces are a concept that shows up in a few ways in computing - in Plan 9 , namespaces are your filesystem environment, which is a lot more than just your disk filesystem. In plan 9, even the graphical interface is represented as an fs - when you open a new window, that is literally a new mount of the rio filesystem. The user environment is build by mounting different fileservers to provide different functions, and then binding them to the right place in the namespace structure. When you need network information like DNS addresses, the os talks to the "connection server" at /srv/cs and /srv/dns. Your window system is at /mnt/wsys. Authentication happens through a fileserver called factotum at /mnt/factotum. All these things together form your namespace, and every process can have its own unique namespace. Everything is connected with the 9p protocol, which allows any fileserver to be shared across the network. So a plan 9 user has a namespace which is usually built from a collection of fileservers running on multiple systems, all working together to create a unified system.

Installed it, messing around with it, seems pretty cool so far. Is grio started by default? Also there's a typo in that README file, "backgrouind".
The hg repo is on bitbucket.org/mycroftiv/plan9ants, right?

it starts rio by default, you can change that in /usr/glenda/lib/profile if youd like.

Thanks for pointing out the typo, ill fix that. Yes, that is the stable repo. Development happens in the "antsexperiments" repo, but they are in sync right now because I just released.

Here's a pic of what a user namespace looks like in plan 9. The #stuff is kernel devices that provide access to the hardware, mostly. Then there is a root filesystem from a disk fileserver, and a lot of services like the ones I mentioned previously, plus binds for using different things like go and inferno.

apart from hacking and playing around whats the attraction to this distro?

Most commits come from glenda@x240, usin the x240 for development? How's hardware support on that?
I've had trouble getting a battery indicator to work (x200), that was actually the reason why I left 9front. Maybe you know a thing about it?
Joined the IRC channel at the bottom of the website, interested to see where this project goes.

Yeah the x240 works nicely for me. I'm actually using it just sitting on a desk plugged in so I haven't tried to use the battery indicator. Did you try setting apm0= in plan9.ini? man plan9.ini says you need that setting to enable battery reading and its off by default.

There are some tasks plan 9 is well suited for, if you are a text-focused person especially. Hosting websites with the werc page templating engine, storing data with the venti deduplicating block storage server, playing and writing interactive fiction games, quite a few more things. I would say hobby coding is the number one use though.

Yeah I tried apm0= but it did absolutely nothing, I tried it in a VM afterwards and it was recognized by the bootloader (after that it never booted again lol)

As I understand, things like Plan 9 and Inferno OS are well suited for combining your PC, laptop, phone, router, toaster and any other computing device into one entity. Pretty cool. It's probably the future.

It's a vision for a future that never really came to pass, kind of. You are absolutely right in that the idea was that a common protocol (9p) and common abstraction interface (basic unix file operations of read/write) was intended to unify all devices. In practice, what happened is that http took over the universe, and corporations prefer a model where they go for maximum control from a centralized server, rather than having everyone and everything share things in all directions. The technical challenge that is also an obstacle is that 9p is rather latency sensitive - it bounces a lot of messages back and forth to perform transactions, so for something like static file transfers over long distances, http just performs a lot better in practice.

I make an amazing computing environment for myself by combining a couple local boxes with several remote vps nodes. I have something kind of like a data-paradise because I can get the same environment from any device that can connect, and all my data gets replicated between systems, and it is all totally network transparent so I can run applications on any node and they all have access to everything. It's supercool.

This is really cool and I'm definitely going to try it out on my x240 :D :D :D thanks OP

Thanks for your interest! I'm really glad some people are checking this out. Sometimes I think Plan 9 is like the tiny mammals underfoot the giant Google-Facebook "dinosaurs" of computing. It looks small and trivial compared to the megalizards, but when the asteroid hits, evolution may take a different direction and the Day of the Rabbit might yet arrive.

based

I'm always happy to see that some people on Sup Forums are actually able to create great stuff like this.

I have no idea what this is but I sure am intrigued.

I'm and I will give it a go next week. I was looking at playing with a weird linux distro on my X240 but this looks like it'll fit the bill nicely, I've always been interested as hell in learning about Plan9 since I've seen it myself in 2007 and well, 10 years later I might as well give it a shot. I'm already in the irc channel too

Works great on my x240. Should boot fine from USB with the right bios settings or w/e. I kinda forget if I had to do something special to set it up, I pxe boot from another plan 9 server now mostly.

Glenda is suited up and ready for deep name-space exploration.

Agreed with this, 9p is absolutely the future.

btw

>1988
>years before 1st edition
>4th edition in 2002

Are there any derivatives of 9p more in tune with modern high latency, high throughput networking?

People have made some schemes to add side-channels for static data transfer to 9p, and there is also this thing call Op, the Octopus Protocol, which was developed for an Inferno-related research os. None of it is in 'standard' plan 9 though. If plan 9 ever starts to take off again in some way, there will probably be some kind of latency-improving solution adopted, but right now the users are mostly content with how things are now, because nobody is really trying to do world-spanning grids. I get pretty decent connectivity to my vps nodes in a data center in an adjacent state, I can use cpu with graphical applications and it is still responsive. If I make a node on the other side of the usa though, it starts to get painful.

The old Sup Forums 9p filesharing grid definitely died partly because the transfer rates were just too slow, and for static filesharing there were better solutions.

She a cute!

Anyone messing around with this have any questions about how it works or general Plan 9 usage? The people who have tested it have had good results so far, no bugs or breakage.

Comments, feature requests, or criticism all welcomed.

user, you and only you made my last 10 years on this shithole worth something.

good work

>Sup Forums inspired an entire community to revive an insane, dead operating system
>It's now usable to the point of being a viable daily-OS
So this is the power of shitposting

Cont But please, seriously, take care of documentation, it's important. Don't let this project die.

Can you provide some details on how you set up that environment? Sounds cool as fuck

I have no idea what this is and im an almost complete computer iliterate
But it looks interesting, thanks for giving me something to do OP

I've got a spare laptop that I've been doing nothing with, I'm gunna slap it on there and try to use it exclusively for a few days. See how it goes, I'll submit any issues I run into I guess.

Does Plan9 have a native scripting language like bash? Is there some reason all these install steps need to be done by hand instead of being put into a script?

Thanks, despite everything that sucks about Sup Forums, it was still the place that trolled me into installing Plan 9 and then forced me to learn how to code in it to make it do what I wanted. If it wasn't for the posters who told me that I would never figure out how to anything useful in Plan 9, I probably wouldn't have been motivated enough to do all this work just to prove the people wrong who told me I would never figure it out. In honor of all that, I'll post something ridiculous from Old Sup Forums.

What do you do on plan 9? I want to give it a try but google says its only an "investigation tool" or something like that

>Phase IV (1974)
Great taste in films.

I'm relatively convinced that Sup Forums is the only reason plan9 is still alive
I miss 2007-09

So now plan9 is bootable outside of a vm? Wasn't this already possible?

Plan 9 has the rc shell, which is similar to bash but nicer for the Plan9-inclined. Which install steps are you talking about? The live/install cd has a scripted installer which is launched by a single command "inst/start" and then has menus and you just have to type a few things like what disk you want to install to, etc. Are you looking at some of the docs for installing from the source repository?

I have a shitton of documentation, maybe too much, of course some of it is outdated, but the install cd installs full manpages for most of the new things. Anything in particular that seems undocumented, or is that just general advice for all software projects?

Yeah I can give a lot of detail. The core idea is that you have a couple backing Venti servers where you dump all your data blocks to, and you save the rootscores of your fossil filesystems, and then tcp boot multiple cpus from them. That means you always have at least 2 current fileservers with all your data, and 2 cpus attached to each of them, often one 32-bit and one 64-bit because the fileserver has binaries for both arches, along with your data. Then I have two native boxes at home, which again mirror each other. So from my main terminal, I can cpu to another local server and/or connect to the remote cpus. Everything uses rimport -p to make most services available from multiple nodes by union binding /srv, and anything that is textual can run in a hubfs so multiple cpus can access the same running application.

This may all be gibberish if you don't actually plan 9, but the tl; dr is that both data and applications are available from multiple nodes, and because it is all glued together with network transparent 9p, it acts more or less like one giant computer with unlimited ram and storage space.

>because it is all glued together with network transparent 9p, it acts more or less like one giant computer with unlimited ram and storage space.
I have a mighty, mighty need

Now do ReactOS and end Windows.

tldr for computer iliteratw brainlet who pls

Downloaded it . I messed with 9front for some time and read
lsub.org/who/nemo/9.intro.pdf but I feel like I never
understood Plan 9 really.

few question
Do you use it as your main os?
What should I do to learn?
Do you recommend starting with 9front?
In few words, how it is different from 9front?

Did you know that the guy who made Phase IV, Saul Bass, was connected to Bell Labs? He designed their old logo. When I found that out, the whole ANTS thing seemed especially perfect.

Seconding this, I want to learn but no idea where to start

thirding this

It is hard to really get Plan 9 until you work with multiple systems connected over the network. For instance, you can do a rimport -a of the /proc directory of another machine, and then when you enter ps -a to view processes, you will see the processes on both machines, and can use the acid debugger to debug the remote processes also.

I do use it as my main os, although I have VNC to a "standard os" available to use a web browser. I do recommend 9front as the standard current form of Plan 9.

ANTS is different from 9front in that it has additional namespace manipulation possibilities via kernel mods, such as rewriting the namespace of remote processes you control and multiple independent /srv spaces. It also structures the boot process to create a separate namespace independent of the root fileserver.

Make a big computer by connecting smaller computers across the network.

Fuck off to jewgle Pike. We're full!

If you want some interactive real-time help, the #plan9chan irc on freenode is a small channel that has been the home of Sup Forums-related plan9ing since 2008. It is noob-friendly with no expectation of prior plan 9 expertise.

Plan 9 is a lot of fun, especially if you do or would like to do hobby coding projects. Things can seem different and limiting in some ways as you are learning, but it also offers a cool vision of a different concept of computers and software. I don't want to oversell it though - the absence of modern multimedia and web support means that it won't substitute for however you are currently watching movies and using facebook or w/e.

> (You)
>Make a big computer by connecting smaller computers across the network.
W- woah...

I love these threads. It's like Sup Forums sent out a deep space probe and now it returned to find a different population lol.

I tried Plan 9 back in the old days when Sup Forums was all about it. But not having a three button mouse or compatible hardware to install it on the metal held me back, plus without a decent web browser and the 9gridchan thing not really ever becoming anything I lost interest. Probably going to check it back out, and try my best to live in a world that isn't but could have been.

Note that Plan 9 is not "single system image" clustering. Your user environment acts in a unified way by mounting resources from multiple locations, but the separate systems are all still running their own kernel and processes don't jump from one box to another. There are systems that behave this way, but when you dig into the details, it is often less "magical" than you might think. Wikipedia has a semi-accurate chart of how different systems compare: en.wikipedia.org/wiki/Single_system_image

In practice, plan 9 offers a practical compromise between an ideal of a totally unified os environment spread out between nodes, and separate systems coordinating their tasks.

Plan 9 is definitely cool if you go into it with an "explorer's mind'. Thinking back to the collaborative gridding attempts in the 2000s on Sup Forums, what really held us back was a lack of knowledge. We were kind of like cavemen trying to figure out how to drive a car when it came to using Plan 9. Sometimes I wish I had a time machine and I could go back and teach myself all the stuff I learned in the years between then and now. By the time I had figured out how to really use Plan 9 and accomplish things, the surge of interest and enthusiasm had long since worn off and people had gotten sick of Plan 9 propaganda threads. A failure to successfully build bridges with the "old guard' of Plan 9 was also a problem, the existing Plan 9 userbase was always more inclined to give people shit for not having deep familiarity with the Bell Labs unix tradition than give constructive help to people who needed a lot of hand-holding. Nowadays there isn't much of the old guard left, but there is still a lot of disdain for inexpert users.

Anyway, always good to see someone who remembers things from back then. For a long time, I've just focused on writing software that I like and creating the perfect environment for myself, rather than wild dreams of a decentralized multi-person Sup Forumsrid. Who knows, maybe some new person will get all excited by the possibilities and kick things off again.

Dumb question, how much software support is there for this? I'm assuming anything open source can be compiled on it, and anything else probably doesn't have support, right?

Even a lot of open-source software doesn't compile in Plan 9, hence the "no modern web browser" problem. A lot of things have been/can be ported using a part of plan 9 called "ape" (for ansi-posix environment) but the goal of plan 9 was always to make something different from standard unix, so making all the stuff that works in linux/bsd work in plan 9 has never been anyone's top priority. There is actually support in 9front now for running virtual machines, so some people have been able to get bsd/linux running in a fashion, but it still doesn't seem like a main focus. People like plan 9 mostly because it is a different vision, something minimal and beautiful and consistent. And also "not practical" in terms of running much of the standard universe of software. You can, however, use something ssh or vnc to connect to other systems to make use of them, but then those environments don't take advantage of all the unique things that make plan 9 cool. Still useful and important to make plan usable day to day.

>Did you know that the guy who made Phase IV, Saul Bass, was connected to Bell Labs?
Cool. No, I wasn't aware.
I only knew him as a film intro designer
It's a shame Phase IV was a commercial failure, most likely due to bad marketing. He never made another movie

Yeah it was marketed as a horror/schlock movie pretty much and that just isn't what it is. Have you seen the "lost ending"? It really seems totally necessary to the film.
youtube.com/watch?v=beLpsWaUDNk

Glad to see you're alive and well, lepus. The stuff you've been working on looks great.

Lepuspower...now that's a name I've not heard in a long, long time. Thanks for the compliment and the memories of good days in irc. Still plan9ing as hard as ever! Pic related, of course. Hope you and any of the rest of the old crew are doing well.

So how difficult would it be to fix the font rendering?

I want to use Plan 9 but that shit is atrocious. Also acme is fucking weird.

There used to be some pretty nice subpixel hinted fonts floating around, not sure what happened to them because I think they were technically a copyright violation or something. I'm pretty ignorant about fonts in general because everything looks good to me nowadays after a lifetime that started out staring at 8-bit monochrome displays and then moved on to incredibly crappy low-res stuff on CRT. Acme is weird for sure, a lot of plan 9 people don't even like it and use Sam instead, because of reasons. Acme doesn't even work like the rest of plan 9, interface-wise, probably because the UI design was largely inspired by Wirth's oberon.

In general Plan 9 is always kind of "roughing it" so if good choice of fonts and smooth rendering is important to you, you will probably find a lot to hate. There are some tools to important fonts into the system though I've never really messed with them.

looks like this os would be perfect for a 17 year old compaq laptop that i have.

>Sometimes I wish I had a time machine and I could go back and teach myself all the stuff I learned in the years between then and now.
Write a book!

I've been keeping a development blog for awhile now, it could possibly evolve into a book, along with some of the other stuff I've written about Plan 9. God knows I've probably produced a book's worth of words in the past 9 years. Maybe thinking of some top-down organization for a book would help me pull everything together in a way that is easier for people to assimilate. Even experienced Plan 9 users often don't really get the point of all my namespace-restructuring shenanigans.

I have a question to OP and any other Sup Forumsentooman who might be knowledgeable on the subject?
Didn't Inferno grow out of Plan9?
If so, is it considered more "modern"?
Why not continue with it instead of Plan9?
How do they compare in terms of usability?
What are the main differences between Inferno and different versions of Plan9?

>I'm relatively convinced that Sup Forums is the only reason plan9 is still alive

it is

9front.org/img/

Inferno did grow out of Plan 9 - it can't really be said to be more modern exactly, although it may be easier to get started with because it installs on top of most operating systems. Inferno is a lot smaller than Plan 9 in terms of how many applications and software it has - Inferno was really intended as an alternate design for a language, Limbo - make the language environment behave like a full operating system. Inferno is fun to play around with and some people really love it, but I find it less capable than full Plan 9. There is nothing comparable to 9front for Inferno - the 9front project keeps moving plan 9 forward, but Inferno seems to have been stagnating more and more for years. Just my opinion, maybe someone who is better with Inferno would think differently.

One thing that is nice in Inferno is the 'registry server' - we used that a lot to organize the Sup Forums gridding back in the day. You can announce what services your mean is providing to an inferno node and it will keep a list of everything available. Actually ANTS even has a special tool called "gridlisten" designed to make it easier for Plan 9 systems to interoperate with it.

what's neat about inferno is that it gives us a VM to run acme in on other platforms

Does that mean I can remotely control programs just by mounting them?

i think you theoretically can, yes.

you could probably mount the rio (the wm/display server) file system and create windows and stuff

You can actually run Inferno itself on top of Plan 9, that is either doubly awesome or doubly pointless, depending on your perspective.

TAOS / Intent went further than that and made the whole OS other than a tiny part of the kernel exist targeting a virtual architecture, and did runtime binary translation. I think that was the "missing piece" for Plan 9 more than the latency thing, since it would mean remote execution wouldn't rely on out of process API calls like HTTP or SSH. One of the original TAOS devs is working on resurrecting that idea as ChrysaLisp on Github.

Yes, assuming the program is written as a 9p fs, or has some kind of control interface that can be exposed that way. And yes, you can absolutely control a window system remotely. Two plan 9 systems can (assuming auth and permissions) mount each other's window systems and screw around with them in quite a few interesting ways. Here is a very old blog post I wrote about some tricks like that: 9gridchan.org/blog/2009/06/17/1_blog_post/

I should learn more about TAOS, it sounds cool. What you say about out of process API calls isn't accurate about Plan 9 though - the way it works is that the applications use standard C/unix syscalls like write/read, and the Plan9 kernel has a special device called the mount driver which translates those syscalls into the 9p protocol to send/receive on the network. So applications don't need to know any protocols whatsoever, and they don't know if they are working with something local and/or static, or something remote and/or dynamic - they just do their ordinary syscalls, and then the kernel handles translating things to 9p and sending/receiving from the network. It's a very good design. Not saying what TAOS does isn't equally cool or better, though, I'd need to learn about it.

What's the on disk filesystem situation like on Plan9? Do any of the groups have a roadmap towards a modern CoW filesystem like ZFS/BtrFS/ReFS/APFS?

Here's what passes for the canonical description of TAOS by the authors:

github.com/vygr/ChrysaLisp/blob/master/doc/TAOS.md

The bootstrapping procedure alone is fascinating.

The disk filesystem stuff can get a bit controversial. One thing that ANTS does differently than standard 9front is bring back the fossil file server, which in combination with venti, is very powerful although not exactly modern. It used to be kind of buggy and brittle, but it was fixed to be much more stable shortly after 9front forked off from Bell Labs and dropped fossil entirely. 9front uses cwfs64x as its main fileserver, which is a modernized version of the original plan 9 fs, and has another fs called hjfs. Plan9 filesystems are all designed to make regular archival snapshots - fossil does it by sending data to venti, where it is compressed and deduplicated. cwfs just sends changed data from the fscache to the worm - which in the old days was actually a "jukebox" of cds, super-high-tech in the early 90s! hjfs is usually used for smaller systems with snapshotting turned off, as a lighter weight option. There is also a developer I know who has been working on a "ngfs" (next generation filesystem) for plan 9 more along the lines of zfs, but I'm not sure when that will be released and production ready. I'm one of the only 9front users who still uses fossil+venti - it provides for some very powerful workflows based on fossil rootscores, but a lot of users have a grudge against fossil for how much data it ate before some bad bugs got fixed post 2010.

thanks for that link, will check it out right now in between activity on this thread

Sweet. I'm glad ngfs exists.

Thanks for the detailed reply user.
So from what you're saying, a lot of additions (not necessarily innovations) went into plan9, while inferno stagnated?
How are they comparable in terms of capabilities, using them to build distributed systems, user friendliness, and advancement?
In other words, how would you summarize 9front's main contributions and how it's driven the project forward, especially in the ways Inferno was not?

Inferno was originally intended to be a platform that could go anywhere and do anything - at the time (around 2000) Bell Labs was floundering to remain commercially relevant, and putting inferno in tv set-top boxes that could talk to inferno on computers seemed like it had potential. It didn't go anywhere at that time, so it became something more focused on setting up distributed tasks on a network of office pcs. I believe the company that maintains Inferno gets by on work like that - "we have a parallelizable computation, can we just run it as a task in the background on all the pcs our office workers have on with spare cycles?" - it was never really focused on being a complete environment for end-users.

9front, on the other hand, is made as a labor of love by people who really liked Plan 9 for various reasons, but because it was a "research OS" and alcatel-lucent had almost completely stopped development on it, it was barely usable. Too many bugs and too much old crufty code from the 90s, only about 2 people paid for working on it post 2005 or so. There were a couple corporate people also using Plan 9, and some researchers, but nobody was really sharing their code much, it wasn't working like any kind of real open source project.

So around 2011, the most talented independent 9front developer and several other people decided to fork off and work on making Plan 9 REALLY WORK as well as possible. The goal was literally to fix the problem with the front falling off! So all kinds of old buggy code got fixed up, a 64-bit version was prepared, needed tools that were missing got written - just with the goal of making the beautiful design work on more hardware and run reliably. Lots of stuff has been added in 9front - lots of hardware drivers like working wifi on many thinkpad models, better usb support, efi booting, fixed ssh and virtual terminals for talking to unix systems, more reliable fileservers, a more secure authentication system, endless bugfixes.

Fuck you for reminding me of phase 4, fucking ants

Was about to commend OP for his taste.
Have you seen the cut original ending?

I know plan9 well enough i run cpu, file and auth servers in pi's/pi2's. I use both fossil file system and venti snapshots.

More than happy to have a crack.

You using a dedicated cpu server as a workhorse for the network? If so what are your specs?

Right on - only thing that you probably already know is that that is a 386 arch .iso so I assume you are planning on running it in a VM or on some other hardware than rpi. I've never tried to get ANTS built for ARM although it should certainly be possible, I just don't have any hardware to screw around with to motivate me. Enjoy!

At home I have a thinkpad x240 and cheap dell minitower which both run fossil+venti and i mirror the venti blocks using a script called 'ventiprog', and save the rootscores of each machine in both 9fat partitions. I also have some tcp boot old pentium IV servers but they are loud af so I don't really use them that much. Then I have an absolute shitton (like 10) of small vultr vps nodes running all kinds of different configurations, several are tcp boot cpus. My terminal environment grabs services from both locally and remote to build my namespaces. Not sure if that really answers your question or not. Maybe I just should have said 'thinkpad x240 is my main physical terminal' and left it at that. All these namespace tools are written so I can really sillyputty all my configs into whatever shape I like on the fly.

Yeah ill try it on an old computer bare metal.
Or maybe in a vm (worst case).
The network i run on the pi's have specific ports.

Cool. Just gave the documentation a very quick skim and i gather that the end result will be a terminal setup, then requiring a cpu/auth/file config to create your respective type of server?

The install cd actually can do either a terminal or a cpu/auth server, that is one of the customizations I added beyond standard 9front install. The cpu/auth setup doesnt run rio by default and puts the console in a restricted namespace, but you can start rio with the 'gui' command and then enter a standard namespace via rerootwin -f boot if you wish. Also, even the terminal setup runs a cpu listener on a nonstandard port, 17060, which provides access to the independent admin namespace - and again you can enter that namespace, then use rerootwin -f boot to enter the standard fs root. Let me know if you need a little more detail on that, its all documented but if it is unclear, I can make it explicit.

>The install cd actually can do either a terminal or a cpu/auth server, that is one of the customizations I added beyond standard 9front install


This will save me a bit of time if i want to go beyond terminal install. Very nice. Have you given 9front a look at this? Where were you 4 years ago?
Although its clear you are far more knowledgeable than i on the subject of plan9, ill require no help.

I talk to the 9front people and let me know what I'm doing, but in general they aren't too interested in adding any more complexity to the system, which is how they perceive a lot of what I have done, I think. I have a lot of respect for their coding taste and talent, so I respect that. They think some of my work is cool but they don't see a compelling use case for most of it. I think there are also some social issues at work, many of the core 9front people are European and sometimes meet socially, I'm some crazy American guy doing all this weird stuff. It's funny you ask about four years ago, that was when I put out the first release of a lot of this stuff, it was for Bell Labs only at that time, and I more or less had a mental breakdown after about 3 months of straight coding without sleeping. I'm sure that plays a part in my perception by the community also!

I have no experience with Plan9, but I was always interested if you could even implement something like OpenGL or Vulkan in it. It seems ridiculously unfit for it, and it just so happens that latency is really bad for your GPU handling.

Yeah ive delt with the 9f boys on issues in the past concerning rio and i must say they are strange at best. Fuck them its their loss. I like their "humor" though.

Try plan9 from gentoo.

Latency is plan 9 is only an issue for working with remote systems, if you had drivers for the videocards you could get video stuff working just as well in plan 9 as any os, if people put time into getting things ported. There just aren't enough plan 9 developers though, so there is always lower-hanging fruit than dealing with things like 3d acceleration. If a squadron of 20 strong system coders suddenly decided to make everything work fine with plan 9, 3d graphics and modern multimedia and web browsers and everything else would work fine in the os, in terms of looking at any single box, the distributed design doesn't really apply, its actually a fairly traditional kernel, there's no need to try to implement opengl using 9p communication over the network or anything like that.

I want to write my own program that uses 9p.
Any programs people recommend looking at?