| RUMP_SERVER(1) | General Commands Manual | RUMP_SERVER(1) |
rump_server,
rump_allserver — rump kernel
server
rump_server |
[-sv] [-c
ncpu] [-d
drivespec] [-l
library] [-m
module] [-r
total_ram] url |
The rump_server utility is used to provide
a rump kernel service. Clients can use the system calls provided by
rump_server via url.
The difference between rump_server and
rump_allserver is that
rump_server offers only a minimalistic set of
features, while rump_allserver provides all rump
kernel components which were available when the system was built. At
execution time it is possible to load components from the command line as
described in the options section.
-c
ncpu-d
drivespec=value
format and must contain the following tokens:
keyhostpathThe type of file that key is exposed
as within the rump kernel is specified with:
typeblk’,
‘chr’, and
‘reg’ for block device,
character device and regular file, respectively. The default is a
block device (‘blk’).
Note: the contents of block devices are cached in the rump kernel's buffer cache. To avoid cache incoherency, it is advisable not to access a file through the host namespace while it is mapped as a block device in a rump kernel.
For block and character devices the [offset, offset+size] region of the file must be specified with:
disklabelhostpath must contain a valid
disklabel within the first 64k.offsetsizehost’ indicates that the
current size of hostpath will be used. In this
case it is assumed that hostpath exists and is
a regular file.In case hostpath does not exist, it
will be created as a regular file with mode 0644 (plus any restrictions
placed by umask). In case hostpath is a regular
file and is not large enough to accommodate the specified size, it will
be extended to the specified size.
-l
libraryThe argument library can contain a full
path or a filename, in which case the standard dynamic library search
path will be used. By default, lazy resolution is used, and may result
in a runtime error due to missing components. To test a configuration,
run rump_server with
LD_BIND_NOW=1 (see
EXAMPLES).
-m
module-r
total_ram-srump_server detaches from the terminal once the
service is running on url.-vAB_VERBOSE in rump kernel's
boothowto(9).After use, rump_server can be made to exit
using rump.halt(1).
Start a server and load the tmpfs file system module, and halt the server immediately afterwards:
$ rump_server -lrumpvfs -m /modules/tmpfs.kmod unix://sock $ env RUMP_SERVER=unix://sock rump.halt
Start a server with the one gigabyte host file dk.img mapped as the block device /dev/dk in the rump kernel.
$ rump_allserver -d
key=/dev/dk,hostpath=dk.img,size=1g unix://sockStart a server which listens on INADDR_ANY port 3755
$ rump_server
tcp://0:3755/Test that a configuration contains all of the necessary components:
$ env LD_BIND_NOW=1 rump_server
-lrumpvfs -lrumpfs_ffs unix://tsockStart a FFS server with a 16MB kernel memory limit.
$ rump_server -lrumpfs_ffs [...] -r
16m unix://ffs| April 24, 2023 | NetBSD 11.0 |