# HG changeset patch # User Paul Boddie # Date 1694532010 -7200 # Node ID 42f877f2930456c6c6339b45435c71906c9b89bb # Parent 962ab538cc16c8c08dfa7321831978a16a17d4b7 Updated documentation with tool- and repository-related changes. diff -r 962ab538cc16 -r 42f877f29304 README.txt --- a/README.txt Tue Jun 20 18:20:16 2023 +0200 +++ b/README.txt Tue Sep 12 17:20:10 2023 +0200 @@ -35,7 +35,7 @@ See the following Web pages for more information about this work: -https://www.boddie.org.uk/paul/Landfall.html +https://projects.boddie.org.uk/Landfall The author can be contacted at the following e-mail address: diff -r 962ab538cc16 -r 42f877f29304 docs/wiki/Getting_Started --- a/docs/wiki/Getting_Started Tue Jun 20 18:20:16 2023 +0200 +++ b/docs/wiki/Getting_Started Tue Sep 12 17:20:10 2023 +0200 @@ -9,17 +9,14 @@ need to be applied. This patch distribution can be obtained from the following location: -[[https://www.boddie.org.uk/paul/L4Re-Fiasco.OC.html]] +[[https://projects.boddie.org.uk/L4Re-Fiasco.OC-patches]] -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. +Instructions about applying the patches are provided in the patch +distribution, as is a summary of the issues related to configuring and +building this software. This document serves as a more detailed reference for +the configuration and building of the Landfall components in particular. -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 == @@ -67,39 +64,109 @@ (The repository root of the L4Re/Fiasco.OC distribution typically contains a directory called `fiasco` and a directory called `l4`.) +== Obtaining Software Dependencies == + +As noted in the [[Prerequisites|prerequisites]] document, a number of other +software dependencies are needed to be able to build the software. Various +additional development tools and components are required, and these can be +installed on a Debian system as follows (with appropriate privileges): + +{{{ +apt-get install build-essential python unifont +}}} + +The idl4re distribution must be installed within the `l4` directory of the +L4Re/Fiasco.OC distribution and the `idl` program built. This can be done as +follows within that directory: + +{{{ +hg clone https://hg.boddie.org.uk/L4Re/idl4re +cd idl4re +make +}}} + +See the idl4re documentation for more information. + +The libipc package must be installed within the `l4/pkg` directory of the +L4Re/Fiasco.OC distribution. This is purely a matter of obtaining the `libipc` +directory from the Departure distribution. Within the `l4` directory, the +package can be installed as follows: + +{{{ +hg clone https://hg.boddie.org.uk/L4Re/departure +mkdir pkg/departure-minimal +cp -R departure/libipc pkg/departure-minimal +}}} + +Further integration of these distributions will hopefully make the +installation of this software easier in future. + == 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. +for building Fiasco.OC and L4Re can now be followed. Such instructions are +provided in the L4Re-Fiasco.OC-patches distribution, but can be summarised as +follows. For Fiasco.OC: + +{{{ +cd fiasco +make BUILDDIR=mybuild +cd mybuild +make config +}}} + +After interacting with the configuration dialogue: + +{{{ +make -j +}}} + +For L4Re: + +{{{ +cd l4 +make B=mybuild +make O=mybuild config +}}} + +After interacting with the configuration dialogue: + +{{{ +make -j +}}} 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: - -{{{ -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 -}}} +For example, in the `l4` subdirectory of the unpacked L4Re/Fiasco.OC +distribution, a number of commands might be run. First, 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. +{{{ +cp conf/landfall-examples/mips-qi_lb60-keypad-demo.list conf/modules.list +}}} + 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. +{{{ +~/L4/Landfall/tools/listlibs.sh \ + conf/landfall-examples/mips-qi_lb60-keypad-demo.list >> conf/modules.list +}}} + 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. Here, the `E` parameter corresponds to the `entry` line in the `conf/modules.list` file. +{{{ +make O=mybuild uimage E=mips-qi_lb60-keypad-demo-example +}}} + == Deploying the Software == The resulting payload should reside in the created images directory and be diff -r 962ab538cc16 -r 42f877f29304 docs/wiki/Landfall --- a/docs/wiki/Landfall Tue Jun 20 18:20:16 2023 +0200 +++ b/docs/wiki/Landfall Tue Sep 12 17:20:10 2023 +0200 @@ -9,12 +9,12 @@ * [[http://projects.goldelico.com/p/letux400/|Letux 400]] * [[https://www.elinux.org/MIPS_Creator_CI20|MIPS Creator CI20]] -It builds on [[http://www.boddie.org.uk/paul/L4Re-Fiasco.OC.html|work]] done -to make L4Re available on these platforms, itself building on work by others -to port L4Re and Fiasco.OC to the MIPS architecture. +It builds on the [[https://projects.boddie.org.uk/L4Re-Fiasco.OC-patches]] +distribution that makes L4Re available on these platforms, itself building on +work by others to port L4Re and Fiasco.OC to the MIPS architecture. -{{attachment:P5300454-800x600.JPG||alt=The Spectrum example on the Ben -NanoNote and Letux 400}} +{{attachment:P5300454-800x600.JPG||alt=The Spectrum example on the Ben NanoNote +and Letux 400}} == Documentation == diff -r 962ab538cc16 -r 42f877f29304 docs/wiki/Prerequisites --- a/docs/wiki/Prerequisites Tue Jun 20 18:20:16 2023 +0200 +++ b/docs/wiki/Prerequisites Tue Sep 12 17:20:10 2023 +0200 @@ -19,13 +19,21 @@ .. [[http://unifoundry.com/unifont.html]] == L4Re -(this work's foundation) || Tested with repository version r83 \\ +(this work's foundation) || Tested with the project's Git repositories and + .. packages from Subversion repository version r83 + .. \\ .. [[http://l4re.org/]] == L4Re-Fiasco.OC-patches -(needed for device support) || Tested with snapshot-2020-06-17 \\ +(needed for device support) || Tested with snapshot-2023-06-21 \\ .. [[https://www.boddie.org.uk/paul/L4Re-Fiasco.OC.html]] == +idl4re +(needed to generate code) || [[https://projects.boddie.org.uk/idl4re]] +== +libipc +(needed for IPC and idl4re) || [[https://projects.boddie.org.uk/Departure]] +== MoinLight (needed for documentation) || [[https://projects.boddie.org.uk/MoinLight]] ==