Changeset c05e43b in rtems-docs


Ignore:
Timestamp:
03/09/16 04:37:31 (7 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
4.11, 5, am, master
Children:
4e3cf2b
Parents:
cec0d2b
git-author:
Chris Johns <chrisj@…> (03/09/16 04:37:31)
git-committer:
Amar Takhar <verm@…> (05/03/16 00:51:26)
Message:

User manual, devel install and windows install.

Location:
user
Files:
2 added
15 edited

Legend:

Unmodified
Added
Removed
  • user/additional/index.rst

    rcec0d2b rc05e43b  
    1313---
    1414Waf build system.  For more information see http://www.waf.io/
    15 
    16 See :ref:`waf`.
    1715
    1816
     
    3331
    3432List of all available programs in RTEMS
    35 
  • user/conf.py

    rcec0d2b rc05e43b  
    44from conf import *
    55
    6 version = '1.0'
    7 release = '5.0'
     6version = '4.11.0'
     7release = '4.11.0'
     8
     9project = "RTEMS User Manual"
     10
     11exclude_patterns = ['config/build.rst',
     12                    'config/runtime.rst',
     13                    'start/depend.rst',
     14                    'start/transition.rst',
     15                    'start/installation.rst',
     16                    'start/windows.rst',
     17                    'test/create.rst',
     18                    'test/running.rst',
     19                    'tools/build.rst',
     20                    'tools/simulation.rst',
     21                    'waf/index.rst']
    822
    923latex_documents = [
    10         ('index', 'user.tex', u'RTEMS User Documentation', u'RTEMS Documentation Project', 'manual'),
     24        ('index', 'user.tex', u'RTEMS User Manual', u'RTEMS Documentation Project', 'manual'),
    1125]
    12 
  • user/config/build.rst

    rcec0d2b rc05e43b  
    1 :orphan:
    2 
    31Build Configuration
    42===================
     
    64
    75XXX: build configuration
    8 
    9 
  • user/config/runtime.rst

    rcec0d2b rc05e43b  
    1 :orphan:
    2 
    31Runtime
    42=======
     
    64
    75XXX: runtime config
    8 
    9 
  • user/glossary/index.rst

    rcec0d2b rc05e43b  
    88                Waf build system.  For more information see http://www.waf.io/
    99
    10                 See :ref:`waf`.
    11 
    12 
    1310        Test Suite
    1411        Testsuite
  • user/index.rst

    rcec0d2b rc05e43b  
    22
    33============================
    4 RTEMS |version| user manual.
     4RTEMS |version| User Manual.
    55============================
    66
     
    99
    1010.. toctree::
    11         :maxdepth: 2
     11        :maxdepth: 3
     12        :numbered:
    1213
    1314        overview/index
    14 
    15 
    16 .. toctree::
    17         :maxdepth: 2
    18         :numbered:
    1915
    2016        start/index
     
    2218
    2319        tools/index
    24         waf/index
    2520        test/index
    2621
     22        architecture/index
    2723        bsp/index
    28         architecture/index
    2924
    3025        support/index
  • user/overview/index.rst

    rcec0d2b rc05e43b  
    33=========
    44
    5 Welcome to the :ref:term:`RTEMS` user manual.
     5Welcome to the :ref:term:`RTEMS` User Manual.
    66
    7 This document will attempt to cover every topic required as a user of RTEMS.
     7This document covers all the topic required as a user of RTEMS to use the RTEMS
     8operating system.
    89
    9 .. note::
    10   Developers should look at the :r:url:`devel` for technical information the
     10RTEMS, Real-Time Executive for Multiprocessor Systems, is a real-time executive
     11(kernel) which provides a high performance environment for embedded
     12applications including the following features:
     13
     14.. sidebar:: Developers
     15
     16  Developers should look at the :r:url:`devel` for technical information the
    1117  design and development of RTEMS is located there.
    1218
     19- multitasking capabilities
    1320
     21- homogeneous and heterogeneous multiprocessor systems
     22
     23- event-driven, priority-based, preemptive scheduling
     24
     25- optional rate monotonic scheduling
     26
     27- intertask communication and synchronization
     28
     29- priority inheritance
     30
     31- responsive interrupt management
     32
     33- dynamic memory allocation
     34
     35- high level of user configurability
     36
     37RTEMS provides features found in moderen operating system:
     38
     39- file systems
     40
     41- networking
     42
     43- USB
     44
     45- perminante media such as flash disks, cards and USB devices
     46
     47Real-time Application Systems
     48=============================
     49
     50Real-time application systems are a special class of computer applications.
     51They have a complex set of characteristics that distinguish them from other
     52software problems.  Generally, they must adhere to more rigorous requirements.
     53The correctness of the system depends not only on the results of computations,
     54but also on the time at which the results are produced.  The most important and
     55complex characteristic of real-time application systems is that they must
     56receive and respond to a set of external stimuli within rigid and critical time
     57constraints referred to as deadlines.  Systems can be buried by an avalanche of
     58interdependent, asynchronous or cyclical event streams.
     59
     60Deadlines can be further characterized as either hard or soft based upon the
     61value of the results when produced after the deadline has passed.  A deadline
     62is hard if the results have no value or if their use will result in a
     63catastrophic event.  In contrast, results which are produced after a soft
     64deadline may have some value.
     65
     66Another distinguishing requirement of real-time application systems is the
     67ability to coordinate or manage a large number of concurrent activities. Since
     68software is a synchronous entity, this presents special problems.  One
     69instruction follows another in a repeating synchronous cycle.  Even though
     70mechanisms have been developed to allow for the processing of external
     71asynchronous events, the software design efforts required to process and manage
     72these events and tasks are growing more complicated.
     73
     74The design process is complicated further by spreading this activity over a set
     75of processors instead of a single processor. The challenges associated with
     76designing and building real-time application systems become very complex when
     77multiple processors are involved.  New requirements such as interprocessor
     78communication channels and global resources that must be shared between
     79competing processors are introduced.  The ramifications of multiple processors
     80complicate each and every characteristic of a real-time system.
     81
     82Real-time Executive
     83===================
     84
     85Fortunately, real-time operating systems or real-time executives serve as a
     86cornerstone on which to build the application system.  A real-time multitasking
     87executive allows an application to be cast into a set of logical, autonomous
     88processes or tasks which become quite manageable.  Each task is internally
     89synchronous, but different tasks execute independently, resulting in an
     90asynchronous processing stream.  Tasks can be dynamically paused for many
     91reasons resulting in a different task being allowed to execute for a period of
     92time.  The executive also provides an interface to other system components such
     93as interrupt handlers and device drivers.  System components may request the
     94executive to allocate and coordinate resources, and to wait for and trigger
     95synchronizing conditions.  The executive system calls effectively extend the
     96CPU instruction set to support efficient multitasking.  By causing tasks to
     97travel through well-defined state transitions, system calls permit an
     98application to demand-switch between tasks in response to real-time events.
     99
     100By proper grouping of responses to stimuli into separate tasks, a system can
     101now asynchronously switch between independent streams of execution, directly
     102responding to external stimuli as they occur.  This allows the system design to
     103meet critical performance specifications which are typically measured by
     104guaranteed response time and transaction throughput.  The multiprocessor
     105extensions of RTEMS provide the features necessary to manage the extra
     106requirements introduced by a system distributed across several processors.  It
     107removes the physical barriers of processor boundaries from the world of the
     108system designer, enabling more critical aspects of the system to receive the
     109required attention. Such a system, based on an efficient real-time,
     110multiprocessor executive, is a more realistic model of the outside world or
     111environment for which it is designed.  As a result, the system will always be
     112more logical, efficient, and reliable.
     113
     114By using the directives provided by RTEMS, the real-time applications developer
     115is freed from the problem of controlling and synchronizing multiple tasks and
     116processors.  In addition, one need not develop, test, debug, and document
     117routines to manage memory, pass messages, or provide mutual exclusion.  The
     118developer is then able to concentrate solely on the application.  By using
     119standard software components, the time and cost required to develop
     120sophisticated real-time applications is significantly reduced.
     121
     122Open Source
     123===========
     124
     125RTEMS is an open source operating and an open source project. As a user you
     126have access to all the source code and we encourage you to work with the source
     127code and to integrate the processes used to build tools, the kernel and any 3rd
     128party libraries into your project's configuration management processes. The
     129RTEMS project is always improving the way it develivers the kernel to you and
     130so your feedback is important.
     131
     132What we used in the RTEMS project to develop and maintain RTEMS does not
     133dictate what you use to develop and maintain your project. You can and should
     134select the work-flow that best suites the demands of your project and what you
     135are delivering.
  • user/start/depend.rst

    rcec0d2b rc05e43b  
    1 :orphan:
     1.. comment: Copyright (c) 2016 Chris Johns <chrisj@rtems.org>
     2.. comment: All rights reserved.
    23
    34Dependencies
     
    56.. index:: Dependencies
    67
    7 XXX: List dependencies
     8RTEMS applications are developed using cross-development tools running on a
     9host computer, typically your desktop or a special build server. All RTEMS
     10tools and runtime libraries are built from source on your host machine. The
     11RTEMS Project does not maintain binary builds of the tools. This may appear be
     12the opposite to what you normally experience with host operating systems, and
     13it is, however this approach works well. RTEMS is not a host operating system
     14and it is not a distrbution. Providing binary packages for every possible host
     15operating system is to big a task for the RTEMS Project and it is not a good
     16use of the core developers time. Their time is better spent making RTEMS better
     17and faster.
    818
     19Developer Computer
     20------------------
     21
     22The rule for selecting a computer for a developer is `more is better` but we do
     23understand there are limits. Projects set up different configurations and what
     24is described here is not an approved set up, rather it is a guide. Some
     25projects have a suitable development machine per developer while others set up
     26a tightly controlled central build server. RTEMS is flexible and lets you
     27engineering a development environment that suites you. The basic specs are:
     28
     29- Multicore processor
     30- 8G bytes RAM
     31- 256G harddisk
     32
     33RTEMS makes no demands on graphics.
     34
     35Host Software
     36-------------
     37
     38A wide range of host operating systems and hardware can be used. The host
     39operating systems supported are:
     40
     41- Linux
     42- FreeBSD
     43- NetBSD
     44- Apple OS X
     45- Windows
     46- Solaris
     47
     48The functionality on POSIX operating such as Linux and FreeBSD is similar and
     49most features on Windows are supported but you are best to ask on
     50:r:list:`users` if you have a specific question.
     51
     52Install and set up your host operating system. We recommend you maintain your
     53operating system by installing any updates.
  • user/start/index.rst

    rcec0d2b rc05e43b  
     1.. comment: Copyright (c) 2016 Chris Johns <chrisj@rtems.org>
     2.. comment: All rights reserved.
     3
    14===============
    25Getting Started
    36===============
    47
    5 XXX: Very brief overview.
    6 
     8RTEMS is an open source operating and an open source project. As a user you
     9have access to all the source code and this `Getting Started`_ section will show
     10you how you build the RTEMS compiler tools, kernel and 3rd party libraries from
     11source.
    712
    813.. include:: depend.rst
    914.. include:: installation.rst
    10 .. include:: transition.rst
     15.. include:: windows.rst
  • user/start/installation.rst

    rcec0d2b rc05e43b  
    1 :orphan:
     1.. comment: Copyright (c) 2016 Chris Johns <chrisj@rtems.org>
     2.. comment: All rights reserved.
    23
    34Installation
     
    67.. index:: Installation
    78
    8 XXX: Some notes about waf etc.
    9 
     9RTEMS is built from source on your host machine. Releases are available from
     10our :r:url:`ftp` and each release contains a Quick Start build guide. If you
     11are wanting to track changes to RTEMS as they happen or you want to make
     12changes to RTEMS to send back to the project on our :r:list:`devel` then you
     13can use the developer's version available in our :r:url:`git`.
     14
     15RTEMS supports development on a wide vararity of hosts. There is no preferred
     16host operating system the project requires you use. This means you are able to
     17decide on a host operating system that is your passion, suites your needs, or
     18in some cases is decided for you by your employer. Our aim is to provide a
     19consistent user experience and on matching hardware the experience should feel
     20similar.
     21
     22The RTEMS core development team uses POSIX type operating systems, that is
     23Unix.  The `Released Version`_ and `Development Version`_ sections assume
     24Unix. Microsoft Windows is documented in a separate section
     25:ref:`microsoft-windows-installation`.
    1026
    1127Released Version
     
    1531
    1632XXX: Tarball
    17 
    1833
    1934Development Version
     
    2136.. index:: Git
    2237
    23 XXX: Git
    24 
     38RTEMS provides open access to it's development processes. The project encouages
     39all users to inspect, review, comment and contribute to the code base. The
     40processes described here are the same processes the core development team use
     41when developing and maintaining RTEMS.
     42
     43.. warning::
     44
     45   The development version is not for use in production and it can break from
     46   time to time.
     47
     48.. sidebar:: *GDB and Python*
     49
     50   RTEMS uses Python in GDB to aid debugging which means GDB needs to be built
     51   with Python development libraries. Please check the RSB documentation and
     52   install the packages specified for your host. Make sure a python development
     53   package is included.
     54
     55The following procedure assumes you have installed and configured your host
     56operating. It also assumes you have installed any dependent packages needed
     57when building the tools and the kernel.
     58
     59You need to select a location to build and install the RTEMS Tool chain and
     60RTEMS. Make sure there is plenty of disk space and a fast disk is
     61recommended. Our procedure will document building and installing the tools in a
     62home directory called :file:`development/rtems`. Using a home directory means
     63you can do this without needing to be root. You can also use
     64:file:`/opt/rtems/build` if you have access to that path.
     65
     66The location used to install the tools and kernel is called the `prefix`. It is
     67best to have a `prefix` for each different version of RTEMS you are using. If
     68you are using RTEMS 4.11 in production it is not a good to install a
     69development version of 4.12 over the top. A separate `prefix` for each version
     70avoids this.
     71
     72The RTEMS tool chain changes less often than the RTEMS kernel. One method of
     73working with development releases is to have a separate `prefix` for the RTEMS
     74tools and a different one for the RTEMS kernel. You can then update each
     75without interacting with the other. You can also have a number of RTEMS
     76versions available to test with.
     77
     78This procedure will build a SPARC tool chain.
     79
     80RTEMS Tools Chain
     81~~~~~~~~~~~~~~~~~
     82
     83Clone the RTEMS Source Builder (RSB) repository:
     84
     85.. code-block:: shell
     86
     87  $ cd
     88  $ mkdir -p development/rtems
     89  $ cd development/rtems
     90  $ git clone git://git.rtems.org/rtems-source-builder.git rsb
     91  Cloning into 'rsb'...
     92  remote: Counting objects: 5837, done.
     93  remote: Compressing objects: 100% (2304/2304), done.
     94  remote: Total 5837 (delta 4014), reused 5056 (delta 3494)
     95  Receiving objects: 100% (5837/5837), 2.48 MiB | 292.00 KiB/s, done.
     96  Resolving deltas: 100% (4014/4014), done.
     97  Checking connectivity... done.
     98
     99.. sidebar:: *Downloading the source*
     100
     101  You need an internet connection to download the source. The downloaded source
     102  is cached locally and the RSB checksums it. If you run a build again the
     103  download output will be missing. Using the RSB from git will download the
     104  source from the upstream project's home site and this could be `http`, `ftp`,
     105  or `git`.
     106
     107Check all the host packages you need are present. Current libraries are not
     108checked and this includes checking for the python development libraries GDB
     109requires:
     110
     111.. code-block:: shell
     112
     113  $ cd rsb
     114  $ ./source-builder/sb-check
     115  RTEMS Source Builder - Check, 4.12 (e645642255cc)
     116  Environment is ok
     117
     118Build a tool chain for the SPARC architecure. We are using the SPARC
     119architecture because GDB has a good simulator that lets us run and test the
     120samples RTEMS builds by default. The current development version
     121is `4.12` and is on master:
     122
     123.. code-block:: shell
     124
     125  $ cd rtems
     126  $ ../source-builder/sb-set-builder \
     127      --prefix=/usr/home/chris/development/rtems/4.12 4.12/rtems-sparc
     128  RTEMS Source Builder - Set Builder, 4.12 (e645642255cc)
     129  Build Set: 4.12/rtems-sparc
     130  Build Set: 4.12/rtems-autotools.bset
     131  Build Set: 4.12/rtems-autotools-internal.bset
     132  config: tools/rtems-autoconf-2.69-1.cfg
     133  package: autoconf-2.69-x86_64-linux-gnu-1
     134  Creating source directory: sources
     135  download: ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz -> sources/autoconf-2.69.tar.gz
     136  downloading: sources/autoconf-2.69.tar.gz - 1.8MB of 1.8MB (100%)
     137  building: autoconf-2.69-x86_64-linux-gnu-1
     138  config: tools/rtems-automake-1.12.6-1.cfg
     139  package: automake-1.12.6-x86_64-linux-gnu-1
     140  download: ftp://ftp.gnu.org/gnu/automake/automake-1.12.6.tar.gz -> sources/automake-1.12.6.tar.gz
     141  downloading: sources/automake-1.12.6.tar.gz - 2.0MB of 2.0MB (100%)
     142  Creating source directory: patches
     143  download: https://git.rtems.org/rtems-tools/plain/tools/4.12/automake/automake-1.12.6-bugzilla.redhat.com-1239379.diff -> patches/automake-1.12.6-bugzilla.redhat.com-1239379.diff
     144  downloading: patches/automake-1.12.6-bugzilla.redhat.com-1239379.diff - 408.0 bytes of 408.0 bytes (100%)
     145  building: automake-1.12.6-x86_64-linux-gnu-1
     146  cleaning: autoconf-2.69-x86_64-linux-gnu-1
     147  cleaning: automake-1.12.6-x86_64-linux-gnu-1
     148  Build Set: Time 0:00:17.465024
     149  Build Set: 4.12/rtems-autotools-base.bset
     150  config: tools/rtems-autoconf-2.69-1.cfg
     151  package: autoconf-2.69-x86_64-linux-gnu-1
     152  building: autoconf-2.69-x86_64-linux-gnu-1
     153  reporting: tools/rtems-autoconf-2.69-1.cfg -> autoconf-2.69-x86_64-linux-gnu-1.txt
     154  reporting: tools/rtems-autoconf-2.69-1.cfg -> autoconf-2.69-x86_64-linux-gnu-1.xml
     155  config: tools/rtems-automake-1.12.6-1.cfg
     156  package: automake-1.12.6-x86_64-linux-gnu-1
     157  building: automake-1.12.6-x86_64-linux-gnu-1
     158  reporting: tools/rtems-automake-1.12.6-1.cfg -> automake-1.12.6-x86_64-linux-gnu-1.txt
     159  reporting: tools/rtems-automake-1.12.6-1.cfg -> automake-1.12.6-x86_64-linux-gnu-1.xml
     160  installing: autoconf-2.69-x86_64-linux-gnu-1 -> /usr/home/chris/development/rtems/4.12
     161  installing: automake-1.12.6-x86_64-linux-gnu-1 -> /usr/home/chris/development/rtems/4.12
     162  cleaning: autoconf-2.69-x86_64-linux-gnu-1
     163  cleaning: automake-1.12.6-x86_64-linux-gnu-1
     164  Build Set: Time 0:00:05.358624
     165  Build Set: Time 0:00:22.824422
     166  config: devel/expat-2.1.0-1.cfg
     167  package: expat-2.1.0-x86_64-linux-gnu-1
     168  download: http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz -> sources/expat-2.1.0.tar.gz
     169    redirect: http://internode.dl.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz
     170  downloading: sources/expat-2.1.0.tar.gz - 549.4kB of 549.4kB (100%)
     171  building: expat-2.1.0-x86_64-linux-gnu-1
     172  reporting: devel/expat-2.1.0-1.cfg -> expat-2.1.0-x86_64-linux-gnu-1.txt
     173  reporting: devel/expat-2.1.0-1.cfg -> expat-2.1.0-x86_64-linux-gnu-1.xml
     174  config: tools/rtems-binutils-2.26-1.cfg
     175  package: sparc-rtems4.12-binutils-2.26-x86_64-linux-gnu-1
     176  download: ftp://ftp.gnu.org/gnu/binutils/binutils-2.26.tar.bz2 -> sources/binutils-2.26.tar.bz2
     177  downloading: sources/binutils-2.26.tar.bz2 - 24.4MB of 24.4MB (100%)
     178  download: https://git.rtems.org/rtems-tools/plain/tools/4.12/binutils/binutils-2.26-rtems-aarch64-x86_64.patch -> patches/binutils-2.26-rtems-aarch64-x86_64.patch
     179  downloading: patches/binutils-2.26-rtems-aarch64-x86_64.patch - 3.2kB of 3.2kB (100%)
     180  building: sparc-rtems4.12-binutils-2.26-x86_64-linux-gnu-1
     181  reporting: tools/rtems-binutils-2.26-1.cfg -> sparc-rtems4.12-binutils-2.26-x86_64-linux-gnu-1.txt
     182  reporting: tools/rtems-binutils-2.26-1.cfg -> sparc-rtems4.12-binutils-2.26-x86_64-linux-gnu-1.xml
     183  config: tools/rtems-gcc-6-20160228-newlib-2.3.0.20160226-1.cfg
     184  package: sparc-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1
     185  download: ftp://gcc.gnu.org/pub/gcc/snapshots/6-20160228/gcc-6-20160228.tar.bz2 -> sources/gcc-6-20160228.tar.bz2
     186  downloading: sources/gcc-6-20160228.tar.bz2 - 90.8MB of 90.8MB (100%)
     187  download: ftp://sourceware.org/pub/newlib/newlib-2.3.0.20160226.tar.gz -> sources/newlib-2.3.0.20160226.tar.gz
     188  downloading: sources/newlib-2.3.0.20160226.tar.gz - 16.9MB of 16.9MB (100%)
     189  download: http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 ->
     190  sources/mpfr-2.4.2.tar.bz2
     191  downloading: sources/mpfr-2.4.2.tar.bz2 - 1.0MB of 1.0MB (100%)
     192  download: http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz -> sources/mpc-0.8.1.tar.gz
     193  downloading: sources/mpc-0.8.1.tar.gz - 532.2kB of 532.2kB (100%)
     194  download: ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2 -> sources/gmp-4.3.2.tar.bz2
     195  downloading: sources/gmp-4.3.2.tar.bz2 - 1.8MB of 1.8MB (100%)
     196  building: sparc-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1
     197  reporting: tools/rtems-gcc-6-20160228-newlib-2.3.0.20160226-1.cfg -> sparc-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1.txt
     198  reporting: tools/rtems-gcc-6-20160228-newlib-2.3.0.20160226-1.cfg -> sparc-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1.xml
     199  config: tools/rtems-gdb-7.9-1.cfg
     200  package: sparc-rtems4.12-gdb-7.9-x86_64-linux-gnu-1
     201  download: http://ftp.gnu.org/gnu/gdb/gdb-7.9.tar.xz -> sources/gdb-7.9.tar.xz
     202  downloading: sources/gdb-7.9.tar.xz - 17.0MB of 17.0MB (100%)
     203  download: https://git.rtems.org/rtems-tools/plain/tools/4.12/gdb/gdb-sim-arange-inline.diff -> patches/gdb-sim-arange-inline.diff
     204  downloading: patches/gdb-sim-arange-inline.diff - 761.0 bytes of 761.0 bytes (100%)
     205  download: https://git.rtems.org/rtems-tools/plain/tools/4.12/gdb/gdb-sim-cgen-inline.diff -> patches/gdb-sim-cgen-inline.diff
     206  downloading: patches/gdb-sim-cgen-inline.diff - 706.0 bytes of 706.0 bytes (100%)
     207  download: https://git.rtems.org/rtems-tools/plain/tools/4.12/gdb/gdb-7.9-aarch64-x86_64.patch -> patches/gdb-7.9-aarch64-x86_64.patch
     208  downloading: patches/gdb-7.9-aarch64-x86_64.patch - 1.7kB of 1.7kB (100%)
     209  building: sparc-rtems4.12-gdb-7.9-x86_64-linux-gnu-1
     210  reporting: tools/rtems-gdb-7.9-1.cfg -> sparc-rtems4.12-gdb-7.9-x86_64-linux-gnu-1.txt
     211  reporting: tools/rtems-gdb-7.9-1.cfg -> sparc-rtems4.12-gdb-7.9-x86_64-linux-gnu-1.xml
     212  config: tools/rtems-tools-4.12-1.cfg
     213  package: rtems-tools-HEAD-1
     214  Creating source directory: sources/git
     215  git: clone: git://git.rtems.org/rtems-tools.git -> sources/git/rtems-tools.git
     216  git: reset: git://git.rtems.org/rtems-tools.git
     217  git: fetch: git://git.rtems.org/rtems-tools.git -> sources/git/rtems-tools.git
     218  git: checkout: git://git.rtems.org/rtems-tools.git => HEAD
     219  git: pull: git://git.rtems.org/rtems-tools.git
     220  building: rtems-tools-HEAD-1
     221  reporting: tools/rtems-tools-4.12-1.cfg -> rtems-tools-HEAD-1.txt
     222  reporting: tools/rtems-tools-4.12-1.cfg -> rtems-tools-HEAD-1.xml
     223  installing: expat-2.1.0-x86_64-linux-gnu-1 -> /usr/home/chris/development/rtems/4.12
     224  installing: sparc-rtems4.12-binutils-2.26-x86_64-linux-gnu-1 -> /usr/home/chris/development/rtems/4.12
     225  installing: sparc-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1 -> /usr/home/chris/development/rtems/4.12
     226  installing: sparc-rtems4.12-gdb-7.9-x86_64-linux-gnu-1 -> /usr/home/chris/development/rtems/4.12
     227  installing: rtems-tools-HEAD-1 -> /usr/home/chris/development/rtems/4.12
     228  cleaning: expat-2.1.0-x86_64-linux-gnu-1
     229  cleaning: sparc-rtems4.12-binutils-2.26-x86_64-linux-gnu-1
     230  cleaning: sparc-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1
     231  cleaning: sparc-rtems4.12-gdb-7.9-x86_64-linux-gnu-1
     232  cleaning: rtems-tools-HEAD-1
     233  Build Set: Time 0:31:09.754219
     234
     235RTEMS Kernel
     236~~~~~~~~~~~~
     237
     238We need to set our path to include the RTEMS tools we built in the previous
     239section. The RTEMS tools needs to be first in your path because RTEMS provides
     240specific versions of the ``autoconf`` and ``automake`` tools. We want to use
     241the RTEMS version and not your host's versions:
     242
     243
     244.. code-block:: shell
     245
     246  $ export PATH=$HOME/development/rtems/4.12/bin:$PATH
     247
     248Create a new location to build the RTEMS kernel:
     249
     250.. code-block:: shell
     251
     252  $ cd
     253  $ cd development/rtems
     254  $ mkdir kernel
     255  $ cd kernel
     256
     257Clone the RTEMS respository:
     258
     259.. code-block:: shell
     260
     261  $ git clone git://git.rtems.org/rtems.git rtems
     262  Cloning into 'rtems'...
     263  remote: Counting objects: 483342, done.
     264  remote: Compressing objects: 100% (88974/88974), done.
     265  remote: Total 483342 (delta 390053), reused 475669 (delta 383809)
     266  Receiving objects: 100% (483342/483342), 69.88 MiB | 1.37 MiB/s, done.
     267  Resolving deltas: 100% (390053/390053), done.
     268  Checking connectivity... done.
     269
     270The developers version of the code from git requires ``bootstrapping``. This is
     271an ``autoconf`` and ``automake`` bootstrap to create the various files generated
     272by ``autoconf`` and ``automake``. RTEMS does not keep these generated files
     273under version control. The bootstrap process is slow so to speed it up the RSB
     274provides a command that can perform the bootstrap in parallel using your
     275available cores:
     276
     277.. code-block:: shell
     278
     279  $ ./bootstrap -c && ./bootstrap -p && \
     280              $HOME/development/rtems/rsb/rsb/source-builder/sb-bootstrap
     281  removing automake generated Makefile.in files
     282  removing configure files
     283  removing aclocal.m4 files
     284  Generating ./cpukit/dtc/libfdt/preinstall.am
     285  Generating ./cpukit/zlib/preinstall.am
     286  Generating ./cpukit/libdl/preinstall.am
     287  Generating ./cpukit/posix/preinstall.am
     288  Generating ./cpukit/pppd/preinstall.am
     289  Generating ./cpukit/librpc/preinstall.am
     290  Generating ./cpukit/preinstall.am
     291  Generating ./cpukit/sapi/preinstall.am
     292  Generating ./cpukit/score/preinstall.am
     293  Generating ./cpukit/score/cpu/mips/preinstall.am
     294  Generating ./cpukit/score/cpu/sh/preinstall.am
     295  Generating ./cpukit/score/cpu/sparc/preinstall.am
     296  Generating ./cpukit/score/cpu/no_cpu/preinstall.am
     297  Generating ./cpukit/score/cpu/arm/preinstall.am
     298  Generating ./cpukit/score/cpu/m32c/preinstall.am
     299  Generating ./cpukit/score/cpu/moxie/preinstall.am
     300  Generating ./cpukit/score/cpu/v850/preinstall.am
     301  Generating ./cpukit/score/cpu/sparc64/preinstall.am
     302  Generating ./cpukit/score/cpu/or1k/preinstall.am
     303  Generating ./cpukit/score/cpu/i386/preinstall.am
     304  Generating ./cpukit/score/cpu/nios2/preinstall.am
     305  Generating ./cpukit/score/cpu/epiphany/preinstall.am
     306  Generating ./cpukit/score/cpu/m68k/preinstall.am
     307  Generating ./cpukit/score/cpu/lm32/preinstall.am
     308  Generating ./cpukit/score/cpu/powerpc/preinstall.am
     309  Generating ./cpukit/score/cpu/bfin/preinstall.am
     310  Generating ./cpukit/libpci/preinstall.am
     311  Generating ./cpukit/libcrypt/preinstall.am
     312  Generating ./cpukit/rtems/preinstall.am
     313  Generating ./cpukit/telnetd/preinstall.am
     314  Generating ./cpukit/libnetworking/preinstall.a
     315   ......
     316  Generating ./c/src/lib/libbsp/powerpc/gen5200/preinstall.am
     317  Generating ./c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am
     318  Generating ./c/src/lib/libbsp/bfin/TLL6527M/preinstall.am
     319  Generating ./c/src/lib/libbsp/bfin/bf537Stamp/preinstall.am
     320  Generating ./c/src/lib/libbsp/bfin/eZKit533/preinstall.am
     321  Generating ./c/src/librtems++/preinstall.am
     322  Generating ./c/src/libchip/preinstall.am
     323  Generating ./c/src/wrapup/preinstall.am
     324  Generating ./c/src/ada/preinstall.am
     325  RTEMS Source Builder - RTEMS Bootstrap, 4.12 (e645642255cc modified)
     326    1/139: autoreconf: configure.ac
     327    2/139: autoreconf: cpukit/configure.ac
     328    3/139: autoreconf: tools/cpu/configure.ac
     329    4/139: autoreconf: tools/cpu/generic/configure.ac
     330    5/139: autoreconf: tools/cpu/sh/configure.ac
     331    6/139: autoreconf: tools/cpu/nios2/configure.ac
     332    7/139: autoreconf: tools/build/configure.ac
     333    8/139: autoreconf: doc/configure.ac
     334   ......
     335  124/139: autoreconf: c/src/make/configure.ac
     336  125/139: autoreconf: c/src/librtems++/configure.ac
     337  126/139: autoreconf: c/src/ada-tests/configure.ac
     338  127/139: autoreconf: testsuites/configure.ac
     339  128/139: autoreconf: testsuites/libtests/configure.ac
     340  129/139: autoreconf: testsuites/mptests/configure.ac
     341  130/139: autoreconf: testsuites/fstests/configure.ac
     342  131/139: autoreconf: testsuites/sptests/configure.ac
     343  132/139: autoreconf: testsuites/tmtests/configure.ac
     344  133/139: autoreconf: testsuites/smptests/configure.ac
     345  134/139: autoreconf: testsuites/tools/configure.ac
     346  135/139: autoreconf: testsuites/tools/generic/configure.ac
     347  136/139: autoreconf: testsuites/psxtests/configure.ac
     348  137/139: autoreconf: testsuites/psxtmtests/configure.ac
     349  138/139: autoreconf: testsuites/rhealstone/configure.ac
     350  139/139: autoreconf: testsuites/samples/configure.ac
     351  Bootstrap time: 0:02:47.398824
     352
     353We build RTEMS in a directory outside of the source tree we have just cloned
     354and ``bootstrapped``. You cannot build RTEMS while in the source tree. Lets
     355create a suitable directory using the name of the BSP we are going to build:
     356
     357.. code-block:: shell
     358
     359  $ cd ..
     360  $ mkdir erc32
     361  $ cd erc32
     362
     363Configure RTEMS using the ``configure`` command. We use a full path to
     364``configure`` so the object files built contain the absolute path of the source
     365files. If you are source level debugging you will be able to access the source
     366code to RTEMS from the debugger. We will build for the ``erc32`` BSP with POSIX
     367enabled and the networking stack disabled:
     368
     369.. code-block:: shell
     370
     371  $ $HOME/development/rtems/kernel/rtems/configure --prefix=$HOME/development/rtems/4.12 \
     372                     --target=sparc-rtems4.12 --enable-rtemsbsp=erc32 --enable-posix \
     373                     --disable-networking
     374  checking for gmake... no
     375  checking for make... make
     376  checking for RTEMS Version... 4.11.99.0
     377  checking build system type... x86_64-pc-linux-gnu
     378  checking host system type... x86_64-pc-linux-gnu
     379  checking target system type... sparc-unknown-rtems4.12
     380  checking for a BSD-compatible install... /usr/bin/install -c
     381  checking whether build environment is sane... yes
     382  checking for a thread-safe mkdir -p... /bin/mkdir -p
     383  checking for gawk... no
     384  checking for mawk... mawk
     385  checking whether make sets $(MAKE)... yes
     386  checking whether to enable maintainer-specific portions of Makefiles... no
     387  checking that generated files are newer than configure... done
     388   ......
     389  checking target system type... sparc-unknown-rtems4.12
     390  checking rtems target cpu... sparc
     391  checking for a BSD-compatible install... /usr/bin/install -c
     392  checking whether build environment is sane... yes
     393  checking for sparc-rtems4.12-strip... sparc-rtems4.12-strip
     394  checking for a thread-safe mkdir -p... /bin/mkdir -p
     395  checking for gawk... no
     396  checking for mawk... mawk
     397  checking whether make sets $(MAKE)... yes
     398  checking whether to enable maintainer-specific portions of Makefiles... no
     399  checking that generated files are newer than configure... done
     400  configure: creating ./config.status
     401  config.status: creating Makefile
     402
     403  target architecture: sparc.
     404  available BSPs: erc32.
     405  'make all' will build the following BSPs: erc32.
     406  other BSPs can be built with 'make RTEMS_BSP="bsp1 bsp2 ..."'
     407
     408  config.status: creating Makefile
     409
     410Build RTEMS using two cores:
     411
     412.. code-block:: shell
     413
     414  $ make -j 2
     415  Making all in tools/build
     416  make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/build'
     417  make  all-am
     418  make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/build'
     419  gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build     -g -O2 -MT cklength.o -MD -MP -MF .deps/cklength.Tpo -c -o cklength.o /home/chris/development/rtems/kernel/rtems/tools/build/cklength.c
     420  gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build     -g -O2 -MT eolstrip.o -MD -MP -MF .deps/eolstrip.Tpo -c -o eolstrip.o /home/chris/development/rtems/kernel/rtems/tools/build/eolstrip.c
     421  mv -f .deps/cklength.Tpo .deps/cklength.Po
     422  mv -f .deps/eolstrip.Tpo .deps/eolstrip.Po
     423  gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build     -g -O2 -MT compat.o -MD -MP -MF .deps/compat.Tpo -c -o compat.o /home/chris/development/rtems/kernel/rtems/tools/build/compat.c
     424  gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build     -g -O2 -MT packhex.o -MD -MP -MF .deps/packhex.Tpo -c -o packhex.o /home/chris/development/rtems/kernel/rtems/tools/build/packhex.c
     425  mv -f .deps/compat.Tpo .deps/compat.Po
     426  gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build     -g -O2 -MT unhex.o -MD -MP -MF .deps/unhex.Tpo -c -o unhex.o /home/chris/development/rtems/kernel/rtems/tools/build/unhex.c
     427  mv -f .deps/packhex.Tpo .deps/packhex.Po
     428  gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build     -g -O2 -MT rtems-bin2c.o -MD -MP -MF .deps/rtems-bin2c.Tpo -c -o rtems-bin2c.o /home/chris/development/rtems/kernel/rtems/tools/build/rtems-bin2c.c
     429  mv -f .deps/unhex.Tpo .deps/unhex.Po
     430  gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build     -g -O2 -MT binpatch.o -MD -MP -MF .deps/binpatch.Tpo -c -o binpatch.o /home/chris/development/rtems/kernel/rtems/tools/build/binpatch.c
     431  mv -f .deps/rtems-bin2c.Tpo .deps/rtems-bin2c.Po
     432  gcc  -g -O2   -o cklength cklength.o
     433  mv -f .deps/binpatch.Tpo .deps/binpatch.Po
     434  gcc  -g -O2   -o eolstrip eolstrip.o compat.o
     435  gcc  -g -O2   -o packhex packhex.o
     436  gcc  -g -O2   -o rtems-bin2c rtems-bin2c.o compat.o
     437  gcc  -g -O2   -o unhex unhex.o compat.o
     438  gcc  -g -O2   -o binpatch binpatch.o
     439  make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/build'
     440  make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/build'
     441  Making all in tools/cpu
     442  make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu'
     443  Making all in generic
     444  make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu/generic'
     445  make[2]: Nothing to be done for 'all'.
     446  make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu/generic'
     447  make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu'
     448  make[2]: Nothing to be done for 'all-am'.
     449  make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu'
     450  make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu'
     451  Making all in testsuites/tools
     452  make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32/testsuites/tools'
     453  Making all in generic
     454  make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/testsuites/tools/generic'
     455  make[2]: Nothing to be done for 'all'.
     456  make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/testsuites/tools/generic'
     457  make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/testsuites/tools'
     458  make[2]: Nothing to be done for 'all-am'.
     459  make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/testsuites/tools'
     460  make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/testsuites/tools'
     461  Making all in sparc-rtems4.12/c
     462  make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c'
     463  Making all in .
     464  make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c'
     465  Configuring RTEMS_BSP=erc32
     466  checking for gmake... no
     467  checking for make... make
     468  checking build system type... x86_64-pc-linux-gnu
     469  checking host system type... sparc-unknown-rtems4.12
     470   ......
     471  cp paranoia.exe paranoia.ralf
     472  make[6]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites/samples/paranoia'
     473  Making all in nsecs
     474  make[6]: Entering directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites/samples/nsecs'
     475  sparc-rtems4.12-gcc -B../../../../../erc32/lib/ -specs bsp_specs -qrtems -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/c/src/../../testsuites/samples/nsecs -I.. -I/home/chris/development/rtems/kernel/rtems/c/src/../../testsuites/samples/../support/include   -mcpu=cypress -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT init.o -MD -MP -MF .deps/init.Tpo -c -o init.o /home/chris/development/rtems/kernel/rtems/c/src/../../testsuites/samples/nsecs/init.c
     476  sparc-rtems4.12-gcc -B../../../../../erc32/lib/ -specs bsp_specs -qrtems -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/c/src/../../testsuites/samples/nsecs -I.. -I/home/chris/development/rtems/kernel/rtems/c/src/../../testsuites/samples/../support/include   -mcpu=cypress -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT empty.o -MD -MP -MF .deps/empty.Tpo -c -o empty.o /home/chris/development/rtems/kernel/rtems/c/src/../../testsuites/samples/nsecs/empty.c
     477  mv -f .deps/empty.Tpo .deps/empty.Po
     478  mv -f .deps/init.Tpo .deps/init.Po
     479  sparc-rtems4.12-gcc -B../../../../../erc32/lib/ -specs bsp_specs -qrtems -mcpu=cypress -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -Wl,--gc-sections  -mcpu=cypress   -o nsecs.exe init.o empty.o
     480  sparc-rtems4.12-nm -g -n nsecs.exe > nsecs.num
     481  sparc-rtems4.12-size nsecs.exe
     482     text    data     bss     dec     hex filename
     483   121392    1888    6624  129904   1fb70 nsecs.exe
     484  cp nsecs.exe nsecs.ralf
     485  make[6]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites/samples/nsecs'
     486  make[5]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites/samples'
     487  make[4]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites/samples'
     488  make[4]: Entering directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites'
     489  make[4]: Nothing to be done for 'all-am'.
     490  make[4]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites'
     491  make[3]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites'
     492  make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32'
     493  make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c'
     494  make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32'
     495  make[1]: Nothing to be done for 'all-am'.
     496  make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32'
     497
     498All that remains to be done is to install the kernel. Installing RTEMS copies
     499the API headers and architecture specific libraries to a locaiton under the
     500`prefix` you provide. You can install any number of BSPs under the same
     501`prefix`. We recommend you have a separate `prefix` for different versions of
     502RTEMS. Do not mix versions of RTEMS under the same `prefix`. Make installs
     503RTEMS with the following command:
     504
     505.. code-block:: shell
     506
     507  $ make install
     508  Making install in tools/build
     509  make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/build'
     510  make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/build'
     511  /bin/mkdir -p '/home/chris/development/rtems/4.12/bin'
     512  /usr/bin/install -c cklength eolstrip packhex unhex rtems-bin2c '/home/chris/development/rtems/4.12/bin'
     513  /bin/mkdir -p '/home/chris/development/rtems/4.12/bin'
     514  /usr/bin/install -c install-if-change '/home/chris/development/rtems/4.12/bin'
     515  make[2]: Nothing to be done for 'install-data-am'.
     516  make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/build'
     517  make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/build'
     518  Making install in tools/cpu
     519  make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu'
     520  Making install in generic
     521  make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu/generic'
     522  make[3]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu/generic'
     523  make[3]: Nothing to be done for 'install-exec-am'.
     524  make[3]: Nothing to be done for 'install-data-am'.
     525  make[3]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu/generic'
     526  make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu/generic'
     527  make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu'
     528  make[3]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu'
     529  make[3]: Nothing to be done for 'install-exec-am'.
     530  make[3]: Nothing to be done for 'install-data-am'.
     531  make[3]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu'
     532  make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu'
     533  make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu
     534   ......
     535  make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c'
     536  make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32'
     537  make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32'
     538  make[2]: Nothing to be done for 'install-exec-am'.
     539  /bin/mkdir -p '/home/chris/development/rtems/4.12/make'
     540  /usr/bin/install -c -m 644 /home/chris/development/rtems/kernel/rtems/make/main.cfg /home/chris/development/rtems/kernel/rtems/make/leaf.cfg '/home/chris/development/rtems/4.12/make'
     541  /bin/mkdir -p '/home/chris/development/rtems/4.12/share/rtems4.12/make/Templates'
     542  /usr/bin/install -c -m 644 /home/chris/development/rtems/kernel/rtems/make/Templates/Makefile.dir /home/chris/development/rtems/kernel/rtems/make/Templates/Makefile.leaf /home/chris/development/rtems/kernel/rtems/make/Templates/Makefile.lib '/home/chris/development/rtems/4.12/share/rtems4.12/make/Templates'
     543  /bin/mkdir -p '/home/chris/development/rtems/4.12/make/custom'
     544  /usr/bin/install -c -m 644 /home/chris/development/rtems/kernel/rtems/make/custom/default.cfg '/home/chris/development/rtems/4.12/make/custom'
     545  make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32'
     546  make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32'
     547
     548Contributing Patches
     549~~~~~~~~~~~~~~~~~~~~
     550
     551RTEMS welcomes fixes to bugs and new features. The RTEMS Project likes to have
     552bugs fixed against a ticket created on our :r:url:`devel`. Please raise a
     553ticket if you have a bug. Any changes that are made can be tracked against the
     554ticket. If you want to add a new a feature please post a message to
     555:r:list:`devel` describing what you would like to implement. The RTEMS
     556maintainer will help decide if the feature is in the best interest of the
     557project. Not everything is and the maintainers need to evalulate how much
     558effort it is to maintain the feature. Once accepted into the source tree it
     559becomes the responsibility of the maintainers to keep the feature updated and
     560working.
     561
     562Changes to the source tree are tracked using git. If you have not made changes
     563and enter the source tree and enter a git status command you will see nothing
     564has changed:
     565
     566.. code-block:: shell
     567
     568  $ cd ../rtems
     569  $ git status
     570  On branch master
     571  Your branch is up-to-date with 'origin/master'.
     572  nothing to commit, working directory clean
     573
     574We will make a change to the source code. In this example I change the help
     575message to the RTEMS shell's ``halt`` command. Running the same git status
     576command reports:
     577
     578.. code-block:: shell
     579
     580  $ git status
     581  On branch master
     582  Your branch is up-to-date with 'origin/master'.
     583  Changes not staged for commit:
     584    (use "git add <file>..." to update what will be committed)
     585    (use "git checkout -- <file>..." to discard changes in working directory)
     586
     587          modified:   cpukit/libmisc/shell/main_halt.c
     588
     589  no changes added to commit (use "git add" and/or "git commit -a")
     590
     591As an example I have a ticket open and the ticket number is 9876. I commit the
     592change with the follow git command:
     593
     594.. code-block:: shell
     595
     596  $ git commit cpukit/libmisc/shell/main_halt.c
     597
     598An editor is opened and I enter my commit message. The first line is a title
     599and the following lines form a body. My message is:
     600
     601.. code-block:: shell
     602
     603  shell: Add more help detail to the halt command.
     604
     605  Closes #9876.
     606
     607  # Please enter the commit message for your changes. Lines starting
     608  # with '#' will be ignored, and an empty message aborts the commit.
     609  # Explicit paths specified without -i or -o; assuming --only paths...
     610  #
     611  # Committer: Chris Johns <chrisj@rtems.org>
     612  #
     613  # On branch master
     614  # Your branch is up-to-date with 'origin/master'.
     615  #
     616  # Changes to be committed:
     617  #       modified:   cpukit/libmisc/shell/main_halt.c
     618
     619When you save and exit the editor git will report the commit's status:
     620
     621.. code-block:: shell
     622
     623  $ git commit cpukit/libmisc/shell/main_halt.c
     624  [master 9f44dc9] shell: Add more help detail to the halt command.
     625   1 file changed, 1 insertion(+), 1 deletion(-)
     626
     627You can either email the patch to :r:list:`devel` with the following git
     628command:
     629
     630.. code-block:: shell
     631
     632  $ git send-email --to=devel@rtems.org -1
     633   <add output here>
     634
     635Or you can ask git to create a patch file using:
     636
     637.. code-block:: shell
     638
     639  $ git format-patch -1
     640  0001-shell-Add-more-help-detail-to-the-halt-command.patch
     641
     642This patch can be attached to a ticket.
  • user/start/transition.rst

    rcec0d2b rc05e43b  
    1 :orphan:
    2 
    31Transition
    42===========
     
    64
    75XXX: Transition from auto* to waf.
    8 
    9 
  • user/test/create.rst

    rcec0d2b rc05e43b  
    1 :orphan:
    2 
    31Creating A Test
    42===============
     
    64
    75XXX: How to create a test.
    8 
    9 
  • user/test/running.rst

    rcec0d2b rc05e43b  
    1 :orphan:
    2 
    31Running
    42========
     
    2523--------
    2624XXX: Running on real hardware.
    27 
  • user/tools/build.rst

    rcec0d2b rc05e43b  
    1 :orphan:
    2 
    31Build Tools
    42===========
  • user/tools/simulation.rst

    rcec0d2b rc05e43b  
    1 :orphan:
    2 
    31Simulation
    42==========
     
    1210
    1311XXX: rtems-run
    14 
Note: See TracChangeset for help on using the changeset viewer.