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'