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 has a 68 directory name of `src`.) 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 mkdir mybuild/images 84 cp conf/landfall-examples/mips-qi_lb60-keypad-demo.list conf/modules.list 85 ~/L4/Landfall/tools/listlibs.sh \ 86 conf/landfall-examples/mips-qi_lb60-keypad-demo.list >> conf/modules.list 87 make O=mybuild uimage E=mips-qi_lb60-keypad-demo-example 88 }}} 89 90 First, a directory for images or payloads is created. Here, it is assumed that 91 the `mybuild` directory has been named for building L4Re. 92 93 Then, a module list is copied from the conf/landfall-examples directory to 94 `conf/modules.list`, this being the place where the build system obtains the 95 details of the software to include in the payload. 96 97 The module lists provide details of essential programs and resources but may 98 also require libraries if shared libraries are being used. The `listlibs.sh` 99 invocation produces a manifest of required libraries for a given list of 100 programs or modules. This manifest augments the module list provided. 101 102 Finally, the make invocation combines programs and libraries found in the 103 `mybuild` directory and uses the indicated payload to construct, in this case, 104 an example demonstrating use of the Ben NanoNote's keypad. 105 106 == Deploying the Software == 107 108 The resulting payload should reside in the created images directory and be 109 deployed to the appropriate location on storage media used to boot the target 110 device. For the above example, the following payload would be created: 111 112 {{{ 113 mybuild/images/bootstrap_mips-qi_lb60-keypad-demo-example.uimage 114 }}} 115 116 More information about deploying payloads and booting devices is provided in 117 the L4Re-Fiasco.OC-patches distribution's documentation.