marionnet-dev team mailing list archive
-
marionnet-dev team
-
Mailing list archive
-
Message #00941
[Branch ~marionnet-drivers/marionnet/trunk] Rev 525: Second version of marionnet with a support for X11-forwarding not based on the ghost interface et...
------------------------------------------------------------
revno: 525
committer: Jean-Vincent Loddo <loddo@xxxxxxxxxxxxxxxxxxxx>
branch nick: marionnet
timestamp: Wed 2020-04-15 17:50:14 +0200
message:
Second version of marionnet with a support for X11-forwarding not based on the ghost interface eth42. This version works well but is not completely finished on the marionnet's code side (however, what is missing are details). On the other hand, it lacks to build new virtual machines exploiting this new X11-forwarding system based on pseudo-terminal. The little script "uml/guest/make-tarball-for-guest-system.sh" builds easily a tarball, with all the stuff (/etc/init.d/marionnet-{relay,dummy-xserver}, /usr/bin/marionnet-dummy-xservice), ready to be extracted in the root directory of the guest filesystem.
Here a short summary of the mechanism:
HOST SIDE | GUEST SIDE
|
[] <======-marionnet-fork-or-thread-======>[]|[]<=========-socat-=========>[]
unix/inet pseudo-terminal|serial port /tmp/.X11-uix/X0
X11 server socket Ex:"/dev/pts/29"|Ex:"/dev/ttyS4" unix socket
Ex:(inet 127.0.0.1:6010) |
The "socat" service is launched by marionnet-dummy-xservice, once the connexion established by marionnet-dummy-xserver (itself based on socat).
To tell the story in more details, marionnet-dummy-xserver accepts connections from the Unix socket "/tmp/.X11-unix/Xd" (corresponding to DISPLAY=:d.0) and, for an accepted connexion, starts the script marionnet-dummy-xservice that do the job. Basically, this job is nothing more than a "socat" service (/usr/bin/socat, see "man socat") connecting this socket to an available (simulated) serial port in the range /dev/ttySx. The UML kernel will be kind enough to provide an associated pseudo-terminal (/dev/pts/x) on host side, and marionnet.native, running on host side, will provide the rest of connection from the good pseudo-terminal to the real X11 server. The marionnet-dummy-xserver is itself implemented with /usr/bin/socat (instead of another "native-program" of this repository) in order to facilitate the installation of all the necessary stuff in the guest GNU/Linux systems.
added:
uml/guest/make-tarball-for-guest-system.sh
uml/guest/marionnet-dummy-xserver
uml/guest/marionnet-dummy-xservice
modified:
machine.ml
switch.ml
uml/guest/marionnet-relay
x.ml
x.mli
--
lp:marionnet
https://code.launchpad.net/~marionnet-drivers/marionnet/trunk
Your team marionnet-dev is subscribed to branch lp:marionnet.
To unsubscribe from this branch go to https://code.launchpad.net/~marionnet-drivers/marionnet/trunk/+edit-subscription