vx32

Local 9vx git repository for patches.
git clone git://r-36.net/vx32
Log | Files | 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'