2013-12-05 14:45:14 +00:00
|
|
|
================================
|
|
|
|
Genode's Rump Kernel kernel port
|
|
|
|
================================
|
|
|
|
|
|
|
|
This repository contains the Genode version of the [http://wiki.netbsd.org/rumpkernel/ - rump kernel].
|
|
|
|
The kernel is currently used to gain file-system access from within Genode. In
|
|
|
|
order to achieve that, a Genode file-system server is located at
|
|
|
|
_src/server/rump_fs_. For accessing the server through the libc, the _libc_fs_
|
|
|
|
plugin can be facilitated, which is available in the _libports_ repository.
|
|
|
|
|
|
|
|
Building instructions
|
|
|
|
#####################
|
|
|
|
|
|
|
|
In order to build the file-system server, issue
|
|
|
|
|
2016-03-11 09:54:00 +00:00
|
|
|
! ./tool/ports/prepare_port dde_rump
|
2013-12-05 14:45:14 +00:00
|
|
|
|
2016-03-11 09:54:00 +00:00
|
|
|
from Genode's toplevel directory.
|
2013-12-05 14:45:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
Add
|
|
|
|
|
2014-05-07 09:48:19 +00:00
|
|
|
! REPOSITORIES += $(GENODE_DIR)/repos/dde_rump
|
2013-12-05 14:45:14 +00:00
|
|
|
|
|
|
|
to your _etc/build.conf_ file of you build directory.
|
|
|
|
|
|
|
|
Finally,
|
|
|
|
|
|
|
|
! make server/rumps_fs
|
|
|
|
|
|
|
|
called from your build directory will build the server. You may also specify
|
|
|
|
|
|
|
|
! make run/rump_ext2
|
|
|
|
|
|
|
|
to run a simple test scenario.
|
|
|
|
|
|
|
|
|
|
|
|
Configuration
|
|
|
|
#############
|
|
|
|
|
|
|
|
Here is an example snippet that configures the server:
|
|
|
|
|
|
|
|
!<start name="rump_fs">
|
|
|
|
! <resource name="RAM" quantum="8M" />
|
|
|
|
! <provides><service name="File_system"/></provides>
|
2016-11-24 14:28:32 +00:00
|
|
|
! <config fs="ext2fs"><default-policy root="/" writeable="yes"/></config>
|
2013-12-05 14:45:14 +00:00
|
|
|
!</start>
|
|
|
|
|
|
|
|
The server is looking for a service that provides a Genode block session. If
|
|
|
|
there is more than one block session in the system, the block session must be
|
|
|
|
routed to the right block-session server. The value of the _fs_ attribute of
|
|
|
|
the _config_ node can be one of the following: _ext2fs_ for EXT2, _cd9660_ for
|
|
|
|
ISO-9660, or _msdos_ for FAT file-system support. _root_ defines the directory
|
|
|
|
of the file system as seen as root directory by the client. The server hands
|
|
|
|
most of its RAM quota to the rump kernel. This means the larger the quota is,
|
|
|
|
the larger the internal block caches of the rump kernel will be.
|
|
|
|
|