--- hurd/translator.mdwn | 5 +++-- hurd/translator/9pfs.mdwn | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 hurd/translator/9pfs.mdwn
diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn index 86c6d4b4..3fe84bb7 100644 --- a/hurd/translator.mdwn +++ b/hurd/translator.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free -Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011, 2012, +2013, 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 @@ -130,6 +130,7 @@ The [[concept|concepts]] of translators creates its own problems, too: # Translators Being Under Development +* [[9pfs]] * [[random]] * [[cvsfs]] * [[tmpfs]] 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. -- 2.53.0
