| digraph { |
| console_forwarder |
| host_console_in [label = "internal/console.in", shape="rectangle"] |
| host_console_out [label = "internal/console.out", shape="rectangle"] |
| host_pty [label = "/dev/pty/###", shape="rectangle"] |
| run_cvd |
| screen |
| user [label = "User CLI"] |
| vmm [label = "crosvm / qemu"] |
| subgraph cluster_android { |
| label = "Android VM" |
| vm_console [label = "/dev/ttyS0", shape="rectangle"] |
| shell [label = "toybox / sh"] |
| } |
| |
| user -> screen |
| screen -> host_pty |
| host_pty -> screen |
| |
| run_cvd -> console_forwarder |
| host_console_out -> console_forwarder |
| console_forwarder -> host_console_in |
| vmm -> host_console_out |
| host_console_in -> vmm |
| console_forwarder -> host_pty |
| host_pty -> console_forwarder |
| |
| vmm -> vm_console |
| vm_console -> vmm |
| vm_console -> shell |
| shell -> vm_console |
| } |