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'