genode/repos/dde_rump
Emery Hemingway 52cc50174f Amend File_system session with SEEK_TAIL support
Used to read or write from the end of a file when multiple packets may
be in transit.

Supported by ram_fs, rump_fs, and vfs servers.

Fixes #1775
2016-05-09 13:10:53 +02:00
..
include Consolidate RM service into PD session 2016-05-09 13:10:51 +02:00
lib dde_rump: propagate CC_OLEVEL to buildrump.sh 2015-11-18 12:22:05 +01:00
patches dde_rump: don't build non-Genode shared libraries 2015-05-26 09:39:48 +02:00
ports dde_rump: don't build non-Genode shared libraries 2015-05-26 09:39:48 +02:00
run Update run scenarios for policy label matching 2015-11-29 18:17:06 +01:00
src Amend File_system session with SEEK_TAIL support 2016-05-09 13:10:53 +02:00
README tool: remove deprecated 'make prepare' mechanism 2016-03-17 17:02:04 +01: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

! ./tool/ports/prepare_port dde_rump

from Genode's toplevel directory.


Add

! REPOSITORIES += $(GENODE_DIR)/repos/dde_rump

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>
!  <config fs="ext2fs"><policy label="" root="/" writeable="yes"/></config>
!</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.