well, here's a fun one.

I've got my golang cpu command working on plan 9. So I'm working to have my
plan 9 cpu connect to a linux vmx guest running my golang cpud.

The linux kernel has the initramfs builtin, so ... one file for vmx to
worry about, and 0 disk images.

side note: qemu was choking on this kernel somehow, but vmx ran it just
fine. I like vmx much more than qemu at this point. I prefer to test these
linux kernels on vmx now.

The goal is to have a linux appliance process, where it is easy to (e.g.)
run python3. So the only thing embedded in the linux kernel is u-root
programs and a cpud. You should be able to cd to the root of a linux file
system, and say
linux usr/bin/python3
where linux is a wrapper for vmx, and have it work. We had this on akaros.
It's handy.

The only big problem will be the plethora of symlinks in linux images, but
I have a workaround for that, so we'll see.

Anyway, plan 9 cpu was connecting to linux cpud, mounts were happening, and
so on, then I got this on the cpud side:
"exec: environment variable contains NUL"
and the cpud exec failed.
WTH? Well, it turns out, it's this in src/os/exec/exec.go.

                // Reject NUL in environment variables to prevent security
issues (#56284);
                // except on Plan 9, which uses NUL as os.PathListSeparator
(#56544).

The problem is, this doesn't work if you are communicating plan 9
environment variables to Linux, and that's what we're doing. You kind of
have to for cpu. I will guess I'm the first person to see this ... kind of
funny. Working on it.

I'm a bit annoyed that whoever wrote the test and error did this:
err = errors.New("exec: environment variable contains NUL"
instead of this:
err = fmt.Errorf"%q:exec: environment variable contains NUL", kv)
since it's always kind of nice to produce useful error messages :-)
but at least I got something!

btw, my talk, the paper, and the code for vmthreads is mirrored to
github.com/rminnich/vmproc.

------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T9b0ff93502ee4130-M0afc20d409874a229612b2f8
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to