9vx.1 - vx32 - Local 9vx git repository for patches.
(HTM) git clone git://r-36.net/vx32
(DIR) Log
(DIR) Files
(DIR) Refs
---
9vx.1 (3962B)
---
1 \" # Generate html (uses p9p)
2 \" # sed -n 's/\\" //p' 9vx.1 | 9 rc > 9vx.html
3 \" troff -manhtml 9vx.1 | troff2html | sed '
4 \" s/Plan 9 man page/Plan 9 VX man page/
5 \" s,9VX,<a href="http://bytebucket.org/yiyus/vx32/wiki/">&</a>,g
6 \" '
7 .TH 9VX 1
8 .SH NAME
9 9vx \- Plan9 port to the virtual execution environment vx32
10 .SH SYNOPSIS
11 .B 9vx
12 [
13 .I -gt
14 ]
15 [
16 .I -f inifile | var=value ...
17 ]
18 [
19 .I -i initarg
20 ]
21 [
22 .I -r localroot
23 ]
24 [
25 .I -u user
26 ]
27 .PP
28 .B 9vxc
29 [
30 .I 9vx options
31 ]
32 .PP
33 .B 9vxp
34 .I profile
35 [
36 .I 9vx options
37 ]
38 .PP
39 .B acmevx
40 [
41 .I 9vx options
42 ]
43 .PP
44 .B rcvx
45 [
46 .I rc(1) options
47 ]
48 .PP
49 .B tap
50 .I cmd
51 [
52 .I cmd options
53 ]
54 .SH DESCRIPTION
55 Plan 9 VX (or 9vx for short) is a port of the Plan 9 operating system to
56 run on top of commodity operating systems, allowing the use of both Plan
57 9 and the host system simultaneously. To run user programs, 9vx creates
58 an appropriate address space in a window within its own address space
59 and invokes vx32 to simulate user mode execution.
60 .PP
61 9vx configuration is determined by assignments of the form
62 .I var=value
63 read from its argument list or from one or more
64 files specified as
65 .I –f inifile
66 (a file name
67 .L -
68 means the standard input). The rules are the same than for plan9.ini(8)
69 files, with the addition that values between quotes in rc(1) style
70 can span multiple lines.
71 .PP
72 The following variables are understood by 9vx:
73 .PD
74 .TP
75 .B cpulimit
76 Maximum cpu usage in percentage. A value of 0 (default) means that
77 there is no limit
78 .TP
79 .B memsize
80 Memory size in Mb (256 by default)
81 .TP
82 .B canopenpath
83 The host files whose path begins with
84 .I canopenpath
85 can be opened from
86 .I #Z
87 (
88 .I /
89 by default)
90 .TP
91 .B etherx
92 Setup a virtual ethernet device. Parameters take the default values
93 .I type=tap
94 (it can also be
95 .I pcap
96 ),
97 .I dev=/dev/tap0
98 for tap and
99 .I dev=
100 for pcap (will look for the first one available) and
101 .I ea=00:00:09:00:00:0x
102 in both cases. If no device is configured the
103 network stack of the host system is used
104 .TP
105 .B initarg
106 Set
107 .I init=/386/init -t initarg
108 quoting initarg as needed
109 .TP
110 .B localroot
111 Set
112 .I nobootprompt=local!#Z/localroot
113 after converting localroot to an absolute path in the host.
114 .TP
115 .B user
116 Set user name, the host system user is used by default
117 .PP
118 Other
119 .I var=value
120 arguments are used to set environment variables before control is passed
121 to boot(8). Some configuration values can be set directly using flags in
122 the command line:
123 .I -i
124 sets
125 .I initargs
126 ,
127 .I -r
128 sets
129 .I localroot
130 and
131 .I -u
132 sets
133 .I user.
134 If
135 .I -t
136 is given the current tty or the standard input/output will be used as
137 the system console. With
138 .I -g
139 the gui will not be started.
140 .SS Booting 9vx
141 When started, 9vx will run a modified version of boot(8) which accepts
142 additional root locations for the local boot method: local directories,
143 iso images and bz2 files (a compressed file system /boot/rootfs is
144 included in the 9vx executable). Fossil and kfs partitions (possibly in
145 a local file) can be used too, as well as the tcp boot method.
146 .SS Running 9vx
147 Some scripts are included with 9vx as example:
148 .I 9vxc
149 boots a cpu sever,
150 .I 9vxp
151 boots a terminal as if
152 .I profile
153 was the lib/profile file (where
154 .I profile
155 can be a file or rc(1) commands),
156 .I acmevx
157 uses 9vxp to run acme(1) inside 9vx,
158 .I rcvx
159 runs rc(1) from the included rootfs bz2 image and
160 .I tap
161 adds a tap device before executing
162 .I cmd
163 (one of 9vx[cp]) and removes it when finished.
164 .SS Exiting 9vx
165 Reboot signals terminate 9vx execution. In particular, the reboot command
166 will exit printing its arguments to starndard error.
167 .SH BUGS
168 The pcap ethernet device is not compiled by default (fails without
169 pcap.h). To compile it, set PLAN9PCAP to etherpcap in the Makefrag file
170 and recompile.
171 .P
172 The menu system of plan9.ini(8) is not supported in
173 .I 9vx.ini
174 files.
175 .P
176 Debugging flags are not documented (
177 .I -1ABFKLMPSUX
178 )
179 .P
180 9vx is not so stable as native Plan9 systems.
181 .SH "SEE ALSO"
182 .br
183 Bryan Ford and Russ Cox,
184 ``Vx32: Lightweight User-level Sandboxing on the x86'