From 7f89df83f3b25cd9ecc17175ea0e8b15bb5e10cd Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Wed, 24 May 2017 13:07:21 +1000 Subject: User Manual: Update the rtems-bsp-builder command. --- user/tools/bsp-builder.rst | 702 ++++++++++++++++++--------------------------- 1 file changed, 282 insertions(+), 420 deletions(-) (limited to 'user/tools/bsp-builder.rst') diff --git a/user/tools/bsp-builder.rst b/user/tools/bsp-builder.rst index 8a3de35..8ed1240 100644 --- a/user/tools/bsp-builder.rst +++ b/user/tools/bsp-builder.rst @@ -17,16 +17,16 @@ Developer Workflows ------------------- There are a number of RTEMS developers each with a different view or expertise -in RTEMS. Developer can work in the generic areas such as scheduling, file -systems or the shell, then there are users turned developers adding a new BSP, -or even a new port to a new architecture. A common approach for all these -developers is to select a BSP and to work with that BSP. Developers working in -a generic areas of RTEMS tend to select a BSP that has good simulator support -with good debugging such as QEMU, while developers of a new BSP or a new port -tend to work on target hardware. This type of development does not check the -other architectures, BSP, and build options and a change may change the number -of warnings or introduce build errors. It is important for the RTEMS project to -have developers fix these issues before pushing the changes to master +in RTEMS. Developers can work in the generic areas such as scheduling, file +systems or the shell, or users can become developers adding a new BSP, or even +a new port to a new architecture. A common approach for all these developers is +to select a BSP and to work with that BSP. Developers working in a generic +areas of RTEMS tend to select a BSP that has good simulator support with good +debugging such as QEMU, while developers of a new BSP or a new port tend to +work on target hardware. This type of development does not check the other +architectures, BSP, and build options and a change may change the number of +warnings or introduce build errors. It is important for the RTEMS project to +have developers fix these issues before pushing the changes to the master repository to avoid breaking the code for other developers. It is best for a developer to resolve as many issues as they work on changes because comming back to a problem often proves difficult. @@ -44,22 +44,25 @@ what is built. RTEMS can vary builds based on: #. Board Support Package (BSP) -#. Build Configuration options +#. Build options #. BSP Options -The BSP Builder provides a template of build variation to try and reduce the -possble combinations to something manageable. It is not realistic to build all -possible combinations on a single machine in reasonible time. +The BSP Builder provides a template of builds to try and reduce the possble +combinations to something manageable. It is not realistic to build all possible +combinations on a single machine in reasonible time. The RTEMS BSP Builder specifies it builds in terms of: #. Profiles +#. Architectures + +#. BSPs + #. Builds -The RTEMS BSP Builder will build a list of builds for a profile of board -support packages. +The RTEMS BSP Builder builds are created by user options that vary these parameters. Profiles ^^^^^^^^ @@ -68,8 +71,7 @@ A profile is named collection of architectures and board support packages. When the RTEMS BSP Builder is asked to build a specific profile it builds the BSPs in the specified architectures. -The default configuration provides standard profiles based on -:ref:`Tiers`. They are: +The default configuration provides standard profiles for :ref:`Tiers`. They are: #. ``tier-1`` (default) @@ -79,11 +81,13 @@ The default configuration provides standard profiles based on #. ``tier-4`` +The ``everythings`` profile allows all BSPs to be built. + Builds ^^^^^^ -A build is a list of builds and each BSP in a profiles is built using each -build in the builds list. +A build is a list of builds or a build set and each BSP in a profile, +architecture of BSP is built with. The default configuration provides standard builds based around the commonly varied configure options. @@ -92,46 +96,162 @@ The builds are: #. ``all`` (default) -#. ``basic`` +#. ``tests`` + +#. ``standard``, also ``no-tests`` + +#. ``debug`` + +#. ``profiling`` + +#. ``smp`` + +#. ``smp-debug`` + +#. ``posix`` + +#. ``no-posix`` -A ``basic`` build is the ``standard`` or default set configure options. +#. ``posix-debug`` + +#. ``posix-profiling`` + +#. ``network`` + +#. ``no-network`` + +#. ``network-debug`` + +#. ``smp-network`` + +#. ``smp-network-debug`` + +All Build +~~~~~~~~~ The ``all`` build is: +- ``debug`` +- ``profiling`` +- ``smp`` +- ``smp-debug`` +- ``posix`` +- ``no-posix`` +- ``posix-debug`` +- ``posix-profiling`` +- ``network`` +- ``no-network`` +- ``network-debug`` +- ``smp-network`` +- ``smp-network-debug`` + +A build maps to specific configuration options. The mappings are: + +-----------------------+-----------------------------------------------------+ - | Label | Configure Options | - +-----------------------+-----------------------------------------------------+ - | ``debug`` | ``--enable-debug`` | - +-----------------------+-----------------------------------------------------+ - | ``profiling`` | ``--enable-profiling`` | - +-----------------------+-----------------------------------------------------+ - | ``smp`` | ``--enable-sm`` | + | ``debug`` | ``config:base``, ``config:debug`` | +-----------------------+-----------------------------------------------------+ - | ``smp-debug`` | ``--enable-smp --enable-debug`` | + | ``profiling`` | ``config:base``, ``config:profiling`` | +-----------------------+-----------------------------------------------------+ - | ``posix`` | ``--enable-posix`` | + | ``smp`` | ``config:base``, ``config:smp`` | +-----------------------+-----------------------------------------------------+ - | ``no-posix`` | ``--disable-posix`` | + | ``smp-debug`` | ``config:base``, ``config:smp``, ``config:debug`` | +-----------------------+-----------------------------------------------------+ - | ``posix-debug`` | ``--enable-posix --enable-debug`` | + | ``posix`` | ``config:base``, ``config:posix`` | +-----------------------+-----------------------------------------------------+ - | ``posix-profiling`` | ``--enable-posix --enable-profiling`` | + | ``no-posix`` | ``config:base``, ``config:no-posix`` | +-----------------------+-----------------------------------------------------+ - | ``posix-smp`` | ``--enable-posix --enable-smp`` | + | ``posix-debug`` | ``config:base``, ``config:posix``, ``config:debug`` | +-----------------------+-----------------------------------------------------+ - | ``network`` | ``--enable-networking`` | + | ``posix-profiling`` | ``config:base``, ``config:posix``, | + | | ``config:profiling`` | +-----------------------+-----------------------------------------------------+ - | ``no-network`` | ``--disable-networking`` | + | ``network`` | ``config:base``, ``config:network`` | +-----------------------+-----------------------------------------------------+ - | ``network-debug`` | ``--disable-networking`` | + | ``no-network`` | ``config:base``, ``config:no-network`` | +-----------------------+-----------------------------------------------------+ - | ``network-debug`` | ``--enable-debug --enable-networking`` | + | ``network-debug`` | ``config:base``, ``config:network``, | + | | ``config:debug`` | +-----------------------+-----------------------------------------------------+ - | ``smp-network`` | ``--enable-smp --enable-networking`` | + | ``smp-network`` | ``config:base``, ``config:smp``, ``config:network`` | +-----------------------+-----------------------------------------------------+ - | ``smp-network-debug`` | ``--enable-smp --enable-debug --enable-networking`` | + | ``smp-network-debug`` | ``config:base``, ``config:smp``, | + | | ``config:network``, ``config:debug`` | +-----------------------+-----------------------------------------------------+ +Build Configurations +-------------------- + +Build configurations are ``configure`` options. These are mapped to the various +builds. The configurations are: + + +------------------+----------------------------------------------------------+ + | ``base`` | ``--target=@ARCH@-rtems@RTEMS_VERSION@`` | + | | ``--enable-rtemsbsp=@BSP@`` | + | | ``--prefix=@PREFIX@`` | + +------------------+----------------------------------------------------------+ + | ``tests`` | ``--enable-tests`` | + +------------------+----------------------------------------------------------+ + | ``debug`` | ``--enable-debug`` | + +------------------+----------------------------------------------------------+ + | ``no-debug`` | ``--disable-debug`` | + +------------------+----------------------------------------------------------+ + | ``profiling`` | ``--enable-profiling`` | + +------------------+----------------------------------------------------------+ + | ``no-profiling`` | ``--disable-profiling`` | + +------------------+----------------------------------------------------------+ + | ``smp`` | ``--enable-smp`` | + +------------------+----------------------------------------------------------+ + | ``no-smp`` | ``--disable-smp`` | + +------------------+----------------------------------------------------------+ + | ``posix`` | ``--enable-posix`` | + +------------------+----------------------------------------------------------+ + | ``no-posix`` | ``--disable-posix`` | + +------------------+----------------------------------------------------------+ + | ``network`` | ``--enable-networking`` | + +------------------+----------------------------------------------------------+ + | ``no-network`` | ``--disable-networking`` | + +------------------+----------------------------------------------------------+ + +Performance +----------- + +The RTEMS BSP Builder is designed to extract the maximum performance from your +hardware when building RTEMS. The RTEMS build system is based on ``autoconf``, +``automake`` and GNU ``make``. Building consists of two phases: + +#. Configuring + +#. Building + +The Configuring phase and the start of the Build phase runs autoconf's +``configure`` scripts. These execute as a single linear process and are not run +in parallel even if you specify more than one job to ``make``. The configure +part of a build is approximately 30% of the total time and higher if building +the tests. Performing a single build at a time will not fully utilized a +multi-core machine because of the large amount of time the system is idle. + +The RTEMS BSP Builder can run more than one build in parallel. A build can also +request ``make`` run its build with more than one job. The ``--jobs`` option +lets a user specify the number of build jobs to run at once and the number of +``make`` jobs each build runs with. Together these options can fully load a +system and can overload a machine. + +Tuning the best ratio of buld jobs to make jobs requires running some builds +and observing the system's performance. If the build job count is too low the +system will show idle periods and if you have too many build jobs with too many +make jobs the system will have too many processing running and the operating +system's overheads in administting too processes at once lowers the overall +performance. + +A fast eight core machine where the operating system shows sixteen cores can +support a build option of ``--jobs=5/10``. The machine will be fully loaded the +average build time is around 18 seconds. + +The type of build selected effects the optimum jobs option. For example +building the tests changes the percentage of time spent configuring copmared to +bulding so the make jobs parameter becomes a dominant factor. Lowering the make +jobs value avoids having too many active processes running at once. + Command ------- @@ -169,6 +289,14 @@ Command The log file. +.. option:: --config-report + + Print a configuration report and exit. + +.. option:: --warnings-report + + Create a warnings report once all builds have finished. + .. option:: --stop-on-error Stop the build on an error. The default is to build all the builds for a @@ -182,19 +310,27 @@ Command .. option:: --profiles - Build the list of profiles. The default is ``tier-1``. - -.. option:: --build - - The build to be used. The default is ``all``. + Build the comma separated list of profiles. The default is ``tier-1``. .. option:: --arch - Specify an architecure for a BSP to build instead of using a profile. + A comma separated list of architecures to build using the selected build. .. option:: --bsp - The a specific BSP to build instead of using a profile. + A comma separated list of BSPs to build where a BSP is of the format + ``arch/bsp`` using the selected build. + +.. option:: --build + + The build to be used. The default is ``all``. See ``--config-report`` for a + list of vlaid builds. + +.. option:: --jobs + + The jobs options where the format is ``build-jobs/make-jobs``. The default + is ``1/num-cores`` where ``num-cores`` is the operating system reported + number of cores. .. option:: --dry-run @@ -206,7 +342,7 @@ Examples The following is a *tier-1* profile build of *all* on a machine where all the source and tools are located on fast SSD disks and the build happens on a spinning disk mounted under `build`. The build uses a development source tree -that is configured and ready to build. The source can have local patches that +that is bootstrapped and ready to build. The source can have local patches that need to be regression tested: .. code-block:: shell @@ -214,374 +350,100 @@ need to be regression tested: $ /opt/rtems/4.12/bin/rtems-bsp-builder --build-path=/build/rtems \ --rtems-tools=/opt/work/rtems/4.12 \ --rtems=/opt/work/chris/rtems/kernel/rtems.git \ - --profiles=tier-1 - RTEMS Tools Project - RTEMS Kernel BSP Builder, 4.12 (31e22e337cf3 modified) - ]] Profile: tier-1 - ] BSP: arm/altcycv_devkit - . Creating: build/arm/altcycv_devkit - . Configuring: debug - . Building: debug - + Pass: debug: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit/debug - ^ Time 0:03:45.450099 - . Configuring: no-posix - . Building: no-posix - + Pass: no-posix: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit/no-posix - ^ Time 0:03:39.598817 - . Configuring: posix - . Building: posix - + Pass: posix: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit/posix - ^ Time 0:03:40.242016 - . Configuring: posix-debug - . Building: posix-debug - + Pass: posix-debug: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit/posix-debug - ^ Time 0:03:40.325694 - . Configuring: posix-profiling - . Building: posix-profiling - + Pass: posix-profiling: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit/posix-profiling - ^ Time 0:03:39.999044 - . Configuring: posix-smp - . Building: posix-smp - + Pass: posix-smp: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit/posix-smp - ^ Time 0:03:39.462674 - . Configuring: profiling - . Building: profiling - + Pass: profiling: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit/profiling - ^ Time 0:03:39.860434 - . Configuring: smp - . Building: smp - + Pass: smp: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit/smp - ^ Time 0:03:39.928132 - . Configuring: smp-debug - . Building: smp-debug - + Pass: smp-debug: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit/smp-debug - ^ Time 0:03:40.414716 - ^ BSP Time 0:33:09.399355 - ] BSP: arm/altcycv_devkit_smp - . Creating: build/arm/altcycv_devkit_smp - . Configuring: debug - . Building: debug - + Pass: debug: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit_smp/debug - ^ Time 0:03:39.891703 - . Configuring: no-posix - . Building: no-posix - + Pass: no-posix: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit_smp/no-posix - ^ Time 0:03:40.730781 - . Configuring: posix - . Building: posix - + Pass: posix: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit_smp/posix - ^ Time 0:03:39.966778 - . Configuring: posix-debug - . Building: posix-debug - + Pass: posix-debug: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit_smp/posix-debug - ^ Time 0:03:39.871038 - . Configuring: posix-profiling - . Building: posix-profiling - + Pass: posix-profiling: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit_smp/posix-profiling - ^ Time 0:03:39.626562 - . Configuring: posix-smp - . Building: posix-smp - + Pass: posix-smp: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit_smp/posix-smp - ^ Time 0:04:00.433920 - . Configuring: profiling - . Building: profiling - + Pass: profiling: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit_smp/profiling - ^ Time 0:04:07.316248 - . Configuring: smp - . Building: smp - + Pass: smp: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit_smp/smp - ^ Time 0:04:02.147503 - . Configuring: smp-debug - . Building: smp-debug - + Pass: smp-debug: warnings:99 exes:560 objs:2760 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/altcycv_devkit_smp/smp-debug - ^ Time 0:03:46.626848 - ^ BSP Time 0:34:20.797975 - ] BSP: arm/xilinx_zynq_zc702 - . Creating: build/arm/xilinx_zynq_zc702 - . Configuring: debug - . Building: debug - + Pass: debug: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc702/debug - ^ Time 0:04:48.221615 - . Configuring: no-posix - . Building: no-posix - + Pass: no-posix: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc702/no-posix - ^ Time 0:03:38.480575 - . Configuring: posix - . Building: posix - + Pass: posix: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc702/posix - ^ Time 0:03:39.993491 - . Configuring: posix-debug - . Building: posix-debug - + Pass: posix-debug: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc702/posix-debug - ^ Time 0:03:42.712069 - . Configuring: posix-profiling - . Building: posix-profiling - + Pass: posix-profiling: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc702/posix-profiling - ^ Time 0:03:40.859795 - . Configuring: posix-smp - . Building: posix-smp - + Pass: posix-smp: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc702/posix-smp - ^ Time 0:03:37.047568 - . Configuring: profiling - . Building: profiling - + Pass: profiling: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc702/profiling - ^ Time 0:03:37.822230 - . Configuring: smp - . Building: smp - + Pass: smp: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc702/smp - ^ Time 0:03:36.921624 - . Configuring: smp-debug - . Building: smp-debug - + Pass: smp-debug: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc702/smp-debug - ^ Time 0:03:37.072002 - ^ BSP Time 0:34:03.305717 - ] BSP: arm/xilinx_zynq_zc706 - . Creating: build/arm/xilinx_zynq_zc706 - . Configuring: debug - . Building: debug - + Pass: debug: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc706/debug - ^ Time 0:03:41.005831 - . Configuring: no-posix - . Building: no-posix - + Pass: no-posix: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc706/no-posix - ^ Time 0:03:36.625042 - . Configuring: posix - . Building: posix - + Pass: posix: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc706/posix - ^ Time 0:03:36.811815 - . Configuring: posix-debug - . Building: posix-debug - + Pass: posix-debug: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc706/posix-debug - ^ Time 0:03:36.997970 - . Configuring: posix-profiling - . Building: posix-profiling - + Pass: posix-profiling: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc706/posix-profiling - ^ Time 0:03:37.051871 - . Configuring: posix-smp - . Building: posix-smp - + Pass: posix-smp: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc706/posix-smp - ^ Time 0:03:37.525090 - . Configuring: profiling - . Building: profiling - + Pass: profiling: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc706/profiling - ^ Time 0:03:37.398436 - . Configuring: smp - . Building: smp - + Pass: smp: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc706/smp - ^ Time 0:03:36.341299 - . Configuring: smp-debug - . Building: smp-debug - + Pass: smp-debug: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zc706/smp-debug - ^ Time 0:03:37.991431 - ^ BSP Time 0:32:41.878632 - ] BSP: arm/xilinx_zynq_zedboard - . Creating: build/arm/xilinx_zynq_zedboard - . Configuring: debug - . Building: debug - + Pass: debug: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zedboard/debug - ^ Time 0:03:36.807900 - . Configuring: no-posix - . Building: no-posix - + Pass: no-posix: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zedboard/no-posix - ^ Time 0:03:37.808461 - . Configuring: posix - . Building: posix - + Pass: posix: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zedboard/posix - ^ Time 0:03:36.583274 - . Configuring: posix-debug - . Building: posix-debug - + Pass: posix-debug: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zedboard/posix-debug - ^ Time 0:03:37.305808 - . Configuring: posix-profiling - . Building: posix-profiling - + Pass: posix-profiling: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zedboard/posix-profiling - ^ Time 0:03:38.172598 - . Configuring: posix-smp - . Building: posix-smp - + Pass: posix-smp: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zedboard/posix-smp - ^ Time 0:03:36.840879 - . Configuring: profiling - . Building: profiling - + Pass: profiling: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zedboard/profiling - ^ Time 0:03:37.557138 - . Configuring: smp - . Building: smp - + Pass: smp: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zedboard/smp - ^ Time 0:03:37.215842 - . Configuring: smp-debug - . Building: smp-debug - + Pass: smp-debug: warnings:99 exes:560 objs:2749 libs:76 - Status: configure:0 build:0 - . Cleaning: build/arm/xilinx_zynq_zedboard/smp-debug - ^ Time 0:03:36.580128 - ^ BSP Time 0:32:38.996825 - ] BSP: i386/pc686 - . Creating: build/i386/pc686 - . Configuring: debug - . Building: debug - + Pass: debug: warnings:118 exes:560 objs:2770 libs:76 - Status: configure:0 build:0 - . Cleaning: build/i386/pc686/debug - ^ Time 0:03:30.095820 - . Configuring: no-posix - . Building: no-posix - + Pass: no-posix: warnings:118 exes:560 objs:2770 libs:76 - Status: configure:0 build:0 - . Cleaning: build/i386/pc686/no-posix - ^ Time 0:03:29.235921 - . Configuring: posix - . Building: posix - + Pass: posix: warnings:118 exes:560 objs:2770 libs:76 - Status: configure:0 build:0 - . Cleaning: build/i386/pc686/posix - ^ Time 0:03:30.413376 - . Configuring: posix-debug - . Building: posix-debug - + Pass: posix-debug: warnings:118 exes:560 objs:2770 libs:76 - Status: configure:0 build:0 - . Cleaning: build/i386/pc686/posix-debug - ^ Time 0:03:29.512518 - . Configuring: posix-profiling - . Building: posix-profiling - + Pass: posix-profiling: warnings:118 exes:560 objs:2770 libs:76 - Status: configure:0 build:0 - + Pass: posix-profiling: warnings:118 exes:560 objs:2770 libs:76 - Status: configure:0 build:0 - . Cleaning: build/i386/pc686/posix-profiling - ^ Time 0:03:30.870472 - . Configuring: profiling - . Building: profiling - + Pass: profiling: warnings:118 exes:560 objs:2770 libs:76 - Status: configure:0 build:0 - . Cleaning: build/i386/pc686/profiling - ^ Time 0:03:30.768413 - ^ BSP Time 0:21:03.174394 - ] BSP: sparc/erc32 - . Creating: build/sparc/erc32 - . Configuring: debug - . Building: debug - + Pass: debug: warnings:96 exes:559 objs:2769 libs:77 - Status: configure:0 build:0 - . Cleaning: build/sparc/erc32/debug - ^ Time 0:03:10.233967 - . Configuring: no-posix - . Building: no-posix - + Pass: no-posix: warnings:96 exes:559 objs:2769 libs:77 - Status: configure:0 build:0 - . Cleaning: build/sparc/erc32/no-posix - ^ Time 0:03:11.151673 - . Configuring: posix - . Building: posix - + Pass: posix: warnings:96 exes:559 objs:2769 libs:77 - Status: configure:0 build:0 - . Cleaning: build/sparc/erc32/posix - ^ Time 0:03:10.069584 - . Configuring: posix-debug - . Building: posix-debug - + Pass: posix-debug: warnings:96 exes:559 objs:2769 libs:77 - Status: configure:0 build:0 - . Cleaning: build/sparc/erc32/posix-debug - ^ Time 0:03:10.661856 - . Configuring: posix-profiling - . Building: posix-profiling - + Pass: posix-profiling: warnings:96 exes:559 objs:2769 libs:77 - Status: configure:0 build:0 - . Cleaning: build/sparc/erc32/posix-profiling - ^ Time 0:03:11.079471 - . Configuring: profiling - . Building: profiling - + Pass: profiling: warnings:96 exes:559 objs:2769 libs:77 - Status: configure:0 build:0 - . Cleaning: build/sparc/erc32/profiling - ^ Time 0:03:10.630353 - ^ BSP Time 0:19:06.556621 - ^ Profile Time 3:27:04.111801 - warnings:5739 exes:559 objs:2769 libs:77 - * Passes: 57 Failures: 0 + --profiles=tier-1 \ + --jobs=5/10 + RTEMS Tools Project - RTEMS Kernel BSP Builder, 4.12 (61ddcfc8f057) + Profile(s): tier-1 + Cleaning: bsp-builds + [ 1/655] arm/altcycv_devkit (debug) Start + [ 1/655] arm/altcycv_devkit (debug) Creating: bsp-builds/arm/altcycv_devkit.debug + [ 2/655] arm/altcycv_devkit (no-posix) Start + [ 2/655] arm/altcycv_devkit (no-posix) Creating: bsp-builds/arm/altcycv_devkit.no-posix + [ 3/655] arm/altcycv_devkit (posix) Start + [ 1/655] arm/altcycv_devkit (debug) Configuring + [ 3/655] arm/altcycv_devkit (posix) Creating: bsp-builds/arm/altcycv_devkit.posix + [ 2/655] arm/altcycv_devkit (no-posix) Configuring + [ 4/655] arm/altcycv_devkit (posix-debug) Start + [ 1/655] arm/altcycv_devkit (debug) Building + [ 3/655] arm/altcycv_devkit (posix) Configuring + [ 4/655] arm/altcycv_devkit (posix-debug) Creating: bsp-builds/arm/altcycv_devkit.posix-debug + [ 2/655] arm/altcycv_devkit (no-posix) Building + [ 5/655] arm/altcycv_devkit (posix-profiling) Start + [ 4/655] arm/altcycv_devkit (posix-debug) Configuring + [ 3/655] arm/altcycv_devkit (posix) Building + .... + [654/655] sparc/ngmp (posix-profiling) PASS + [654/655] sparc/ngmp (posix-profiling) Warnings:0 exes:0 objs:0 libs:0 + [654/655] sparc/ngmp (posix-profiling) Finished (duration:0:01:49.002189) + [654/655] sparc/ngmp (posix-profiling) Status: Pass: 655 Fail: 0 (configure:0 build:0) + [655/655] sparc/ngmp (profiling) PASS + [655/655] sparc/ngmp (profiling) Warnings:0 exes:0 objs:0 libs:0 + [655/655] sparc/ngmp (profiling) Finished (duration:0:01:260.002098) + [655/655] sparc/ngmp (profiling) Status: Pass: 655 Fail: 0 (configure:0 build:0) + [651/655] sparc/ngmp (no-posix) Cleaning: bsp-builds/sparc/ngmp.no-posix + [652/655] sparc/ngmp (posix) Cleaning: bsp-builds/sparc/ngmp.posix + [653/655] sparc/ngmp (posix-debug) Cleaning: bsp-builds/sparc/ngmp.posix-debug + [654/655] sparc/ngmp (posix-profiling) Cleaning: bsp-builds/sparc/ngmp.posix-profiling + [655/655] sparc/ngmp (profiling) Cleaning: bsp-builds/sparc/ngmp.profiling + Total: Warnings:31689 exes:6291 objs:793839 libs:37897 + Failures: + No failure(s) + Average BSP Build Time: 0:00:18.165000 + Total Time 3:41:48.075006 + Passes: 655 Failures: 0 + +To build a couple of BSPs you are interested in with tests: + +.. code-block:: shell + + $ /opt/rtems/4.12/bin/rtems-bsp-builder --build-path=/build/rtems \ + --rtems-tools=/opt/work/rtems/4.12 \ + --rtems=/opt/work/chris/rtems/kernel/rtems.git \ + ----log=lpc-log \ + --bsp=arm/lpc2362,arm/lpc23xx_tli800 \ + --build=tests \ + --jobs=5/12 + RTEMS Tools Project - RTEMS Kernel BSP Builder, 4.12 (61ddcfc8f057 modified) + BSPS(s): arm/lpc2362, arm/lpc23xx_tli800 + Cleaning: bsp-builds + [1/2] arm/lpc2362 (tests) Start + [1/2] arm/lpc2362 (tests) Creating: bsp-builds/arm/lpc2362.tests + [2/2] arm/lpc23xx_tli800 (tests) Start + [2/2] arm/lpc23xx_tli800 (tests) Creating: bsp-builds/arm/lpc23xx_tli800.tests + [1/2] arm/lpc2362 (tests) Configuring + [2/2] arm/lpc23xx_tli800 (tests) Configuring + [1/2] arm/lpc2362 (tests) Building + [2/2] arm/lpc23xx_tli800 (tests) Building + [1/2] arm/lpc2362 (tests) FAIL + [1/2] arm/lpc2362 (tests) Warnings:74 exes:58 objs:1645 libs:74 + [1/2] arm/lpc2362 (tests) Finished (duration:0:01:31.708252) + [1/2] arm/lpc2362 (tests) Status: Pass: 0 Fail: 2 (configure:0 build:2) + [2/2] arm/lpc23xx_tli800 (tests) FAIL + [2/2] arm/lpc23xx_tli800 (tests) Warnings:74 exes:51 objs:1632 libs:74 + [2/2] arm/lpc23xx_tli800 (tests) Finished (duration:0:01:31.747582) + [2/2] arm/lpc23xx_tli800 (tests) Status: Pass: 0 Fail: 2 (configure:0 build:2) + [1/2] arm/lpc2362 (tests) Cleaning: bsp-builds/arm/lpc2362.tests + [2/2] arm/lpc23xx_tli800 (tests) Cleaning: bsp-builds/arm/lpc23xx_tli800.tests + Total: Warnings:74 exes:109 objs:3277 libs:148 + Failures: + 1 tests arm/lpc2362 build: + configure: /opt/work/chris/rtems/kernel/rtems.git/configure --target\ + =arm-rtems4.12 --enable-rtemsbsp=lpc2362 --prefix=/opt/rtems/4.12\ + --enable-tests + error: ld/collect2:0 error: math.exe section '.rodata' will not fit + in region 'ROM_INT'; region 'ROM_INT' overflowed by 7284 bytes + + 2 tests arm/lpc23xx_tli800 build: + configure: /opt/work/chris/rtems/kernel/rtems.git/configure --target\ + =arm-rtems4.12 --enable-rtemsbsp=lpc23xx_tli800\ + --prefix=/opt/rtems/4.12 --enable-tests + error: ld/collect2:0 error: math.exe section '.text' will not fit in + region 'ROM_INT'; region 'ROM_INT' overflowed by 13972 bytes + + Average BSP Build Time: 0:00:46.658257 + Total Time 0:01:33.316514 + Passes: 0 Failures: 2 + +The summary report printed shows both BSP builds failed with the error detail +shown. In this case both are linker related errors where the test do not fit +into the target's available resources. -- cgit v1.2.3