Hey Jacob,

That is all really interesting! You have put a ton of work into improving things. I myself have been thankful for the qemu builds so I can skip all the rigamarole.

I think to Ron's point: why is this not clear and easy to find on the 9front site?

Clearly if people are having the troubles in Ron's email, then this information is
not as available or obvious as it should be.

Not denigrating your message, just pointing out a usability problem.

I'll use your resources in the future :)

Cody Holliday
(she/her0


On 01/06/2025 19:36, Jacob Moody wrote:
Hey Ron,

I have been putting a ton of work regarding this, so I want to show
where 9front is now and open the discussions about specifics we can do
better.

Right now we have a nightly builder which builds the entire tree
and all supported architechtures and runs our suite of tests.

The full log of these builds, along with the resulting nightly
images are available here: https://iso.only9fans.com/

Likewise, 9front now releases qcow2 images for use in qemu,
so there is no installation needed. Simply start qemu up
targeting your disk and start hacking away.

Likewise, we mirror both 9front and drawterm through to github
on a nightly basis. You can find and explore the code through that.
We'd like to continue to have the badge of running as much of our
own infrastructure off of 9front as we can so right now we just
sync it.

On 6/1/25 09:21, Ron Minnich wrote:
One thing I hear a lot: installing Plan 9 is  headache for many
people, particularly trying to trace down working docs to produce
working code:  "... it's just a maze full of dead ends."

It's like building a sofa from several different IKEA flatpacks
without instructions :-)

I know lots of you have done lots of work to make this better, but
we're not there. t's easy for many
    of us, at this point, because we have the muscle memory. For anyone
new to this, it's just
    baffling: their muscle memory is for linux.
This muscle memory is going to have to be broken at some point.
I don't think we should change things on our end to pander to linux muscle 
memory.

I think one thing we could put up at the p9f.org site is a set of
simple instructions that include:
- using the WASM version in your browser
I toyed around with this, and for a time even had it on the nightly builder.
However the user experience wasn't great, and I'd like to put a better foot
forward for someone's first use of 9front. If you want this though I already
have it working.

    but I'd like to see this using Lola, not rio. I've lost more people
when I show them rio ...
    whether or not it's great, it's too different for many people. The
lessons rio contain are too
Rio is a core part of the system itself, you're going to have to get
used to it sooner rather then later. Lola is great, and I quite
enjoy that project but it still has a bit to go before changing the
default on new installs.

    much for many people taking a first look.
- setting up with qemu. I'd most prefer to have a git repo which
contains both an ISO and source to
   drawterm which *builds*. I continue to get reports of build problems
with drawterm. If there is a
Drawterm builds, 9front runs ci on it through github[0] for Windows and Mac

https://github.com/9front/actions/actions/workflows/drawterm.yml

Linux is a build it from source yourself, I don't think that's unreasonable
to ask of those using that system. A couple of distributions do ship
the 9front drawterm, and I personally maintain the package for NixOS.
I would maintain packages for other distributions but I found the bureaucracy
frustrating.

If there have been build issues I haven't seen a report, all the bug reports
we get have been addressed and I know that drawterm has continued to build
for nixos (both the x11 and wayland variants for linux, along now with the mac
version as well being checked in)

    devdraw dependency, put that in the repo too. I mention github
because it's linux friendly and
    I can set up CI to ensure that whatever people are pulling, it seems to 
work.
We already mirror drawterm to github: https://github.com/9front/drawterm

and the aforementioned CI is run on a nightly basis. We'd like to not clog
our git repos with yaml so its a bit of a compromise.

- have some way to show people they can "cpu" into the qemu instance,
and show off
    the power of that model.
I did built an all-in-one solution for this, I have my 9front-in-a-box[0]
scripts which automate the combination of qemu and drawterm. I believe someone
else at iwp9 showcased something similar. Granted this is geared at nixos,
but the same could be applied anywhere. However you start to run in to the
"how do I make this work on the entire garden variety of linux distros"
and that itself is a treadmill I wasn't personally interested in,

- There are too many fiddly bits to get right to bring up cpu and
other services. I
You can run preload your factotum and just run an aux/listen1 with the
rcpu listener, this is how the 9front-in-a-box scripts allow you to
drawterm in to a terminal machine.

The challenge: anybody want to take on any of these things?

I may try doing the github repo, since most complaints I get revolve
around qemu and linux usage.
To be entirely frank, if the user is using Linux I think the burden
relies on them to be able to roll up their sleeves a bit.
We do a lot of testing and ensure that stuff works, our nixos packages
have tests that ensure that we at least reach the cpu server prompt.
If something breaks right now it is pretty obvious.
This is just how the average experience of using linux.
Unless we want to play the distro game and testing of this stuff on
the 20 different flavor of the week linux setups that we have.

Maybe we could package stuff up in an appimage or any of those
userspace-in-a-can programs. I'm not entirely sure if that would help.

My point with all this is that things have drastically improved in the
last couple of years in regards to this. We would like more, it would
be nice to be able to create ephemeral VMs for testing individual commits
that people want, we can just shoot an email at something and have it return
a build log. I'd use it for my own patches and use it for other prospective 
patches.
The issue right now is that we're just missing the hardware for doing this.
This is likely to change soon.

Thanks,
Jacob


------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tbe8e5fda6ae62f5c-Me65e8a24e8dc8849006adfe6
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to