Add a 9P interface to our filesystem
- Dominant language
- JavaScript
- Stars
- 14
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
Depending on the outcome of our research in #26, we're going to need a way to mount the IndexedDB web filesystem (probably [filer](https://github.com/filerjs/filer)) in the browser VM for our OS/shell. Just about every example I see is using the Plan9 filesystem (9P) implementation for Linux [v9fs](https://lwn.net/Articles/137439/).
The protocol is pretty slim, transport agnostic (we can easily do it over message passing between frames/windows/workers), and would map well onto our filesystem. There are also a number of [existing JavaScript implementations](http://9p.cat-v.org/implementations), including (and in order of how well maintained they appear to be):
* [js9p](https://github.com/anantn/web9/tree/master/js9p) (MIT)
* [limbo-machine](https://code.google.com/archive/p/limbo-machine/wikis/JS.wiki) (LGPL)
* [arm-js](https://github.com/ozaki-r/arm-js) (MIT, LGPL)
* [jor1k](https://github.com/s-macke/jor1k) (BSD)
* [v86](https://github.com/copy/v86) (BSD)
The goal would be to allow our VM (probably v86) to mount our filesystem over 9P into `/home` or the like, and work with the files and dirs as if they were in the VM.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.