Getting Started

To use this software, it is necessary to first obtain the L4Re and Fiasco.OC source distribution:

http://l4re.org/download.html

With this unpacked, the patches from the L4Re-Fiasco.OC-patches distribution need to be applied. This patch distribution can be obtained from the following location:

http://www.boddie.org.uk/paul/L4Re-Fiasco.OC.html

The "current archive" should be obtained since the "initial archive" is merely provided for historical purposes. Instructions about applying the patches are provided in the distributed archive, as is a summary of the issues related to configuring and building the software. Building can be done after the steps described below.

Some dependencies are also needed and these are documented in a section below. To actually build the software, various development tools are required, and suggestions are also provided in the dependencies section.

Configuring this Software

Some files may need to be adjusted for the device on which the software is to be deployed. A script is provided to check and update them:

$LANDFALL/tools/checkconfig.sh $PLATFORM

(Here, $LANDFALL needs to expand to the location of this distribution whereas $PLATFORM indicates a platform type.)

For example:

~/L4/Landfall/tools/checkconfig.sh qi_lb60

This configures the files for the Ben NanoNote. See the following file for a list of supported platforms:

conf/landfall-examples/platforms.txt

Installing this Software

With the above patches applied, this software can be installed within the unpacked L4Re/Fiasco.OC distribution using a command of the following form:

$LANDFALL/tools/install.sh $L4DIR

(Here, $LANDFALL needs to expand to the location of this distribution whereas $L4DIR needs to expand to the location of the L4Re/Fiasco.OC software.)

For example:

~/L4/Landfall/tools/install.sh ~/L4/src

(The repository root of the L4Re/Fiasco.OC distribution typically has a directory name of src.)

Building the Software

With this software installed into the appropriate location, the instructions for building Fiasco.OC and L4Re can now be followed. (They are provided in the L4Re-Fiasco.OC-patches distribution.) This process should proceed without error.

As a consequence of building Fiasco.OC and L4Re, a payload can be generated and deployed for one of the examples provided by this software distribution. For example, in the l4 subdirectory of the unpacked L4Re/Fiasco.OC distribution, the following commands might be run:

mkdir mybuild/images
cp conf/landfall-examples/mips-qi_lb60-keypad-demo.list conf/modules.list
~/L4/Landfall/tools/listlibs.sh \
  conf/landfall-examples/mips-qi_lb60-keypad-demo.list >> conf/modules.list
make O=mybuild uimage E=mips-qi_lb60-keypad-demo-example

First, a directory for images or payloads is created. Here, it is assumed that the mybuild directory has been named for building L4Re.

Then, a module list is copied from the conf/landfall-examples directory to conf/modules.list, this being the place where the build system obtains the details of the software to include in the payload.

The module lists provide details of essential programs and resources but may also require libraries if shared libraries are being used. The listlibs.sh invocation produces a manifest of required libraries for a given list of programs or modules. This manifest augments the module list provided.

Finally, the make invocation combines programs and libraries found in the mybuild directory and uses the indicated payload to construct, in this case, an example demonstrating use of the Ben NanoNote's keypad.

Deploying the Software

The resulting payload should reside in the created images directory and be deployed to the appropriate location on storage media used to boot the target device. For the above example, the following payload would be created:

mybuild/images/bootstrap_mips-qi_lb60-keypad-demo-example.uimage

More information about deploying payloads and booting devices is provided in the L4Re-Fiasco.OC-patches distribution's documentation.