genode/repos/os/src/server/iso9660
Christian Helmuth cb43e04691 ldso: defer execution of static constructors
Ldso now does not automatically execute static constructors of the
binary and shared libraries the binary depends on. If static
construction is required (e.g., if a shared library with constructor is
used or a compilation unit contains global statics) the component needs
to execute the constructors explicitly in Component::construct() via
Genode::Env::exec_static_constructors().

In the case of libc components this is done by the libc startup code
(i.e., the Component::construct() implementation in the libc).

The loading of shared objects at runtime is not affected by this change
and constructors of those objects are executed immediately.

Fixes #2332
2017-03-24 16:20:04 +01:00
..
iso9660.cc ldso: defer execution of static constructors 2017-03-24 16:20:04 +01:00
iso9660.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
main.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
target.mk Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00

This directory contains an implementation of an ISO 9660 file system.

Limitations
-----------

At the moment, the only file-name format supported is the Rock Ridge extension.
The ISO specified 8.3 upper-case-file names are not supported, as well as Joliet.

Usage
-----

The server requires an ATAPI-block device as back-end. Please have a look at
'os/src/drivers/atapi'. The front-end of the server is implemented as a ROM
session server. In order to access this server from your application, you need
to route the ROM session to the ISO-ROM-session server in Genode's configuration
file:

!<start name="test-iso">
!  <resource name="RAM" quantum="10M" />
!    <route>
!      <service name="ROM"><child name="iso9660"/></service>
!    </route>
!</start>

Currently, the RAM quota necessary to obtain a file from the ISO file system
is allocated on behalf of the ISO server. Please make sure to provide
sufficient RAM quota to the ISO server.