9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] Hello, RPi fixes and bind -b trouble
@ 2024-02-04 15:07 Alyssa M via 9fans
  2024-02-04 16:41 ` [9fans] " moody
  2024-02-04 16:46 ` moody
  0 siblings, 2 replies; 11+ messages in thread
From: Alyssa M via 9fans @ 2024-02-04 15:07 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 2897 bytes --]

Hello Plan9People!

I finally stumbled across Richard Miller's Raspberry Pi image a while back and managed to install it on an RPi, and have been learning more about it. I've used the 9P protocol for a couple of projects, but haven't actually used Plan 9 itself until now...


So far I've patched my installation in a couple of small ways, which has been a useful exercise to get started with:

I think the v6fs support in tapefs has a bug: the last line of doread() should be
return buf+off;
rather than
return buf;
This only shows up if your reads are unaligned with block boundaries. I think v32fs.c has the same bug, but it's okay in v10fs.c.
I realise the number of people who care about this may be very small. :)


I also made a fix to exportfs.c:reply() so it works with the Linux v9fs on my other RPi, which was otherwise pretty much not working for me (???!): I got error 526 which is ESERVERFAULT - untranslatable error, which should supposedly not leak through into Linux user space, but does...
It seems there's a mismatch between the error strings that the plan 9 kernel produces and the ones that v9fs knows how to deal with, as exportfs just passes them along:
Plan 9 produces:
'foo' does not exist
in /sys/src/9/port/chan.c:namelenerror()
v9fs apparently currently expects:
file does not exist
or
file not found
in github/torvalds/linux/net/9p/error.c:p9_errstr2errno()
What I have replaces the 'nice' error string with what v9fs expects. It's not a great fix, but I'm not sure what (or where?) the fix *should* be??
I see the same problem between Ubuntu and 9front as I do between RPi Debian and Rpi Plan 9, so this seems to be a general problem. Without this fix, I couldn't actually create a file on a Plan 9 export from Linux via v9fs. It's not just a weird error message.


Currently I'm trying to build a 'drawterm' server for my experimental OS - so far I can run the clock program on Plan 9 and have it display on my window system (not the catclock - that one gives me the creeps!). I also have bitmaps and text beginning to work, but there's not enough there to run sam or rio yet.

I'm having trouble with bind-mounting my 9p server on Plan 9's /dev, though: the old /dev files are all there, but when I bind -b over it from /n only the files in the directory I'm binding show up in ls! It's like the -b is being ignored by bind(1), but if I ls /dev/null (for example) it's actually there - but after the bind I can no longer see it when I ls /dev! Very odd.
This is not actually blocking me at the moment, but if anyone has any clues about what I might be doing wrong it would save me a lot of hair-pulling?

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tbc78d29ab04652a2-M2d8b0b7bbb2f59b0acb40d34
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 3978 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-02-25  1:01 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-04 15:07 [9fans] Hello, RPi fixes and bind -b trouble Alyssa M via 9fans
2024-02-04 16:41 ` [9fans] " moody
2024-02-04 16:50   ` Alyssa M via 9fans
2024-02-04 22:19     ` Alyssa M via 9fans
2024-02-22 19:45       ` Alyssa M via 9fans
2024-02-22 20:27         ` Jacob Moody
2024-02-23 12:12           ` Alyssa M via 9fans
2024-02-23 18:18             ` Jacob Moody
2024-02-25  1:01               ` Alyssa M via 9fans
2024-02-23  8:03         ` Lucio De Re
2024-02-04 16:46 ` moody

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).