Changeset 4e3cf2b in rtems-docs


Ignore:
Timestamp:
Mar 10, 2016, 2:25:27 AM (4 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
4.11, master
Children:
63eaa6f
Parents:
c05e43b
git-author:
Chris Johns <chrisj@…> (03/10/16 02:25:27)
git-committer:
Amar Takhar <verm@…> (05/03/16 00:51:26)
Message:

Split installation into separate files.

Location:
user
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • user/conf.py

    rc05e43b r4e3cf2b  
    1313                    'start/depend.rst',
    1414                    'start/transition.rst',
     15                    'start/releases.rst',
     16                    'start/development.rst',
    1517                    'start/installation.rst',
    1618                    'start/windows.rst',
  • user/start/index.rst

    rc05e43b r4e3cf2b  
    1313.. include:: depend.rst
    1414.. include:: installation.rst
    15 .. include:: windows.rst
  • user/start/installation.rst

    rc05e43b r4e3cf2b  
    2121
    2222The RTEMS core development team uses POSIX type operating systems, that is
    23 Unix.  The `Released Version`_ and `Development Version`_ sections assume
    24 Unix. Microsoft Windows is documented in a separate section
     23Unix.  The :ref:`released-version` and :ref:`development-version` sections
     24assume Unix. Microsoft Windows is documented in a separate section
    2525:ref:`microsoft-windows-installation`.
    2626
    27 Released Version
    28 ----------------
    29 
    30 .. index:: Tarball
    31 
    32 XXX: Tarball
    33 
    34 Development Version
    35 -------------------
    36 .. index:: Git
    37 
    38 RTEMS provides open access to it's development processes. The project encouages
    39 all users to inspect, review, comment and contribute to the code base. The
    40 processes described here are the same processes the core development team use
    41 when 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 
    55 The following procedure assumes you have installed and configured your host
    56 operating. It also assumes you have installed any dependent packages needed
    57 when building the tools and the kernel.
    58 
    59 You need to select a location to build and install the RTEMS Tool chain and
    60 RTEMS. Make sure there is plenty of disk space and a fast disk is
    61 recommended. Our procedure will document building and installing the tools in a
    62 home directory called :file:`development/rtems`. Using a home directory means
    63 you 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 
    66 The location used to install the tools and kernel is called the `prefix`. It is
    67 best to have a `prefix` for each different version of RTEMS you are using. If
    68 you are using RTEMS 4.11 in production it is not a good to install a
    69 development version of 4.12 over the top. A separate `prefix` for each version
    70 avoids this.
    71 
    72 The RTEMS tool chain changes less often than the RTEMS kernel. One method of
    73 working with development releases is to have a separate `prefix` for the RTEMS
    74 tools and a different one for the RTEMS kernel. You can then update each
    75 without interacting with the other. You can also have a number of RTEMS
    76 versions available to test with.
    77 
    78 This procedure will build a SPARC tool chain.
    79 
    80 RTEMS Tools Chain
    81 ~~~~~~~~~~~~~~~~~
    82 
    83 Clone 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 
    107 Check all the host packages you need are present. Current libraries are not
    108 checked and this includes checking for the python development libraries GDB
    109 requires:
    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 
    118 Build a tool chain for the SPARC architecure. We are using the SPARC
    119 architecture because GDB has a good simulator that lets us run and test the
    120 samples RTEMS builds by default. The current development version
    121 is `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 
    235 RTEMS Kernel
    236 ~~~~~~~~~~~~
    237 
    238 We need to set our path to include the RTEMS tools we built in the previous
    239 section. The RTEMS tools needs to be first in your path because RTEMS provides
    240 specific versions of the ``autoconf`` and ``automake`` tools. We want to use
    241 the 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 
    248 Create 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 
    257 Clone 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 
    270 The developers version of the code from git requires ``bootstrapping``. This is
    271 an ``autoconf`` and ``automake`` bootstrap to create the various files generated
    272 by ``autoconf`` and ``automake``. RTEMS does not keep these generated files
    273 under version control. The bootstrap process is slow so to speed it up the RSB
    274 provides a command that can perform the bootstrap in parallel using your
    275 available 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 
    353 We build RTEMS in a directory outside of the source tree we have just cloned
    354 and ``bootstrapped``. You cannot build RTEMS while in the source tree. Lets
    355 create 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 
    363 Configure 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
    365 files. If you are source level debugging you will be able to access the source
    366 code to RTEMS from the debugger. We will build for the ``erc32`` BSP with POSIX
    367 enabled 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 
    410 Build 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 
    498 All that remains to be done is to install the kernel. Installing RTEMS copies
    499 the 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
    502 RTEMS. Do not mix versions of RTEMS under the same `prefix`. Make installs
    503 RTEMS 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 
    548 Contributing Patches
    549 ~~~~~~~~~~~~~~~~~~~~
    550 
    551 RTEMS welcomes fixes to bugs and new features. The RTEMS Project likes to have
    552 bugs fixed against a ticket created on our :r:url:`devel`. Please raise a
    553 ticket if you have a bug. Any changes that are made can be tracked against the
    554 ticket. 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
    556 maintainer will help decide if the feature is in the best interest of the
    557 project. Not everything is and the maintainers need to evalulate how much
    558 effort it is to maintain the feature. Once accepted into the source tree it
    559 becomes the responsibility of the maintainers to keep the feature updated and
    560 working.
    561 
    562 Changes to the source tree are tracked using git. If you have not made changes
    563 and enter the source tree and enter a git status command you will see nothing
    564 has 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 
    574 We will make a change to the source code. In this example I change the help
    575 message to the RTEMS shell's ``halt`` command. Running the same git status
    576 command 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 
    591 As an example I have a ticket open and the ticket number is 9876. I commit the
    592 change with the follow git command:
    593 
    594 .. code-block:: shell
    595 
    596   $ git commit cpukit/libmisc/shell/main_halt.c
    597 
    598 An editor is opened and I enter my commit message. The first line is a title
    599 and 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 
    619 When 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 
    627 You can either email the patch to :r:list:`devel` with the following git
    628 command:
    629 
    630 .. code-block:: shell
    631 
    632   $ git send-email --to=devel@rtems.org -1
    633    <add output here>
    634 
    635 Or 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 
    642 This patch can be attached to a ticket.
     27.. comments: Include the various installation parts.
     28.. include:: releases.rst
     29.. include:: development.rst
     30.. include:: windows.rst
  • user/start/windows.rst

    rc05e43b r4e3cf2b  
    44.. _microsoft-windows-installation:
    55
    6 Microsoft Windows Installation
    7 ==============================
     6Microsoft Windows
     7-----------------
    88.. index:: Microsoft Windows Installation
    99
     
    1111Windows. The installation documented here is on `Windows 7 64bit Professional`.
    1212
    13 RTEMS Development on Windows
    14 ----------------------------
     13Developing on Windows
     14~~~~~~~~~~~~~~~~~~~~~
    1515
    1616RTEMS supports Windows as a development host and the tools for most
     
    5454
    5555POSIX Support
    56 -------------
     56~~~~~~~~~~~~~
    5757
    5858Building the RTEMS compilers, debugger, the RTEMS kernel and a number of other
     
    7272
    7373Python
    74 ------
     74~~~~~~
    7575
    7676We need Python to build the tools as the RSB is written in Python and we need
     
    9696
    9797Installing MSYS2
    98 ----------------
     98~~~~~~~~~~~~~~~~
    9999
    100100MSYS2 is installed on a new machine using the MSYS2 installer found on
     
    352352  (74/74) installing unzip                           [#####################] 100%
    353353
    354 Building the RTEMS Tools
    355 ------------------------
     354Building the Tools
     355~~~~~~~~~~~~~~~~~~
    356356
    357357Create a workspace for RTEMS using the following shell command:
     
    528528  $
    529529
    530 Building the RTEMS Kernel
    531 -------------------------
     530Building the Kernel
     531~~~~~~~~~~~~~~~~~~~
    532532
    533533We can now build the RTEMS kernel using the RTEMS tools we have just
     
    781781  $
    782782
    783 Building the RTEMS BSD Library
    784 ------------------------------
     783Building the LibBSD
     784~~~~~~~~~~~~~~~~~~~
    785785
    786786The RTEMS BSD Library or libBSD as it is also know is a package of FreeBSD code
Note: See TracChangeset for help on using the changeset viewer.