9front - general discussion about 9front
 help / color / mirror / Atom feed
* [9front] Getting Started with Kernel Development?
@ 2021-04-25 14:15 chötrin.
  2021-04-25 16:07 ` cinap_lenrek
  2021-04-26 17:08 ` Daniel Morandini
  0 siblings, 2 replies; 19+ messages in thread
From: chötrin. @ 2021-04-25 14:15 UTC (permalink / raw)
  To: 9front

Hi y'all!

I'm running 9front on a RPi 3B+, and it looks like there's no audio
device support here.  I think I'd like to try my hand at implementing
that, but hacking at the Plan 9 kernel is new to me.

uramekus pointed me to nemo's "Notes on the Plan 9 3rd edition Kernel
Source," which I'm currently perusing to try to grok what's going on.
It's been really helpful so far.

I've also got the "BCM2835 ARM Peripherals" spec, which specifies how
to interact with the chip's I2S audio interface.

I *think*, at least upon cursory inspection, I'm going to be
implementing the bcm64 end of /sys/src/9/port/audioif.h to speak with
/sys/src/9/port/devaudio.c.  I can use the /sys/src/9/pc tree as an
example to follow, assuming I can figure out how the boot code is
calling, say, audiosb16link().  I have plenty of homework ahead of me,
to say the least.

My question to you is this: where do I get started actually making
changes to the 9front kernel and testing them out?  What does, or
should, the development flow look like for me?  Ideally, I'd be able
to go back and forth between a known good kernel and whatever I'm
hacking at.  I don't want to be backing up my SD card and restoring it
over and over again, if at all possible.

If there's some handy writeups, documentation, or tips y'all have for
getting started with this, I'd be much obliged!

Thanks for reading, and be well. :)

chötrin.


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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-25 14:15 [9front] Getting Started with Kernel Development? chötrin.
@ 2021-04-25 16:07 ` cinap_lenrek
  2021-04-25 17:20   ` hiro
  2021-04-25 22:37   ` chötrin.
  2021-04-26 17:08 ` Daniel Morandini
  1 sibling, 2 replies; 19+ messages in thread
From: cinap_lenrek @ 2021-04-25 16:07 UTC (permalink / raw)
  To: 9front

> I've also got the "BCM2835 ARM Peripherals" spec, which specifies how
> to interact with the chip's I2S audio interface.

As far as i know, the stock raspberry pi is not using I2S.

There are some people that have build their own soundcards
for the pi with a I2S DAC but it is not standard.

Instead, they hacked together some filter circuit and connected
it to a GPIO pin.

(This pattern is a logical continuation on raspberry pi hardware
design philosphy, where using the existing dedicated peripherals
for their intended purpose must be rejected and standards must be
ignored: cpu -> GPU, ethernet -> USB, audio -> GPIO, wifi -> SDCARD,
usb -> ?????WHATISTHIS????, usbc -> ?????, PXE -> ???????).

The GPU has firmware code to drive that GPIO pin and also send
audio over HDMI, but todo that you have to talk to the videocore
firmware thru a complicated software media streaming interface.

Afik, it is possible to drive the gpio pin from the cpu somehow
but quality will be garbage and waste alot of power.

--
cinap

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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-25 16:07 ` cinap_lenrek
@ 2021-04-25 17:20   ` hiro
  2021-04-25 17:21     ` hiro
  2021-04-25 23:36     ` Steve Simon
  2021-04-25 22:37   ` chötrin.
  1 sibling, 2 replies; 19+ messages in thread
From: hiro @ 2021-04-25 17:20 UTC (permalink / raw)
  To: 9front

here's a fitting solution

https://de.aliexpress.com/item/1005002220730177.html

i picked this one because it doesn't have a case,  just like the rpi.
of course the ones with case are a little cheaper, but this way you
can say you built it yourself

On 4/25/21, cinap_lenrek@felloff.net <cinap_lenrek@felloff.net> wrote:
>> I've also got the "BCM2835 ARM Peripherals" spec, which specifies how
>> to interact with the chip's I2S audio interface.
>
> As far as i know, the stock raspberry pi is not using I2S.
>
> There are some people that have build their own soundcards
> for the pi with a I2S DAC but it is not standard.
>
> Instead, they hacked together some filter circuit and connected
> it to a GPIO pin.
>
> (This pattern is a logical continuation on raspberry pi hardware
> design philosphy, where using the existing dedicated peripherals
> for their intended purpose must be rejected and standards must be
> ignored: cpu -> GPU, ethernet -> USB, audio -> GPIO, wifi -> SDCARD,
> usb -> ?????WHATISTHIS????, usbc -> ?????, PXE -> ???????).
>
> The GPU has firmware code to drive that GPIO pin and also send
> audio over HDMI, but todo that you have to talk to the videocore
> firmware thru a complicated software media streaming interface.
>
> Afik, it is possible to drive the gpio pin from the cpu somehow
> but quality will be garbage and waste alot of power.
>
> --
> cinap
>

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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-25 17:20   ` hiro
@ 2021-04-25 17:21     ` hiro
  2021-04-25 23:36     ` Steve Simon
  1 sibling, 0 replies; 19+ messages in thread
From: hiro @ 2021-04-25 17:21 UTC (permalink / raw)
  To: 9front

sorry, just realized this is rpi3.
rpi3 has no good usb support, maybe that's why they thought gpio will
be more stable?

maybe you'll have to try it out, and if it doesn't work, just upgrade to a rpi4.

On 4/25/21, hiro <23hiro@gmail.com> wrote:
> here's a fitting solution
>
> https://de.aliexpress.com/item/1005002220730177.html
>
> i picked this one because it doesn't have a case,  just like the rpi.
> of course the ones with case are a little cheaper, but this way you
> can say you built it yourself
>
> On 4/25/21, cinap_lenrek@felloff.net <cinap_lenrek@felloff.net> wrote:
>>> I've also got the "BCM2835 ARM Peripherals" spec, which specifies how
>>> to interact with the chip's I2S audio interface.
>>
>> As far as i know, the stock raspberry pi is not using I2S.
>>
>> There are some people that have build their own soundcards
>> for the pi with a I2S DAC but it is not standard.
>>
>> Instead, they hacked together some filter circuit and connected
>> it to a GPIO pin.
>>
>> (This pattern is a logical continuation on raspberry pi hardware
>> design philosphy, where using the existing dedicated peripherals
>> for their intended purpose must be rejected and standards must be
>> ignored: cpu -> GPU, ethernet -> USB, audio -> GPIO, wifi -> SDCARD,
>> usb -> ?????WHATISTHIS????, usbc -> ?????, PXE -> ???????).
>>
>> The GPU has firmware code to drive that GPIO pin and also send
>> audio over HDMI, but todo that you have to talk to the videocore
>> firmware thru a complicated software media streaming interface.
>>
>> Afik, it is possible to drive the gpio pin from the cpu somehow
>> but quality will be garbage and waste alot of power.
>>
>> --
>> cinap
>>
>

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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-25 16:07 ` cinap_lenrek
  2021-04-25 17:20   ` hiro
@ 2021-04-25 22:37   ` chötrin.
  1 sibling, 0 replies; 19+ messages in thread
From: chötrin. @ 2021-04-25 22:37 UTC (permalink / raw)
  To: 9front

Quoth cinap_lenrek@felloff.net:
> As far as i know, the stock raspberry pi is not using I2S.

I've run Raspbian on another RPi and used the onboard sound with it,
but not sure about how it's handled under the hood.  I *suspect* it's
using I2S.  At least, that's what it looks like from this ALSA driver
source:

https://github.com/raspberrypi/linux/blob/rpi-5.10.y/sound/soc/bcm/bcm2835-i2s.c

There's some discussion on the RPi forums that hints at how the
onboard sound works:

https://www.raspberrypi.org/forums/viewtopic.php?t=59823

And the BCM spec I mentioned is here (warning: huge PDF):

https://cs140e.sergio.bz/docs/BCM2837-ARM-Peripherals.pdf

The relevant parts start on page 119.  Apparently the register base
address moved between BCM2835 and BCM2837.

Anyway, this may be a fool's errand to get working-- you could very
well be correct that they're doing some really janky stuff between the
Broadcom chip and the audio out pins.  I haven't dug deep enough to
stare at any schematics or anything like that yet.

Still, I'd like to give it a go.  I'd like to dig into the guts of
Plan 9 and I'd like to get audio working without tacking on an
external DAC (although, that'd probably sound WAY better).

I'm *thinking* that I'll use some external thumbdrive or be dropping
stuff into the RPi's FAT partition depending on how accessible the
bitbanging is from userspace.  I'm new to Plan 9, so I'm probably
pretty far off the mark.

Quoth cinap_lenrek@felloff.net:
> The GPU has firmware code to drive that GPIO pin and also send
> audio over HDMI, but todo that you have to talk to the videocore
> firmware thru a complicated software media streaming interface.

Oh yeah, I saw that, also.  I think I'll pass on trying to do that for
the time being.  :^)

chötrin.


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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-25 17:20   ` hiro
  2021-04-25 17:21     ` hiro
@ 2021-04-25 23:36     ` Steve Simon
  2021-04-26  9:33       ` hiro
  1 sibling, 1 reply; 19+ messages in thread
From: Steve Simon @ 2021-04-25 23:36 UTC (permalink / raw)
  To: 9front

there was a gsoc project which added the crude audio out to the raspberry pi2 under the labs kernel, this did not work on the pi3 though it is probably not too hard to fix.

i2s is not a bad solution as mont of the pi hats take the i2s feed from the gpio pins; the pi soc has an i2s interface in it.

better results can be achieved if you reverse the clock direction lock to clocks from a  dac card with a pair of crystals on it. the i2c clock divider on the pi doesn’t generate very stable 48k (or is it 44.1?, one of them is a problem).

-Steve




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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-25 23:36     ` Steve Simon
@ 2021-04-26  9:33       ` hiro
  2021-04-26 13:01         ` Steve Simon
  0 siblings, 1 reply; 19+ messages in thread
From: hiro @ 2021-04-26  9:33 UTC (permalink / raw)
  To: 9front

> the i2c clock divider
> on the pi doesn’t generate very stable 48k (or is it 44.1?, one of them is a
> problem).

why not both of them?
the rpi is the most horrible signal processing hardware i have seen so far

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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-26  9:33       ` hiro
@ 2021-04-26 13:01         ` Steve Simon
  0 siblings, 0 replies; 19+ messages in thread
From: Steve Simon @ 2021-04-26 13:01 UTC (permalink / raw)
  To: 9front


just to be clear, the pi can generate fairly clean clocks for one of the audio sample rates but the way the divisors work out it can only generate a very jittery version of the other, duty cycle bouncing around - not condusive to 24buts of snr.

external crystals is definitley the best solution for both rates, but great care in psu noise and rif is also needed if you want the best results.

-Steve


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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-25 14:15 [9front] Getting Started with Kernel Development? chötrin.
  2021-04-25 16:07 ` cinap_lenrek
@ 2021-04-26 17:08 ` Daniel Morandini
  2021-04-26 17:17   ` hiro
  2021-04-26 23:40   ` chötrin.
  1 sibling, 2 replies; 19+ messages in thread
From: Daniel Morandini @ 2021-04-26 17:08 UTC (permalink / raw)
  To: 9front

Hi,
> Ideally, I'd be able
> to go back and forth between a known good kernel and whatever I'm
> hacking at.  I don't want to be backing up my SD card and restoring it
> over and over again, if at all possible.
Network boot [2]! Starting from rpi 2B v1.2, if you change the OTP
field that allows USB boot mode [1], your SD slot becomes just a
useful SD card reader. Otherwise you need the `bootcode.bin` file
to be in the sd at boot time, but that does not have to change.

Cheers,
dan

[1] https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net.md
[2] http://fqa.9front.org/fqa6.html#6.7

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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-26 17:08 ` Daniel Morandini
@ 2021-04-26 17:17   ` hiro
  2021-04-27  9:39     ` Daniel Morandini
  2021-04-26 23:40   ` chötrin.
  1 sibling, 1 reply; 19+ messages in thread
From: hiro @ 2021-04-26 17:17 UTC (permalink / raw)
  To: 9front

rpi is not very good at network booting.
but you can use 9front to network reboot.
in other words, you can keep an outdated kernel on the sd card, as a
9front bootloader.
that's one of the many great things you can build with /dev/reboot !

On 4/26/21, Daniel Morandini <danielmorandini@me.com> wrote:
> Hi,
>> Ideally, I'd be able
>> to go back and forth between a known good kernel and whatever I'm
>> hacking at.  I don't want to be backing up my SD card and restoring it
>> over and over again, if at all possible.
> Network boot [2]! Starting from rpi 2B v1.2, if you change the OTP
> field that allows USB boot mode [1], your SD slot becomes just a
> useful SD card reader. Otherwise you need the `bootcode.bin` file
> to be in the sd at boot time, but that does not have to change.
>
> Cheers,
> dan
>
> [1]
> https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net.md
> [2] http://fqa.9front.org/fqa6.html#6.7

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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-26 17:08 ` Daniel Morandini
  2021-04-26 17:17   ` hiro
@ 2021-04-26 23:40   ` chötrin.
  1 sibling, 0 replies; 19+ messages in thread
From: chötrin. @ 2021-04-26 23:40 UTC (permalink / raw)
  To: 9front

Quoth Daniel Morandini <danielmorandini@me.com>:
> Network boot [2]!
> [...snip...]
> https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net.md
> http://fqa.9front.org/fqa6.html#6.7

OK, both of these options are AWESOME.  Thank you and hiro so much for
pointing me in this direction.  I'll have to stand up another 9front
box or VM to get my acme feel-goods on while I'm working on this, but
that's so much better than what I thought I'd be doing.

FWIW, I dug up the Raspberry Pi 3B+ schematic [1].  It looks like PWM
is what's tied to the onboard audio output, not I2S.  The PWM register
addresses [2] look like they start at 0x7e20c000 and match the BCM2835
ARM Peripherals spec from earlier.  I've... got my work cut out for
me, but it'll be a learning experience.  :D

Thanks, y'all! I really appreciate it.

chötrin.

[1]: https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/rpi_SCH_3bplus_1p0_reduced.pdf
[2]: https://elinux.org/BCM2835_registers


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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-26 17:17   ` hiro
@ 2021-04-27  9:39     ` Daniel Morandini
  2021-04-27 11:07       ` cinap_lenrek
  0 siblings, 1 reply; 19+ messages in thread
From: Daniel Morandini @ 2021-04-27  9:39 UTC (permalink / raw)
  To: 9front

Hi hiro!
> rpi is not very good at network booting.
With bootcode.bin on the pi I’m not having any kind of issues right
now! Which aspect do you think could be improved?

> that's one of the many great things you can build with /dev/reboot !
Tell us more tell us more!!! :D

dan

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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-27  9:39     ` Daniel Morandini
@ 2021-04-27 11:07       ` cinap_lenrek
  2021-04-28  8:34         ` Daniel Morandini
  2021-04-29  5:10         ` kjn
  0 siblings, 2 replies; 19+ messages in thread
From: cinap_lenrek @ 2021-04-27 11:07 UTC (permalink / raw)
  To: 9front

boot(8):

        Booting Methods
...
          reboot  starts another kernel. The device is of the form
                  bootfile [ ! method ] where bootfile is the path to
                  the kernel and method is any of the above boot meth-
                  ods that connects to the fileserver on where the
                  bootfile is located.
---

so you can put this in plan9.ini/cmdline.txt:

bootargs=reboot!/sys/src/9/bcm/s9pi2!tls

this will mount the file server using network boot
method (tls) and after that, ust load the kernel
from the specified path and start it.

--
cinap

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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-27 11:07       ` cinap_lenrek
@ 2021-04-28  8:34         ` Daniel Morandini
  2021-04-29  5:10         ` kjn
  1 sibling, 0 replies; 19+ messages in thread
From: Daniel Morandini @ 2021-04-28  8:34 UTC (permalink / raw)
  To: 9front

> boot(8):
> 
>        Booting Methods
> ...
>          reboot  starts another kernel. The device is of the form
>                  bootfile [ ! method ] where bootfile is the path to
>                  the kernel and method is any of the above boot meth-
>                  ods that connects to the fileserver on where the
>                  bootfile is located.
> ---
> 
> so you can put this in plan9.ini/cmdline.txt:
> 
> bootargs=reboot!/sys/src/9/bcm/s9pi2!tls
> 
> this will mount the file server using network boot
> method (tls) and after that, ust load the kernel
> from the specified path and start it.

I did't notice it, amazing! Thank you cinap!

Have a nice day you all,
it's a wonderful morning here.

Cheers,
dan

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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-27 11:07       ` cinap_lenrek
  2021-04-28  8:34         ` Daniel Morandini
@ 2021-04-29  5:10         ` kjn
  2021-04-29 11:07           ` Eli Cohen
  1 sibling, 1 reply; 19+ messages in thread
From: kjn @ 2021-04-29  5:10 UTC (permalink / raw)
  To: 9front

Quoth cinap_lenrek@felloff.net:
> boot(8):
> 
>         Booting Methods
> ...
>           reboot  starts another kernel. The device is of the form
>                   bootfile [ ! method ] where bootfile is the path to
>                   the kernel and method is any of the above boot meth-
>                   ods that connects to the fileserver on where the
>                   bootfile is located.
> ---
> 
> so you can put this in plan9.ini/cmdline.txt:
> 
> bootargs=reboot!/sys/src/9/bcm/s9pi2!tls
> 
> this will mount the file server using network boot
> method (tls) and after that, ust load the kernel
> from the specified path and start it.
> 
> --
> cinap

This is fantastic. I didn't realize this could be done.
Thanks for enlightening me.

-- Kyle


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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-29  5:10         ` kjn
@ 2021-04-29 11:07           ` Eli Cohen
  2021-04-30  1:12             ` chötrin.
  0 siblings, 1 reply; 19+ messages in thread
From: Eli Cohen @ 2021-04-29 11:07 UTC (permalink / raw)
  To: 9front

I started on an audio driver a while back, there seems to be another
one in extra that might be better

https://raw.githubusercontent.com/echoline/9emmc/master/bcm/audiobcm2835.c

On Thu, Apr 29, 2021 at 12:04 AM <kjn@9project.net> wrote:
>
> Quoth cinap_lenrek@felloff.net:
> > boot(8):
> >
> >         Booting Methods
> > ...
> >           reboot  starts another kernel. The device is of the form
> >                   bootfile [ ! method ] where bootfile is the path to
> >                   the kernel and method is any of the above boot meth-
> >                   ods that connects to the fileserver on where the
> >                   bootfile is located.
> > ---
> >
> > so you can put this in plan9.ini/cmdline.txt:
> >
> > bootargs=reboot!/sys/src/9/bcm/s9pi2!tls
> >
> > this will mount the file server using network boot
> > method (tls) and after that, ust load the kernel
> > from the specified path and start it.
> >
> > --
> > cinap
>
> This is fantastic. I didn't realize this could be done.
> Thanks for enlightening me.
>
> -- Kyle
>

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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-29 11:07           ` Eli Cohen
@ 2021-04-30  1:12             ` chötrin.
  2021-04-30  1:24               ` Eli Cohen
  0 siblings, 1 reply; 19+ messages in thread
From: chötrin. @ 2021-04-30  1:12 UTC (permalink / raw)
  To: 9front

Quoth Eli Cohen <echoline@gmail.com>:
> I started on an audio driver a while back, there seems to be another
> one in extra that might be better
> 
> https://raw.githubusercontent.com/echoline/9emmc/master/bcm/audiobcm2835.c

This is great! Thank you for sharing this. :D

chötrin.


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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-30  1:12             ` chötrin.
@ 2021-04-30  1:24               ` Eli Cohen
  2021-04-30  7:36                 ` hiro
  0 siblings, 1 reply; 19+ messages in thread
From: Eli Cohen @ 2021-04-30  1:24 UTC (permalink / raw)
  To: 9front

I'm very glad you appreciate it! it still needs a few things done if
used over a different driver, it needs GPIO pin selection for
different boards, better buffering (right now each write just gets
alloced and sent whole to the speakers), and it just plain sounds
scratchy...

- Eli

On Thu, Apr 29, 2021 at 6:17 PM chötrin. <chotrin@posteo.net> wrote:
>
> Quoth Eli Cohen <echoline@gmail.com>:
> > I started on an audio driver a while back, there seems to be another
> > one in extra that might be better
> >
> > https://raw.githubusercontent.com/echoline/9emmc/master/bcm/audiobcm2835.c
>
> This is great! Thank you for sharing this. :D
>
> chötrin.
>

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

* Re: [9front] Getting Started with Kernel Development?
  2021-04-30  1:24               ` Eli Cohen
@ 2021-04-30  7:36                 ` hiro
  0 siblings, 0 replies; 19+ messages in thread
From: hiro @ 2021-04-30  7:36 UTC (permalink / raw)
  To: 9front

if they are scratchy perhaps you want a kratzbaum like
https://shop-cdn-m.mediazs.com/bilder/natural/paradise/kratzbaum/deckenspanner/xxl/9/400/59368_59369_np_kb_ds_xxl_1000x1000_logo_la_dsc8713_9.jpg

On 4/30/21, Eli Cohen <echoline@gmail.com> wrote:
> I'm very glad you appreciate it! it still needs a few things done if
> used over a different driver, it needs GPIO pin selection for
> different boards, better buffering (right now each write just gets
> alloced and sent whole to the speakers), and it just plain sounds
> scratchy...
>
> - Eli
>
> On Thu, Apr 29, 2021 at 6:17 PM chötrin. <chotrin@posteo.net> wrote:
>>
>> Quoth Eli Cohen <echoline@gmail.com>:
>> > I started on an audio driver a while back, there seems to be another
>> > one in extra that might be better
>> >
>> > https://raw.githubusercontent.com/echoline/9emmc/master/bcm/audiobcm2835.c
>>
>> This is great! Thank you for sharing this. :D
>>
>> chötrin.
>>
>

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

end of thread, other threads:[~2021-04-30  8:06 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-25 14:15 [9front] Getting Started with Kernel Development? chötrin.
2021-04-25 16:07 ` cinap_lenrek
2021-04-25 17:20   ` hiro
2021-04-25 17:21     ` hiro
2021-04-25 23:36     ` Steve Simon
2021-04-26  9:33       ` hiro
2021-04-26 13:01         ` Steve Simon
2021-04-25 22:37   ` chötrin.
2021-04-26 17:08 ` Daniel Morandini
2021-04-26 17:17   ` hiro
2021-04-27  9:39     ` Daniel Morandini
2021-04-27 11:07       ` cinap_lenrek
2021-04-28  8:34         ` Daniel Morandini
2021-04-29  5:10         ` kjn
2021-04-29 11:07           ` Eli Cohen
2021-04-30  1:12             ` chötrin.
2021-04-30  1:24               ` Eli Cohen
2021-04-30  7:36                 ` hiro
2021-04-26 23:40   ` chötrin.

9front - general discussion about 9front

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/9front

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 9front 9front/ http://inbox.vuxu.org/9front \
		9front@9front.org
	public-inbox-index 9front

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.9front


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git