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 [[http://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/Fiasco.OC 60 software.) 61 62 For example: 63 64 {{{ 65 ~/L4/Landfall/tools/install.sh ~/L4/src 66 }}} 67 68 (The repository root of the L4Re/Fiasco.OC distribution typically has a 69 directory name of `src`.) 70 71 == Building the Software == 72 73 With this software installed into the appropriate location, the instructions 74 for building Fiasco.OC and L4Re can now be followed. (They are provided in the 75 L4Re-Fiasco.OC-patches distribution.) This process should proceed without 76 error. 77 78 As a consequence of building Fiasco.OC and L4Re, a payload can be generated 79 and deployed for one of the examples provided by this software distribution. 80 For example, in the l4 subdirectory of the unpacked L4Re/Fiasco.OC 81 distribution, the following commands might be run: 82 83 {{{ 84 mkdir mybuild/images 85 cp conf/landfall-examples/mips-qi_lb60-keypad-demo.list conf/modules.list 86 ~/L4/Landfall/tools/listlibs.sh \ 87 conf/landfall-examples/mips-qi_lb60-keypad-demo.list >> conf/modules.list 88 make O=mybuild uimage E=mips-qi_lb60-keypad-demo-example 89 }}} 90 91 First, a directory for images or payloads is created. Here, it is assumed that 92 the `mybuild` directory has been named for building L4Re. 93 94 Then, a module list is copied from the conf/landfall-examples directory to 95 `conf/modules.list`, this being the place where the build system obtains the 96 details of the software to include in the payload. 97 98 The module lists provide details of essential programs and resources but may 99 also require libraries if shared libraries are being used. The `listlibs.sh` 100 invocation produces a manifest of required libraries for a given list of 101 programs or modules. This manifest augments the module list provided. 102 103 Finally, the make invocation combines programs and libraries found in the 104 `mybuild` directory and uses the indicated payload to construct, in this case, 105 an example demonstrating use of the Ben NanoNote's keypad. 106 107 == Deploying the Software == 108 109 The resulting payload should reside in the created images directory and be 110 deployed to the appropriate location on storage media used to boot the target 111 device. For the above example, the following payload would be created: 112 113 {{{ 114 mybuild/images/bootstrap_mips-qi_lb60-keypad-demo-example.uimage 115 }}} 116 117 More information about deploying payloads and booting devices is provided in 118 the L4Re-Fiasco.OC-patches distribution's documentation.