Mounting 9P on Unix-like operating systems


Under GNU/Linux and *BSD operating systems it is recommended to use 9pfs to mount 9p services.


   doas 9pfs -o allow_other 9front /mnt

9pfs and drawterm

When using drawterm it is possible to serve a 9P connection directly to the host system by binding /mnt/term/net over /net and starting exportfs(1) like shown in the script below


   rfork n
   bind /mnt/term/net /net
   aux/listen1 -t tcp!*!12345 /bin/exportfs -r / &
   os mkdir -p /tmp/drawterm
   os 9pfs localhost -p 12345 /tmp/drawterm

It requires 9pfs to be installed. A side bonus of doing it this way is, that it uses the drawterm’s aan connection to keep the 9p connection up.

9pfs and tlsclient (dp9ik / rcpu)

It is possible to use moody’s tlsclient UNIX port for authenticated tls-encrypted 9p connections using the following script:

   export CPU=<cpu server>
   export AUTH=<auth server>
   export USER=<username>
   export PASS=<password>

   socat unix-listen:/tmp/9psock exec:"9cpu -r /" &
   exec 9pfs -U /tmp/9psock /mnt


The Linux kernel contains a 9p driver that can be made to mostly work with 9front systems. Two things to keep in mind however:


   sudo mount -t 9p -o version=9p2000,port=564,trans=tcp your.9p.server /mnt/9p