home.social

#9p — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #9p, aggregated by home.social.

  1. Windows these days apparently has a 9p driver built in.

    As I was not able to find any documentation on this. Has anyone had any success with getting it to work with a 9p fileshare from qemu/kvm?

    My Reddit post: reddit.com/r/qemu_kvm/comments

    #qemu #kvm #9p #Windows

  2. @lispi314
    Tbh I really despise 9p. For whatever reason it just always fails to be setup properly. I kinda gave up on trying to fix it by now.

    What are you using that it apparently just works and that you'd consider it reliable?

    #9p

    #9p
  3. Here's video evidence of having finally achieved MVP status on my years-old #ePaper #cyberdeck concept. I wrote it up on the ol' #gopher log, but here's the TLDR:

    #9P enabled me to build the perfect pair of ePaper
    #cyberterminal devices -- now made whole with a unique
    computing environment built on #Zephyr -- completed by
    a #plan9 'rc' workalike shell, with commands for namespace management things and interactive chat over #LoRa --
    fulfilling my initial vision for these devices!

  4. "Showing how I used the Reqqueue feature of the 9front 9P library to read continuous data off a I2C rotary encoder."
    youtube.com/watch?v=kRQj1PnFKq
    #plan9 #9front #9p #9pqueue

  5. https://github.com/mgrzeschik/usb9pfs
    This is such a incredibly cool concept.
    It uses 9P over USB instead of NFS to allow a adb-esque interaction with a board to do file-access, booting and other neat embedded controls

    we need more #9P in the world

    #9p
  6. So, to allow a linux vm to access a directory from Fedora host with virtio-9p, I'll need to run:

    # semanage fcontext -a -t svirt_home_t "/some/dir"
    # restorecon -vR /some/dir

    Idk why sealert offers this non-working solution instead. It's really weird.:

    # semanage fcontext -a -t virt_image_t 'dir'
    # restorecon -v 'dir'

    #fedora #linux #selinux #qemu #kvm #vm #virtualmachines #9p #virtio #fedora42 #virtmanager

  7. has DMEXCL/QTEXCL for files that may be opened by only 1 client at a time. But I feel that it would benefit from DMWEXCL for files that can have any number of readers, but opening it with write access requires it be exclusive. Like sync.RWMutex vs sync.Mutex.

  8. It would be hard to overstate how much work it took to make this 4-line commit possible git.lukeshu.com/sbc-harness/co

    #9p
  9. Lots of things out there say that Styx was "a variant of the 9P protocol", but I haven't found anything that says what was actually different about it.

    - The `typ` values that specify the message type are different (9P1 values start counting at 50, Styx starts counting at 0)
    - Tcwalk/Rcwalk have been removed
    - There is no authentication (so Tsession/Rsession have been removed, and Tattach/Rattach have been shortened)

    There you go.

  10. To anyone who knows Plan9/9p, am I reading this correct that 9p does not support extended attributes?

    #Plan9 #9p

  11. In the long-run, the easiest way to run 1e (esp on non-PC platforms) will probably be to write a simple server program that serves BOOTP (pre-DHCP!) + TFTP for PXE boot, and of the archive tarball. But 1e uses a much too old dialect of 9P for any existing software except for 1e itself to be able to serve it. And I don't want to try to write a server for it if I don't have a client to test with.

    So getting `/sys/lib/pcdisk` to boot from FreeDOS is in the bootstrapping path.

  12. I run a small #plan9 grid at home. This is my drawterm on my Linux PC connected to a Pi4 as a CPU server. It is viewing documents from my local PC, and I connected to a faster CPU in a window to play one of the NES games I wrote.

    #distributedcomputing #9p #everythingisafile

  13. I run a small #plan9 grid at home. This is my drawterm on my Linux PC connected to a Pi4 as a CPU server. It is viewing documents from my local PC, and I connected to a faster CPU in a window to play one of the NES games I wrote.

    #distributedcomputing #9p #everythingisafile

  14. I run a small #plan9 grid at home. This is my drawterm on my Linux PC connected to a Pi4 as a CPU server. It is viewing documents from my local PC, and I connected to a faster CPU in a window to play one of the NES games I wrote.

    #distributedcomputing #9p #everythingisafile

  15. I run a small #plan9 grid at home. This is my drawterm on my Linux PC connected to a Pi4 as a CPU server. It is viewing documents from my local PC, and I connected to a faster CPU in a window to play one of the NES games I wrote.

    #distributedcomputing #9p #everythingisafile

  16. I run a small #plan9 grid at home. This is my drawterm on my Linux PC connected to a Pi4 as a CPU server. It is viewing documents from my local PC, and I connected to a faster CPU in a window to play one of the NES games I wrote.

    #distributedcomputing #9p #everythingisafile

  17. Is it theoretically possible to boot #Windows with a #9P root without having to create a disk image, similar to how it works on Linux? The only thing I found is #ninefs, which is very old and unmaintained and it's unclear if that's just an SMB replacement.
    Motivation is explained here: wiki.qemu.org/Documentation/9p
    ninefs: code.google.com/archive/p/nine
    I'm not super familiar with Windows internals, so I'm not sure if this is possible with a driver or if it requires a custom kernel.
    cc: #virtualization #qemu #virtio

  18. In the protocol, "T" messages are client→server requests, and "R" messages are server→client responses. Message types come in pairs of T and R variants (for example: "Topen" and "Ropen"). While there is a number assigned for T "error" requests, it is never used; only the R "error" response is used.

    I do not know what they intended "T" and "R" to stand for.

    But I'm half-convinced that "T" doesn't stand for anything and it just made them giggle whenever they got to write "Terror is illegal".

    #9p
  19. I can't be the only one who uses `[65, 66, 66, 65]` as testing bytes whenever you need something to stand out when doing low-level protocol work?

    #styx #9p

  20. Once I feel that I am compliant (not many calls to implement) I will then get a Plan9/9front machine setup in (what I hope to be) my new lab (in the garage, like a true chad).

    (Gangsta Glenda courtesy of: fqa.9front.org/fqa1.html#1.1.1)

    #9front #pla9 #9p

  21. Once I feel that I am compliant (not many calls to implement) I will then get a Plan9/9front machine setup in (what I hope to be) my new lab (in the garage, like a true chad).

    (Gangsta Glenda courtesy of: fqa.9front.org/fqa1.html#1.1.1)

    #9front #pla9 #9p

  22. Once I feel that I am compliant (not many calls to implement) I will then get a Plan9/9front machine setup in (what I hope to be) my new lab (in the garage, like a true chad).

    (Gangsta Glenda courtesy of: fqa.9front.org/fqa1.html#1.1.1)

    #9front #pla9 #9p

  23. Currently, for now, I am testing by letting v9fs (the 9p driver in the Linux kernel), generate the traffic that I need to decode. This is useful because once I get the Tattach/Rattach done then I should be able to get to the more common I/O operations.

    #9front #pla9 #9p

  24. Currently, for now, I am testing by letting v9fs (the 9p driver in the Linux kernel), generate the traffic that I need to decode. This is useful because once I get the Tattach/Rattach done then I should be able to get to the more common I/O operations.

    #9front #pla9 #9p

  25. Currently, for now, I am testing by letting v9fs (the 9p driver in the Linux kernel), generate the traffic that I need to decode. This is useful because once I get the Tattach/Rattach done then I should be able to get to the more common I/O operations.

    #9front #pla9 #9p

  26. As part of my introduction to Plan 9 I decided the best way to start in a more comfortable environment would be to implement a 9P protocol decoder (with a state machine), encoder and then a high-level client/server framework.

    #9front #pla9 #9p

  27. As part of my introduction to Plan 9 I decided the best way to start in a more comfortable environment would be to implement a 9P protocol decoder (with a state machine), encoder and then a high-level client/server framework.

    #9front #pla9 #9p

  28. As part of my introduction to Plan 9 I decided the best way to start in a more comfortable environment would be to implement a 9P protocol decoder (with a state machine), encoder and then a high-level client/server framework.

    #9front #pla9 #9p

  29. At work (zoo.dev) we use a lot of rust :ferris: and specifically tokio for our servers -- I've been spending some time trying to develop style with it. I figured i'd be good chance to finish a *DECADE OLD* hack I wanted to implement. It's been a few weeks of nights/weekends hacking on it, and I just wrote it up after getting my old blog back online at notes.pault.ag/debugfs/

    #rust #9p #plan9 #gdb #debian #rustlang