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:
key
hostpath
The type of file that key
is exposed
as within the rump kernel is specified with:
type
blk
’,
‘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:
disklabel
hostpath
must contain a valid
disklabel within the first 64k.offset
size
host
’ 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-s
rump_server
detaches from the terminal once the
service is running on url.-v
AB_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://sock
Start 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://tsock
Start a FFS server with a 16MB kernel memory limit.
$ rump_server -lrumpfs_ffs [...] -r
16m unix://ffs
April 24, 2023 | NetBSD 10.99 |