summaryrefslogtreecommitdiff
path: root/hurd/translator/9pfs.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'hurd/translator/9pfs.mdwn')
-rw-r--r--hurd/translator/9pfs.mdwn39
1 files changed, 39 insertions, 0 deletions
diff --git a/hurd/translator/9pfs.mdwn b/hurd/translator/9pfs.mdwn
new file mode 100644
index 00000000..b3c45f79
--- /dev/null
+++ b/hurd/translator/9pfs.mdwn
@@ -0,0 +1,39 @@
+[[!meta copyright="Copyright © 2026 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+Sergey wrote a [WIP 9pfs](https://github.com/bugaevc/9pfs) translator
+for the Hurd. 9P is a network protocol developed by Plan 9 that
+connects remote computers’ components. 9pfs is a 9P protocol client,
+which can read (there is some support for writing too) remote
+directories. 9P is perhaps not as robust or as fault tolerant as NFS,
+but it is a rather simple an ingenious protocol that works well enough
+for most use cases. The Hurd’s NFSv3 translator is an alternative to
+9pfs.
+
+Sergey currently uses 9pfs to build software on the Hurd that is
+edited on GNU/Linux. You just need to spin up a 9P server on
+GNU/Linux. [diod](https://github.com/chaos/diod) is a good choice.
+But if the Hurd implemented `virtio-9p`, which qemu supports, then you
+would not need to run diod.
+
+Please note that you can do the same thing with the Hurd’s nfsv3
+client, even though the Hurd’s nfsv3 only supports UDP.
+
+Once there exists a 9P server that runs on the Hurd the following
+would be possible.
+
+- GNU/Linux could read/write several Hurd vms’ filesystems. For this
+to work, a developer needs to port or write a 9P server for the
+GNU/Hurd. Once that 9P server worked, then GNU/Linux could mount the
+Hurd’s filesystem. You just specify that the [filesystem is
+9p](https://docs.kernel.org/filesystems/9p.html).
+
+- The GNU/Hurd could read/write several subhurds’ filesystems and vice
+ versa.