1 = Getting Started = 2 3 To use this software, it is necessary to first obtain the L4Re and Fiasco.OC 4 source distribution: 5 6 [[http://l4re.org/download.html]] 7 8 With this unpacked, the patches from the L4Re-Fiasco.OC-patches distribution 9 need to be applied. This patch distribution can be obtained from the following 10 location: 11 12 [[https://www.boddie.org.uk/paul/L4Re-Fiasco.OC.html]] 13 14 The "current archive" should be obtained since the "initial archive" is merely 15 provided for historical purposes. Instructions about applying the patches are 16 provided in the distributed archive, as is a summary of the issues related to 17 configuring and building the software. Building can be done after the steps 18 described below. 19 20 Some dependencies are also needed and these are documented in a section below. 21 To actually build the software, various development tools are required, and 22 suggestions are also provided in the dependencies section. 23 24 == Configuring this Software == 25 26 Some files may need to be adjusted for the device on which the software is to 27 be deployed. A script is provided to check and update them: 28 29 {{{ 30 $LANDFALL/tools/checkconfig.sh $PLATFORM 31 }}} 32 33 (Here, `$LANDFALL` needs to expand to the location of this distribution 34 whereas `$PLATFORM` indicates a platform type.) 35 36 For example: 37 38 {{{ 39 ~/L4/Landfall/tools/checkconfig.sh qi_lb60 40 }}} 41 42 This configures the files for the Ben NanoNote. See the following file for a 43 list of supported platforms: 44 45 {{{ 46 conf/landfall-examples/platforms.txt 47 }}} 48 49 == Installing this Software == 50 51 With the above patches applied, this software can be installed within the 52 unpacked L4Re/Fiasco.OC distribution using a command of the following form: 53 54 {{{ 55 $LANDFALL/tools/install.sh $L4DIR 56 }}} 57 58 (Here, `$LANDFALL` needs to expand to the location of this distribution 59 whereas `$L4DIR` needs to expand to the location of the L4Re software.) 60 61 For example: 62 63 {{{ 64 ~/L4/Landfall/tools/install.sh ~/L4/src/l4 65 }}} 66 67 (The repository root of the L4Re/Fiasco.OC distribution typically contains a 68 directory called `fiasco` and a directory called `l4`.) 69 70 == Building the Software == 71 72 With this software installed into the appropriate location, the instructions 73 for building Fiasco.OC and L4Re can now be followed. (They are provided in the 74 L4Re-Fiasco.OC-patches distribution.) This process should proceed without 75 error. 76 77 As a consequence of building Fiasco.OC and L4Re, a payload can be generated 78 and deployed for one of the examples provided by this software distribution. 79 For example, in the l4 subdirectory of the unpacked L4Re/Fiasco.OC 80 distribution, the following commands might be run: 81 82 {{{ 83 cp conf/landfall-examples/mips-qi_lb60-keypad-demo.list conf/modules.list 84 ~/L4/Landfall/tools/listlibs.sh \ 85 conf/landfall-examples/mips-qi_lb60-keypad-demo.list >> conf/modules.list 86 make O=mybuild uimage E=mips-qi_lb60-keypad-demo-example 87 }}} 88 89 First, a module list is copied from the `conf/landfall-examples` directory to 90 `conf/modules.list`, this being the place where the build system obtains the 91 details of the software to include in the payload. 92 93 The module lists provide details of essential programs and resources but may 94 also require libraries if shared libraries are being used. The `listlibs.sh` 95 invocation produces a manifest of required libraries for a given list of 96 programs or modules. This manifest augments the module list provided. 97 98 Finally, the make invocation combines programs and libraries found in the 99 `mybuild` directory and uses the indicated payload to construct, in this case, 100 an example demonstrating use of the Ben NanoNote's keypad. Here, the `E` 101 parameter corresponds to the `entry` line in the `conf/modules.list` file. 102 103 == Deploying the Software == 104 105 The resulting payload should reside in the created images directory and be 106 deployed to the appropriate location on storage media used to boot the target 107 device. For the above example, the following payload would be created: 108 109 {{{ 110 mybuild/images/bootstrap_mips-qi_lb60-keypad-demo-example.uimage 111 }}} 112 113 More information about deploying payloads and booting devices is provided in 114 the L4Re-Fiasco.OC-patches distribution's documentation.