source: rtems-docs/user/start/windows.rst @ c05e43b

4.115
Last change on this file since c05e43b was c05e43b, checked in by Chris Johns <chrisj@…>, on 03/09/16 at 04:37:31

User manual, devel install and windows install.

  • Property mode set to 100644
File size: 40.4 KB
Line 
1.. comment: Copyright (c) 2016 Chris Johns <chrisj@rtems.org>
2.. comment: All rights reserved.
3
4.. _microsoft-windows-installation:
5
6Microsoft Windows Installation
7==============================
8.. index:: Microsoft Windows Installation
9
10This section details how you create an RTEMS development environment on
11Windows. The installation documented here is on `Windows 7 64bit Professional`.
12
13RTEMS Development on Windows
14----------------------------
15
16RTEMS supports Windows as a development host and the tools for most
17architectures are available. The RTEMS Project relies on the GNU tools for
18compilers and debuggers and we use the simulators that come with GDB and
19QEMU. The Windows support for these tools varies and the RTEMS Project is
20committed to helping the open source community improve the Windows
21experience. If something is not working or supported please email the
22:r:list:`users`.
23
24The RTEMS Project's Windows tools are native Windows executables giving the
25user the best possible experience on Windows. Native Windows programs use the
26standard Windows DLLs and paths. Integration with standard Windows integrated
27development tools such as editors is straight forward. POSIX emulation
28environments such as Cygwin and the MSYS2 shell have special executables that
29require a POSIX emulation DLL and these emulation DLLs add an extra layer of
30complexity as well as a performance over-head. The RTEMS Project uses these
31POSIX emulation shells to run configure scripts that come with various open
32source packages such as `gcc` so they form an important and valued part of the
33environment we describe here. The output of this procedure forms the tools you
34use during your application development and they do not depend the emulation
35DLLs.
36
37The performance of the compiler is as good as you can have on Windows and the
38performance compiling a single file will be similar to that on a host like
39Linux or FreeBSD given the same hardware. Building the tools from source is
40much slower on Windows because POSIX shells and related tools are used and the
41POSIX emulation overhead it much much slower than a native POSIX operating
42system like Linux and FreeBSD. This overhead is only during the building of the
43tools and the RTEMS kernel and if you use a suitable build system that is
44native to Windows your application development should be similar to other
45operating systems.
46
47Windows path length is limited and can cause problems when building the
48tools. The standard Windows API has a ``MAX_PATH`` length of 260
49characters. This can effect some of the tools used by RTEMS. It is recommended
50you keep the top level directories as short as possible when building the RTEMS
51tools and you also keep an eye on the path length when developing your
52application. The RTEMS built tools can handle much longer path lengths however
53some of the GNU tools such as those in the ``binutils`` package cannot.
54
55POSIX Support
56-------------
57
58Building the RTEMS compilers, debugger, the RTEMS kernel and a number of other
593rd party packages requires a POSIX environment. On Windows you can use Cygwin
60or MSYS2. This document focuses on MSYS2. It is smaller than Cygwin and comes
61with the Arch Linux package manager ``pacman``.
62
63MSYS2 provides MinGW64 support as well as a POSIX shell called MSYS2. The
64MinGW64 compiler and related tools produce 64bit native Windows
65executables. The shell is a standard Bourne shell and the MSYS2 environment is
66a stripped Cygwin shell with enough support to run the various ``configure``
67scripts needed to build the RTEMS tools and the RTEMS kernel.
68
69MSYS2 is built around the ``pacman`` packing tool. This makes MSYS2 a
70distribution and that is a welcome feature on Windows. You get a powerful tool
71to manage your development environment on Windows.
72
73Python
74------
75
76We need Python to build the tools as the RSB is written in Python and we need
77suitable Python libraries to link to GDB as RTEMS makes use of GDB's Python
78support. This place specific demands on the Python we need installed and
79available and MSYS2 provides suitable Python versions we can use. You need to
80make sure you have the correct type and version of Python installed.
81
82We cannot use the Python executables created by the Python project (python.org)
83as they are built by Microsoft's C (MSC) compiler. Linking the MSC Python
84libraries with the MinGW64 executables is not easy and MSYS provided us with a
85simple solution so we do not support this.
86
87MSYS2 provides two types and versions of Python executables, MinGW and MSYS and
88Python version 2 and 3. For Windows we need the MinGW executable so we have
89suitables libraries and we have to have Python vrrsion 2 because on Windows GDB
90only builds with Python2.
91
92You also need to install the MSYS version of Python along with the MinGW64
93Python2 package. The MSYS Python is version 3 and the RSB can support version 2
94and 3 of Python and it helps handle some of the long paths building GCC can
95generate.
96
97Installing MSYS2
98----------------
99
100MSYS2 is installed on a new machine using the MSYS2 installer found on
101https://msys2.github.io/. Please select the ``x86_64`` variant for 64bit
102support. Run the installer followin the 7 steps listed on the page.
103
104MSYS2 uses the ``pacman`` package manager. The Arch Linux project has detailed
105documentation on how to use ``pacman``. What is shown here is a just few
106examples of what you can do.
107
108Open a 64bit MSYS shell from the Start Menu:
109
110.. figure:: msys2-minw64-start-menu.png
111   :width: 50%
112   :align: center
113   :alt: MSYS2 64bit Shell Start Menu
114
115The packages we require are:
116
117 * python
118 * mingw-w64-x86_64-python2
119 * mingw-w64-x86_64-gcc
120 * git
121 * bison
122 * cvs
123 * diffutils
124 * make
125 * patch
126 * tar
127 * texinfo
128 * unzip
129
130.. note::
131
132   The actual output provided may vary due to changes in the dependent packages
133   or newer package versions.
134
135Install the packages using ``pacman``:
136
137.. code-block:: shell
138
139   ~
140  $ pacman -S python mingw-w64-x86_64-python2 mingw-w64-x86_64-gcc \
141  >           bison cvs diffutils git make patch tar texinfo unzip
142  resolving dependencies...
143  looking for conflicting packages...
144
145  Packages (74) db-5.3.28-2  expat-2.1.0-2  gdbm-1.11-3  heimdal-1.5.3-8
146                libgdbm-1.11-3  mingw-w64-x86_64-binutils-2.26-21
147                mingw-w64-x86_64-bzip2-1.0.6-5
148                mingw-w64-x86_64-ca-certificates-20150426-2
149                mingw-w64-x86_64-crt-git-5.0.0.4627.03684c4-1
150                mingw-w64-x86_64-expat-2.1.0-6  mingw-w64-x86_64-gcc-libs-5.3.0-2
151                mingw-w64-x86_64-gdbm-1.11-3  mingw-w64-x86_64-gettext-0.19.6-2
152                mingw-w64-x86_64-gmp-6.1.0-1
153                mingw-w64-x86_64-headers-git-5.0.0.4627.53be55d-1
154                mingw-w64-x86_64-isl-0.15-1  mingw-w64-x86_64-libffi-3.2.1-3
155                mingw-w64-x86_64-libiconv-1.14-5
156                mingw-w64-x86_64-libsystre-1.0.1-2
157                mingw-w64-x86_64-libtasn1-4.7-1
158                mingw-w64-x86_64-libtre-git-r122.c2f5d13-4
159                mingw-w64-x86_64-libwinpthread-git-5.0.0.4573.628fdbf-1
160                mingw-w64-x86_64-mpc-1.0.3-2  mingw-w64-x86_64-mpfr-3.1.3.p0-2
161                mingw-w64-x86_64-ncurses-6.0.20160220-2
162                mingw-w64-x86_64-openssl-1.0.2.g-1
163                mingw-w64-x86_64-p11-kit-0.23.1-3
164                mingw-w64-x86_64-readline-6.3.008-1  mingw-w64-x86_64-tcl-8.6.5-1
165                mingw-w64-x86_64-termcap-1.3.1-2  mingw-w64-x86_64-tk-8.6.5-1
166                mingw-w64-x86_64-windows-default-manifest-6.4-2
167                mingw-w64-x86_64-winpthreads-git-5.0.0.4573.628fdbf-1
168                mingw-w64-x86_64-zlib-1.2.8-9  openssh-7.1p2-1  perl-5.22.0-2
169                perl-Authen-SASL-2.16-2  perl-Convert-BinHex-1.123-2
170                perl-Encode-Locale-1.04-1  perl-Error-0.17024-1
171                perl-File-Listing-6.04-2  perl-HTML-Parser-3.71-3
172                perl-HTML-Tagset-3.20-2  perl-HTTP-Cookies-6.01-2
173                perl-HTTP-Daemon-6.01-2  perl-HTTP-Date-6.02-2
174                perl-HTTP-Message-6.06-2  perl-HTTP-Negotiate-6.01-2
175                perl-IO-Socket-SSL-2.016-1  perl-IO-stringy-2.111-1
176                perl-LWP-MediaTypes-6.02-2  perl-MIME-tools-5.506-1
177                perl-MailTools-2.14-1  perl-Net-HTTP-6.09-1
178                perl-Net-SMTP-SSL-1.02-1  perl-Net-SSLeay-1.70-1
179                perl-TermReadKey-2.33-1  perl-TimeDate-2.30-2  perl-URI-1.68-1
180                perl-WWW-RobotRules-6.02-2  perl-libwww-6.13-1  vim-7.4.1468-1
181                bison-3.0.4-1  cvs-1.11.23-2  diffutils-3.3-3  git-2.7.2-1
182                make-4.1-4  mingw-w64-x86_64-gcc-5.3.0-2
183                mingw-w64-x86_64-python2-2.7.11-4  patch-2.7.5-1  python-3.4.3-3
184                tar-1.28-3  texinfo-6.0-1  unzip-6.0-2
185
186  Total Download Size:   114.10 MiB
187  Total Installed Size:  689.61 MiB
188
189  :: Proceed with installation? [Y/n] y
190  :: Retrieving packages...
191   mingw-w64-x86_64-gm...   477.1 KiB   681K/s 00:01 [#####################] 100%
192   mingw-w64-x86_64-li...    24.2 KiB   755K/s 00:00 [#####################] 100%
193   mingw-w64-x86_64-gc...   541.9 KiB   705K/s 00:01 [#####################] 100%
194   mingw-w64-x86_64-ex...   106.7 KiB   702K/s 00:00 [#####################] 100%
195   mingw-w64-x86_64-bz...    77.9 KiB   666K/s 00:00 [#####################] 100%
196   mingw-w64-x86_64-li...   600.2 KiB   703K/s 00:01 [#####################] 100%
197   mingw-w64-x86_64-ge...     3.0 MiB   700K/s 00:04 [#####################] 100%
198   mingw-w64-x86_64-gd...   151.8 KiB   483K/s 00:00 [#####################] 100%
199   mingw-w64-x86_64-li...    34.5 KiB   705K/s 00:00 [#####################] 100%
200   mingw-w64-x86_64-li...    69.2 KiB   713K/s 00:00 [#####################] 100%
201   mingw-w64-x86_64-li...     9.3 KiB   778K/s 00:00 [#####################] 100%
202   mingw-w64-x86_64-nc...  1800.5 KiB   701K/s 00:03 [#####################] 100%
203   mingw-w64-x86_64-li...   171.4 KiB   708K/s 00:00 [#####################] 100%
204   mingw-w64-x86_64-p1...   193.5 KiB   709K/s 00:00 [#####################] 100%
205   mingw-w64-x86_64-ca...   382.1 KiB   705K/s 00:01 [#####################] 100%
206   mingw-w64-x86_64-zl...   148.6 KiB   704K/s 00:00 [#####################] 100%
207   mingw-w64-x86_64-op...     3.3 MiB   624K/s 00:05 [#####################] 100%
208   mingw-w64-x86_64-te...    12.6 KiB  76.7K/s 00:00 [#####################] 100%
209   mingw-w64-x86_64-re...   327.4 KiB   277K/s 00:01 [#####################] 100%
210   mingw-w64-x86_64-tc...     2.9 MiB   699K/s 00:04 [#####################] 100%
211   mingw-w64-x86_64-tk...  1869.2 KiB   703K/s 00:03 [#####################] 100%
212   mingw-w64-x86_64-py...    10.9 MiB   699K/s 00:16 [#####################] 100%
213   mingw-w64-x86_64-bi...    12.7 MiB   688K/s 00:19 [#####################] 100%
214   mingw-w64-x86_64-he...     5.0 MiB   645K/s 00:08 [#####################] 100%
215   mingw-w64-x86_64-cr...     2.6 MiB   701K/s 00:04 [#####################] 100%
216   mingw-w64-x86_64-is...   524.3 KiB   684K/s 00:01 [#####################] 100%
217   mingw-w64-x86_64-mp...   265.2 KiB   705K/s 00:00 [#####################] 100%
218   mingw-w64-x86_64-mp...    62.3 KiB  82.9K/s 00:01 [#####################] 100%
219   mingw-w64-x86_64-wi...  1484.0   B  0.00B/s 00:00 [#####################] 100%
220   mingw-w64-x86_64-wi...    33.2 KiB   346K/s 00:00 [#####################] 100%
221   mingw-w64-x86_64-gc...    25.1 MiB   701K/s 00:37 [#####################] 100%
222   python-3.4.3-3-x86_64     12.1 MiB   700K/s 00:18 [#####################] 100%
223   bison-3.0.4-1-x86_64    1045.1 KiB   703K/s 00:01 [#####################] 100%
224   heimdal-1.5.3-8-x86_64   543.7 KiB   703K/s 00:01 [#####################] 100%
225   cvs-1.11.23-2-x86_64     508.2 KiB   388K/s 00:01 [#####################] 100%
226   diffutils-3.3-3-x86_64   265.7 KiB   478K/s 00:01 [#####################] 100%
227   expat-2.1.0-2-x86_64      13.1 KiB   817K/s 00:00 [#####################] 100%
228   vim-7.4.1468-1-x86_64      6.1 MiB   700K/s 00:09 [#####################] 100%
229   openssh-7.1p2-1-x86_64   653.4 KiB   703K/s 00:01 [#####################] 100%
230   db-5.3.28-2-x86_64        41.7 KiB   719K/s 00:00 [#####################] 100%
231   libgdbm-1.11-3-x86_64     20.4 KiB   754K/s 00:00 [#####################] 100%
232   gdbm-1.11-3-x86_64       108.5 KiB   704K/s 00:00 [#####################] 100%
233   perl-5.22.0-2-x86_64      12.4 MiB   702K/s 00:18 [#####################] 100%
234   perl-Error-0.17024-...    17.1 KiB   742K/s 00:00 [#####################] 100%
235   perl-Authen-SASL-2....    42.4 KiB   731K/s 00:00 [#####################] 100%
236   perl-Encode-Locale-...     9.7 KiB   745K/s 00:00 [#####################] 100%
237   perl-HTTP-Date-6.02...     8.6 KiB   784K/s 00:00 [#####################] 100%
238   perl-File-Listing-6...     7.7 KiB   769K/s 00:00 [#####################] 100%
239   perl-HTML-Tagset-3....    10.3 KiB   732K/s 00:00 [#####################] 100%
240   perl-HTML-Parser-3....    76.9 KiB   516K/s 00:00 [#####################] 100%
241   perl-LWP-MediaTypes...    18.0 KiB   752K/s 00:00 [#####################] 100%
242   perl-URI-1.68-1-any       75.6 KiB   609K/s 00:00 [#####################] 100%
243   perl-HTTP-Message-6...    71.3 KiB   625K/s 00:00 [#####################] 100%
244   perl-HTTP-Cookies-6...    20.4 KiB   499K/s 00:00 [#####################] 100%
245   perl-HTTP-Daemon-6....    14.2 KiB   749K/s 00:00 [#####################] 100%
246   perl-HTTP-Negotiate...    11.4 KiB   817K/s 00:00 [#####################] 100%
247   perl-Net-HTTP-6.09-...    19.8 KiB   732K/s 00:00 [#####################] 100%
248   perl-WWW-RobotRules...    12.2 KiB   766K/s 00:00 [#####################] 100%
249   perl-libwww-6.13-1-any   122.2 KiB   661K/s 00:00 [#####################] 100%
250   perl-TimeDate-2.30-...    35.9 KiB   718K/s 00:00 [#####################] 100%
251   perl-MailTools-2.14...    58.4 KiB   712K/s 00:00 [#####################] 100%
252   perl-IO-stringy-2.1...    52.6 KiB   721K/s 00:00 [#####################] 100%
253   perl-Convert-BinHex...    30.1 KiB   733K/s 00:00 [#####################] 100%
254   perl-MIME-tools-5.5...   180.4 KiB   705K/s 00:00 [#####################] 100%
255   perl-Net-SSLeay-1.7...   191.2 KiB   708K/s 00:00 [#####################] 100%
256   perl-IO-Socket-SSL-...   112.5 KiB   703K/s 00:00 [#####################] 100%
257   perl-Net-SMTP-SSL-1...     3.5 KiB   881K/s 00:00 [#####################] 100%
258   perl-TermReadKey-2....    20.9 KiB   745K/s 00:00 [#####################] 100%
259   git-2.7.2-1-x86_64         3.6 MiB   702K/s 00:05 [#####################] 100%
260   make-4.1-4-x86_64        387.0 KiB   671K/s 00:01 [#####################] 100%
261   patch-2.7.5-1-x86_64      75.9 KiB   684K/s 00:00 [#####################] 100%
262   tar-1.28-3-x86_64        671.9 KiB   379K/s 00:02 [#####################] 100%
263   texinfo-6.0-1-x86_64     992.7 KiB   625K/s 00:02 [#####################] 100%
264   unzip-6.0-2-x86_64        93.1 KiB   705K/s 00:00 [#####################] 100%
265  (74/74) checking keys in keyring                   [#####################] 100%
266  (74/74) checking package integrity                 [#####################] 100%
267  (74/74) loading package files                      [#####################] 100%
268  (74/74) checking for file conflicts                [#####################] 100%
269  (74/74) checking available disk space              [#####################] 100%
270  :: Processing package changes...
271  ( 1/74) installing python                          [#####################] 100%
272  ( 2/74) installing mingw-w64-x86_64-gmp            [#####################] 100%
273  ( 3/74) installing mingw-w64-x86_64-libwinpthr...  [#####################] 100%
274  ( 4/74) installing mingw-w64-x86_64-gcc-libs       [#####################] 100%
275  ( 5/74) installing mingw-w64-x86_64-expat          [#####################] 100%
276  ( 6/74) installing mingw-w64-x86_64-bzip2          [#####################] 100%
277  ( 7/74) installing mingw-w64-x86_64-libiconv       [#####################] 100%
278  ( 8/74) installing mingw-w64-x86_64-gettext        [#####################] 100%
279  ( 9/74) installing mingw-w64-x86_64-gdbm           [#####################] 100%
280  (10/74) installing mingw-w64-x86_64-libffi         [#####################] 100%
281  (11/74) installing mingw-w64-x86_64-libtre-git     [#####################] 100%
282  (12/74) installing mingw-w64-x86_64-libsystre      [#####################] 100%
283  (13/74) installing mingw-w64-x86_64-ncurses        [#####################] 100%
284  (14/74) installing mingw-w64-x86_64-libtasn1       [#####################] 100%
285  (15/74) installing mingw-w64-x86_64-p11-kit        [#####################] 100%
286  (16/74) installing mingw-w64-x86_64-ca-certifi...  [#####################] 100%
287  (17/74) installing mingw-w64-x86_64-zlib           [#####################] 100%
288  (18/74) installing mingw-w64-x86_64-openssl        [#####################] 100%
289  (19/74) installing mingw-w64-x86_64-termcap        [#####################] 100%
290  (20/74) installing mingw-w64-x86_64-readline       [#####################] 100%
291  (21/74) installing mingw-w64-x86_64-tcl            [#####################] 100%
292  (22/74) installing mingw-w64-x86_64-tk             [#####################] 100%
293  (23/74) installing mingw-w64-x86_64-python2        [#####################] 100%
294  (24/74) installing mingw-w64-x86_64-binutils       [#####################] 100%
295  (25/74) installing mingw-w64-x86_64-headers-git    [#####################] 100%
296  (26/74) installing mingw-w64-x86_64-crt-git        [#####################] 100%
297  (27/74) installing mingw-w64-x86_64-isl            [#####################] 100%
298  (28/74) installing mingw-w64-x86_64-mpfr           [#####################] 100%
299  (29/74) installing mingw-w64-x86_64-mpc            [#####################] 100%
300  (30/74) installing mingw-w64-x86_64-windows-de...  [#####################] 100%
301  (31/74) installing mingw-w64-x86_64-winpthread...  [#####################] 100%
302  (32/74) installing mingw-w64-x86_64-gcc            [#####################] 100%
303  (33/74) installing bison                           [#####################] 100%
304  (34/74) installing heimdal                         [#####################] 100%
305  (35/74) installing cvs                             [#####################] 100%
306  (36/74) installing diffutils                       [#####################] 100%
307  (37/74) installing expat                           [#####################] 100%
308  (38/74) installing vim                             [#####################] 100%
309  (39/74) installing openssh                         [#####################] 100%
310  (40/74) installing db                              [#####################] 100%
311  (41/74) installing libgdbm                         [#####################] 100%
312  (42/74) installing gdbm                            [#####################] 100%
313  (43/74) installing perl                            [#####################] 100%
314  (44/74) installing perl-Error                      [#####################] 100%
315  (45/74) installing perl-Authen-SASL                [#####################] 100%
316  (46/74) installing perl-Encode-Locale              [#####################] 100%
317  (47/74) installing perl-HTTP-Date                  [#####################] 100%
318  (48/74) installing perl-File-Listing               [#####################] 100%
319  (49/74) installing perl-HTML-Tagset                [#####################] 100%
320  (50/74) installing perl-HTML-Parser                [#####################] 100%
321  (51/74) installing perl-LWP-MediaTypes             [#####################] 100%
322  (52/74) installing perl-URI                        [#####################] 100%
323  (53/74) installing perl-HTTP-Message               [#####################] 100%
324  (54/74) installing perl-HTTP-Cookies               [#####################] 100%
325  (55/74) installing perl-HTTP-Daemon                [#####################] 100%
326  (56/74) installing perl-HTTP-Negotiate             [#####################] 100%
327  (57/74) installing perl-Net-HTTP                   [#####################] 100%
328  (58/74) installing perl-WWW-RobotRules             [#####################] 100%
329  (59/74) installing perl-libwww                     [#####################] 100%
330  Optional dependencies for perl-libwww
331      perl-LWP-Protocol-HTTPS: for https:// url schemes
332  (60/74) installing perl-TimeDate                   [#####################] 100%
333  (61/74) installing perl-MailTools                  [#####################] 100%
334  (62/74) installing perl-IO-stringy                 [#####################] 100%
335  (63/74) installing perl-Convert-BinHex             [#####################] 100%
336  module test... pass.
337  (64/74) installing perl-MIME-tools                 [#####################] 100%
338  (65/74) installing perl-Net-SSLeay                 [#####################] 100%
339  (66/74) installing perl-IO-Socket-SSL              [#####################] 100%
340  (67/74) installing perl-Net-SMTP-SSL               [#####################] 100%
341  (68/74) installing perl-TermReadKey                [#####################] 100%
342  (69/74) installing git                             [#####################] 100%
343  Optional dependencies for git
344      python2: various helper scripts
345      subversion: git svn
346  (70/74) installing make                            [#####################] 100%
347  (71/74) installing patch                           [#####################] 100%
348  Optional dependencies for patch
349      ed: for patch -e functionality
350  (72/74) installing tar                             [#####################] 100%
351  (73/74) installing texinfo                         [#####################] 100%
352  (74/74) installing unzip                           [#####################] 100%
353
354Building the RTEMS Tools
355------------------------
356
357Create a workspace for RTEMS using the following shell command:
358
359.. sidebar:: *Creating Tool Archives*
360
361  Add ``--bset-tar-file`` to the ``sb-set-builder`` command line to create
362  tar files of the built package set.
363
364.. code-block:: shell
365
366   ~
367  $ mkdir -p /c/opt/rtems
368
369The ``/c`` path is an internal MSYS2 mount point of the ``C:`` drive. The
370command creates the RTEMS work space on the ``C:`` drive. If you wish to use
371another drive please subsitute ``/c`` with your drive letter.
372
373We build and install all RTEMS packages under the `prefix` we just created. Change to that
374directory and get a copy of the RSB:
375
376.. code-block:: shell
377
378   ~
379  $ cd /c/opt/rtems
380   /c/opt/rtems
381  $ git clone git://git.rtems.org/rtems-source-builder.git rsb
382  Cloning into 'rsb'...
383  remote: Counting objects: 5716, done.
384  remote: Compressing objects: 100% (2183/2183), done.
385  remote: Total 5716 (delta 3919), reused 5071 (delta 3494)
386  Receiving objects: 100% (5716/5716), 2.46 MiB | 656.00 KiB/s, done.
387  Resolving deltas: 100% (3919/3919), done.
388  Checking connectivity... done.
389  Checking out files: 100% (630/630), done.
390   /c/opt/rtems
391  $ cd rsb
392
393We are building RTEMS 4.11 tools so select the *4.11* branch:
394
395.. code-block:: shell
396
397   /c/opt/rtems/rsb
398  $ git checkout 4.11
399  Branch 4.11 set up to track remote branch 4.11 from origin.
400  Switched to a new branch '4.11'
401   /c/opt/rtems/rsb
402  $
403
404Check the RSB has a valid environment:
405
406.. code-block:: shell
407
408   /c/opt/rtems/rsb
409  $ cd rtems
410   /c/opt/rtems/rsb/rtems
411  $ ../source-builder/sb-check
412  RTEMS Source Builder - Check, 4.11 (01ac76f2f90f)
413  Environment is ok
414   /c/opt/rtems/rsb/rtems
415  $
416
417To build a set of RTEMS tools for the Intel ``i386`` architecture:
418
419.. code-block:: shell
420
421   /c/opt/rtems/rsb/rtems
422  $ ../source-builder/sb-set-builder --prefix=/c/opt/rtems/4.11 4.11/rtems-i386
423  RTEMS Source Builder - Set Builder, 4.11 (01ac76f2f90f)
424  Build Set: 4.11/rtems-i386
425  Build Set: 4.11/rtems-autotools.bset
426  Build Set: 4.11/rtems-autotools-internal.bset
427  config: tools/rtems-autoconf-2.69-1.cfg
428  package: autoconf-2.69-x86_64-w64-mingw32-1
429  Creating source directory: sources
430  download: ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz -> sources/autoconf-2.69.tar.gz
431  downloading: sources/autoconf-2.69.tar.gz - 1.8MB of 1.8MB (100%)
432   building: autoconf-2.69-x86_64-w64-mingw32-1
433  config: tools/rtems-automake-1.12.6-1.cfg
434  package: automake-1.12.6-x86_64-w64-mingw32-1
435  download: ftp://ftp.gnu.org/gnu/automake/automake-1.12.6.tar.gz -> sources/automake-1.12.6.tar.gz
436  downloading: sources/automake-1.12.6.tar.gz - 2.0MB of 2.0MB (100%)
437   building: automake-1.12.6-x86_64-w64-mingw32-1
438  cleaning: autoconf-2.69-x86_64-w64-mingw32-1
439  cleaning: automake-1.12.6-x86_64-w64-mingw32-1
440  Build Set: Time 0:00:42.515625
441  Build Set: 4.11/rtems-autotools-base.bset
442  config: tools/rtems-autoconf-2.69-1.cfg
443  package: autoconf-2.69-x86_64-w64-mingw32-1
444  building: autoconf-2.69-x86_64-w64-mingw32-1
445  reporting: tools/rtems-autoconf-2.69-1.cfg -> autoconf-2.69-x86_64-w64-mingw32-1.txt
446  reporting: tools/rtems-autoconf-2.69-1.cfg -> autoconf-2.69-x86_64-w64-mingw32-1.xml
447  config: tools/rtems-automake-1.12.6-1.cfg
448  package: automake-1.12.6-x86_64-w64-mingw32-1
449  building: automake-1.12.6-x86_64-w64-mingw32-1
450  reporting: tools/rtems-automake-1.12.6-1.cfg -> automake-1.12.6-x86_64-w64-mingw32-1.txt
451  reporting: tools/rtems-automake-1.12.6-1.cfg -> automake-1.12.6-x86_64-w64-mingw32-1.xml
452  tarball: tar/rtems-4.11-autotools-x86_64-w64-mingw32-1.tar.bz2
453  installing: autoconf-2.69-x86_64-w64-mingw32-1 -> C:\opt\rtems\4.11
454  installing: automake-1.12.6-x86_64-w64-mingw32-1 -> C:\opt\rtems\4.11
455  cleaning: autoconf-2.69-x86_64-w64-mingw32-1
456  cleaning: automake-1.12.6-x86_64-w64-mingw32-1
457  Build Set: Time 0:00:37.718750
458  Build Set: Time 0:01:20.234375
459  config: devel/expat-2.1.0-1.cfg
460  package: expat-2.1.0-x86_64-w64-mingw32-1
461  download:   http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz -> sources/expat-2.1.0.tar.gz
462   redirect:  http://iweb.dl.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz
463  downloading: sources/expat-2.1.0.tar.gz - 549.4kB of 549.4kB (100%)
464   building: expat-2.1.0-x86_64-w64-mingw32-1
465  reporting: devel/expat-2.1.0-1.cfg -> expat-2.1.0-x86_64-w64-mingw32-1.txt
466  reporting: devel/expat-2.1.0-1.cfg -> expat-2.1.0-x86_64-w64-mingw32-1.xml
467  config: tools/rtems-binutils-2.24-1.cfg
468  package: i386-rtems4.11-binutils-2.24-x86_64-w64-mingw32-1
469  download: ftp://ftp.gnu.org/gnu/binutils/binutils-2.24.tar.bz2 -> sources/binutils-2.24.tar.bz2
470  downloading: sources/binutils-2.24.tar.bz2 - 21.7MB of 21.7MB (100%)
471  building: i386-rtems4.11-binutils-2.24-x86_64-w64-mingw32-1
472  reporting: tools/rtems-binutils-2.24-1.cfg -> i386-rtems4.11-binutils-2.24-x86_64-w64-mingw32-1.txt
473  reporting: tools/rtems-binutils-2.24-1.cfg -> i386-rtems4.11-binutils-2.24-x86_64-w64-mingw32-1.xml
474  config: tools/rtems-gcc-4.9.3-newlib-2.2.0-20150423-1.cfg
475  package: i386-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-w64-mingw32-1
476  download: ftp://ftp.gnu.org/gnu/gcc/gcc-4.9.3/gcc-4.9.3.tar.bz2 -> sources/gcc-4.9.3.tar.bz2
477  downloading: sources/gcc-4.9.3.tar.bz2 - 85.8MB of 85.8MB (100%)
478  download: ftp://sourceware.org/pub/newlib/newlib-2.2.0.20150423.tar.gz -> sources/newlib-2.2.0.20150423.tar.gz
479  downloading: sources/newlib-2.2.0.20150423.tar.gz - 16.7MB of 16.7MB (100%)
480  download: http://www.mpfr.org/mpfr-3.0.1/mpfr-3.0.1.tar.bz2 -> sources/mpfr-3.0.1.tar.bz2
481  downloading: sources/mpfr-3.0.1.tar.bz2 - 1.1MB of 1.1MB (100%)
482  download: http://www.multiprecision.org/mpc/download/mpc-0.8.2.tar.gz -> sources/mpc-0.8.2.tar.gz
483  downloading: sources/mpc-0.8.2.tar.gz - 535.5kB of 535.5kB (100%)
484  download: ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.5.tar.bz2 -> sources/gmp-5.0.5.tar.bz2
485  downloading: sources/gmp-5.0.5.tar.bz2 - 2.0MB of 2.0MB (100%)
486  building: i386-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-w64-mingw32-1
487  reporting: tools/rtems-gcc-4.9.3-newlib-2.2.0-20150423-1.cfg ->
488  i386-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-w64-mingw32-1.txt
489  reporting: tools/rtems-gcc-4.9.3-newlib-2.2.0-20150423-1.cfg ->
490  i386-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-w64-mingw32-1.xml
491  config: tools/rtems-gdb-7.9-1.cfg
492  package: i386-rtems4.11-gdb-7.9-x86_64-w64-mingw32-1
493  download: http://ftp.gnu.org/gnu/gdb/gdb-7.9.tar.xz -> sources/gdb-7.9.tar.xz
494  downloading: sources/gdb-7.9.tar.xz - 17.0MB of 17.0MB (100%)
495  download: https://git.rtems.org/rtems-tools/plain/tools/4.11/gdb/gdb-sim-arange-inline.diff -> patches/gdb-sim-arange-inline.diff
496  downloading: patches/gdb-sim-arange-inline.diff - 761.0 bytes of 761.0 bytes (100%)
497  download: https://git.rtems.org/rtems-tools/plain/tools/4.11/gdb/gdb-sim-cgen-inline.diff -> patches/gdb-sim-cgen-inline.diff
498  downloading: patches/gdb-sim-cgen-inline.diff - 706.0 bytes of 706.0 bytes (100%)
499  building: i386-rtems4.11-gdb-7.9-x86_64-w64-mingw32-1
500  reporting: tools/rtems-gdb-7.9-1.cfg ->
501  i386-rtems4.11-gdb-7.9-x86_64-w64-mingw32-1.txt
502  reporting: tools/rtems-gdb-7.9-1.cfg ->
503  i386-rtems4.11-gdb-7.9-x86_64-w64-mingw32-1.xml
504  config: tools/rtems-tools-4.11-1.cfg
505  package: rtems-tools-4.11-1
506  Creating source directory: sources/git
507  git: clone: git://git.rtems.org/rtems-tools.git -> sources/git/rtems-tools.git
508  git: reset: git://git.rtems.org/rtems-tools.git
509  git: fetch: git://git.rtems.org/rtems-tools.git -> sources/git/rtems-tools.git
510  git: checkout: git://git.rtems.org/rtems-tools.git => 4.11
511  git: pull: git://git.rtems.org/rtems-tools.git
512  building: rtems-tools-4.11-1
513  reporting: tools/rtems-tools-4.11-1.cfg -> rtems-tools-4.11-1.txt
514  reporting: tools/rtems-tools-4.11-1.cfg -> rtems-tools-4.11-1.xml
515  config: tools/rtems-kernel-4.11.cfg
516  installing: expat-2.1.0-x86_64-w64-mingw32-1 -> C:\opt\rtems\4.11
517  installing: i386-rtems4.11-binutils-2.24-x86_64-w64-mingw32-1 -> C:\opt\rtems\4.11
518  installing: i386-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-w64-mingw32-1 -> C:\opt\rtems\4.11
519  installing: i386-rtems4.11-gdb-7.9-x86_64-w64-mingw32-1 -> C:\opt\rtems\4.11
520  installing: rtems-tools-4.11-1 -> C:\opt\rtems\4.11
521  cleaning: expat-2.1.0-x86_64-w64-mingw32-1
522  cleaning: i386-rtems4.11-binutils-2.24-x86_64-w64-mingw32-1
523  cleaning: i386-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-w64-mingw32-1
524  cleaning: i386-rtems4.11-gdb-7.9-x86_64-w64-mingw32-1
525  cleaning: rtems-tools-4.11-1
526  Build Set: Time 1:32:58.972919
527   /c/opt/rtems/rsb/rtems
528  $
529
530Building the RTEMS Kernel
531-------------------------
532
533We can now build the RTEMS kernel using the RTEMS tools we have just
534built. First we need to set the path to the tools:
535
536.. code-block:: shell
537
538   /c/opt/rtems
539  $ export PATH=/c/opt/rtems/4.11/bin:$PATH
540   /c/opt/rtems
541  $
542
543We currently build RTEMS from the git release branch for 4.11:
544
545.. code-block:: shell
546
547   /c/opt/rtems
548  $ mkdir kernel
549   /c/opt/rtems
550  $ cd kernel
551   /c/opt/rtems/kernel
552  $ git clone git://git.rtems.org/rtems.git rtems
553  Cloning into 'rtems'...
554  remote: Counting objects: 482766, done.
555  remote: Compressing objects: 100% (88781/88781), done.
556  remote: Total 482766 (delta 389610), reused 475155 (delta 383437)
557  Receiving objects: 100% (482766/482766), 69.77 MiB | 697.00 KiB/s, done.
558  Resolving deltas: 100% (389610/389610), done.
559  Checking connectivity... done.
560  Checking out files: 100% (10626/10626), done.
561   /c/opt/rtems/kernel
562  $ cd rtems
563   /c/opt/rtems/kernel/rtems
564  $ git checkout 4.11
565  Checking out files: 100% (2553/2553), done.
566  Branch 4.11 set up to track remote branch 4.11 from origin.
567  Switched to a new branch '4.11'
568   /c/opt/rtems/kernel
569  $
570
571The kernel code cloned from git needs to be `bootstrapped`. Bootstrapping
572creates ``autoconf`` and ``automake`` generated files. To bootstrap we first
573clean away any files, then generate the pre-install header file lists and
574finally we generate the ``autoconf`` and ``automake`` files using the RSB's
575bootstrap tool.
576
577.. code-block:: shell
578
579   /c/opt/rtems/kernel/rtems
580  $ ./bootstrap -c
581  removing automake generated Makefile.in files
582  removing configure files
583  removing aclocal.m4 files
584   /c/opt/rtems/kernel/rtems
585  $ ./bootstrap -p
586  Generating ./c/src/ada/preinstall.am
587  Generating ./c/src/lib/libbsp/arm/altera-cyclone-v/preinstall.am
588  Generating ./c/src/lib/libbsp/arm/atsam/preinstall.am
589  Generating ./c/src/lib/libbsp/arm/beagle/preinstall.am
590  Generating ./c/src/lib/libbsp/arm/csb336/preinstall.am
591  Generating ./c/src/lib/libbsp/arm/csb337/preinstall.am
592  Generating ./c/src/lib/libbsp/arm/edb7312/preinstall.am
593  Generating ./c/src/lib/libbsp/arm/gdbarmsim/preinstall.am
594    .......
595  Generating ./cpukit/score/cpu/mips/preinstall.am
596  Generating ./cpukit/score/cpu/moxie/preinstall.am
597  Generating ./cpukit/score/cpu/nios2/preinstall.am
598  Generating ./cpukit/score/cpu/no_cpu/preinstall.am
599  Generating ./cpukit/score/cpu/or1k/preinstall.am
600  Generating ./cpukit/score/cpu/powerpc/preinstall.am
601  Generating ./cpukit/score/cpu/sh/preinstall.am
602  Generating ./cpukit/score/cpu/sparc/preinstall.am
603  Generating ./cpukit/score/cpu/sparc64/preinstall.am
604  Generating ./cpukit/score/cpu/v850/preinstall.am
605  Generating ./cpukit/score/preinstall.am
606  Generating ./cpukit/telnetd/preinstall.am
607  Generating ./cpukit/wrapup/preinstall.am
608  Generating ./cpukit/zlib/preinstall.am
609   /c/opt/rtems/kernel/rtems
610  $ /c/opt/rtems/rsb/source-builder/sb-bootstrap
611  RTEMS Source Builder - RTEMS Bootstrap, 4.11 (76188ee494dd)
612    1/139: autoreconf: configure.ac
613    2/139: autoreconf: c/configure.ac
614    3/139: autoreconf: c/src/configure.ac
615    4/139: autoreconf: c/src/ada-tests/configure.ac
616    5/139: autoreconf: c/src/lib/libbsp/arm/configure.ac
617    6/139: autoreconf: c/src/lib/libbsp/arm/altera-cyclone-v/configure.ac
618    7/139: autoreconf: c/src/lib/libbsp/arm/atsam/configure.ac
619    8/139: autoreconf: c/src/lib/libbsp/arm/beagle/configure.ac
620    9/139: autoreconf: c/src/lib/libbsp/arm/csb336/configure.ac
621   10/139: autoreconf: c/src/lib/libbsp/arm/csb337/configure.ac
622   11/139: autoreconf: c/src/lib/libbsp/arm/edb7312/configure.ac
623    .......
624  129/139: autoreconf: testsuites/samples/configure.ac
625  130/139: autoreconf: testsuites/smptests/configure.ac
626  131/139: autoreconf: testsuites/sptests/configure.ac
627  132/139: autoreconf: testsuites/tmtests/configure.ac
628  133/139: autoreconf: testsuites/tools/configure.ac
629  134/139: autoreconf: testsuites/tools/generic/configure.ac
630  135/139: autoreconf: tools/build/configure.ac
631  136/139: autoreconf: tools/cpu/configure.ac
632  137/139: autoreconf: tools/cpu/generic/configure.ac
633  138/139: autoreconf: tools/cpu/nios2/configure.ac
634  139/139: autoreconf: tools/cpu/sh/configure.ac
635  Bootstrap time: 0:20:38.759766
636   /c/opt/rtems/kernel/rtems
637  $
638
639We will build the RTEMS kernel for the ``i386`` target and the ``pc686``
640BSP. You can check the available BSPs by running the ``rtems-bsps`` command
641found in the to directory of the RTEMS kernel source. We build the Board
642Support Package (BSP) outside the kernel source tree:
643
644.. code-block:: shell
645
646   /c/opt/rtems/kernel/rtems
647  $ cd ..
648   /c/opt/rtems/kernel
649  $ mkdir pc686
650   /c/opt/rtems/kernel
651  $ cd pc686
652   /c/opt/rtems/kernel/pc686
653  $
654
655Configure the RTEMS kernel to build ``pc686`` BSP for the ``i386`` target with
656netwoeking disabled, We will build the externel libBSD stack later:
657
658.. code-block:: shell
659
660   /c/opt/rtems/kernel/pc686
661  $ /c/opt/rtems/kernel/rtems/configure --prefix=/c/opt/rtems/4.11 \
662         --target=i386-rtems4.11 --disable-networking --enable-rtemsbsp=pc686
663  checking for gmake... no
664  checking for make... make
665  checking for RTEMS Version... 4.11.99.0
666  checking build system type... x86_64-pc-mingw64
667  checking host system type... x86_64-pc-mingw64
668  checking target system type... i386-pc-rtems4.11
669  checking for a BSD-compatible install... /usr/bin/install -c
670  checking whether build environment is sane... yes
671  checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
672  checking for gawk... gawk
673  checking whether make sets $(MAKE)... yes
674  checking whether to enable maintainer-specific portions of Makefiles... no
675  checking that generated files are newer than configure... done
676  configure: creating ./config.status
677  configure: configuring in ./tools/build
678    .......
679  checking whether make sets $(MAKE)... yes
680  checking whether to enable maintainer-specific portions of Makefiles... no
681  checking that generated files are newer than configure... done
682  configure: creating ./config.status
683  config.status: creating Makefile
684
685  target architecture: i386.
686  available BSPs: pc686.
687  'make all' will build the following BSPs: pc686.
688  other BSPs can be built with 'make RTEMS_BSP="bsp1 bsp2 ..."'
689
690  config.status: creating Makefile
691   /c/opt/rtems/kernel/pc686
692  $
693
694Build the kernel:
695
696.. code-block:: shell
697
698   /c/opt/rtems/kernel/pc686
699  $ make
700  Making all in tools/build
701  make[1]: Entering directory '/c/opt/rtems/kernel/pc686/tools/build'
702  make  all-am
703  make[2]: Entering directory '/c/opt/rtems/kernel/pc686/tools/build'
704  gcc -DHAVE_CONFIG_H -I. -I/c/opt/rtems/kernel/rtems/tools/build     -g -O2 -MT
705  cklength.o -MD -MP -MF .deps/cklength.Tpo -c -o cklength.o
706  /c/opt/rtems/kernel/rtems/tools/build/cklength.c
707  gcc -DHAVE_CONFIG_H -I. -I/c/opt/rtems/kernel/rtems/tools/build     -g -O2 -MT
708  eolstrip.o -MD -MP -MF .deps/eolstrip.Tpo -c -o eolstrip.o
709  /c/opt/rtems/kernel/rtems/tools/build/eolstrip.c
710    ..........
711  i386-rtems4.11-objcopy -O binary nsecs.nxe nsecs.bin
712  ../../../../../pc686/build-tools/bin2boot -v nsecs.ralf 0x00097E00
713  ../../../../../pc686/lib/start16.bin 0x00097C00 0 nsecs.bin 0x00100000 0
714  header address       0x00097e00, its memory size 0xzx
715  first  image address 0x00097c00, its memory size 0x00000200
716  second image address 0x00100000, its memory size 0x0003d800
717  rm -f nsecs.nxe
718  make[6]: Leaving directory '/c/opt/rtems/kernel/pc686/i386-rtems4.11/c/pc686/testsuites/samples/nsecs'
719  make[5]: Leaving directory '/c/opt/rtems/kernel/pc686/i386-rtems4.11/c/pc686/testsuites/samples'
720  make[4]: Leaving directory '/c/opt/rtems/kernel/pc686/i386-rtems4.11/c/pc686/testsuites/samples'
721  make[4]: Entering directory '/c/opt/rtems/kernel/pc686/i386-rtems4.11/c/pc686/testsuites'
722  make[4]: Nothing to be done for 'all-am'.
723  make[4]: Leaving directory '/c/opt/rtems/kernel/pc686/i386-rtems4.11/c/pc686/testsuites'
724  make[3]: Leaving directory '/c/opt/rtems/kernel/pc686/i386-rtems4.11/c/pc686/testsuites'
725  make[2]: Leaving directory '/c/opt/rtems/kernel/pc686/i386-rtems4.11/c/pc686'
726  make[1]: Leaving directory '/c/opt/rtems/kernel/pc686/i386-rtems4.11/c'
727  make[1]: Entering directory '/c/opt/rtems/kernel/pc686'
728  make[1]: Nothing to be done for 'all-am'.
729  make[1]: Leaving directory '/c/opt/rtems/kernel/pc686'
730   /c/opt/rtems/kernel/pc696
731  $
732
733Install the kernel to our prefix:
734
735.. code-block:: shell
736
737   /c/opt/rtems/kernel/pc686
738  $ make install
739  Making install in tools/build
740  make[1]: Entering directory '/c/opt/rtems/kernel/pc686/tools/build'
741  make[2]: Entering directory '/c/opt/rtems/kernel/pc686/tools/build'
742   /usr/bin/mkdir -p '/c/opt/rtems/4.11/bin'
743    /usr/bin/install -c cklength.exe eolstrip.exe packhex.exe unhex.exe
744    rtems-bin2c.exe '/c/opt/rtems/4.11/bin'
745   /usr/bin/mkdir -p '/c/opt/rtems/4.11/bin'
746   /usr/bin/install -c install-if-change '/c/opt/rtems/4.11/bin'
747  make[2]: Nothing to be done for 'install-data-am'.
748  make[2]: Leaving directory '/c/opt/rtems/kernel/pc686/tools/build'
749  make[1]: Leaving directory '/c/opt/rtems/kernel/pc686/tools/build'
750  Making install in tools/cpu
751  make[1]: Entering directory '/c/opt/rtems/kernel/pc686/tools/cpu'
752  Making install in generic
753  make[2]: Entering directory '/c/opt/rtems/kernel/pc686/tools/cpu/generic'
754  make[3]: Entering directory '/c/opt/rtems/kernel/pc686/tools/cpu/generic'
755  make[3]: Nothing to be done for 'install-exec-am'.
756  make[3]: Nothing to be done for 'install-data-am'.
757  make[3]: Leaving directory '/c/opt/rtems/kernel/pc686/tools/cpu/generic'
758  make[2]: Leaving directory '/c/opt/rtems/kernel/pc686/tools/cpu/generic'
759  make[2]: Entering directory '/c/opt/rtems/kernel/pc686/tools/cpu'
760  make[3]: Entering directory '/c/opt/rtems/kernel/pc686/tools/cpu'
761  make[3]: Nothing to be done for 'install-exec-am'.
762  make[3]: Nothing to be done for 'install-data-am'.
763    ..........
764  make[2]: Entering directory '/c/opt/rtems/kernel/pc686'
765  make[2]: Nothing to be done for 'install-exec-am'.
766   /usr/bin/mkdir -p '/c/opt/rtems/4.11/make'
767   /usr/bin/install -c -m 644 /c/opt/rtems/kernel/rtems/make/main.cfg
768   /c/opt/rtems/kernel/rtems/make/leaf.cfg '/c/opt/rtems/4.11/make'
769   /usr/bin/mkdir -p '/c/opt/rtems/4.11/share/rtems4.11/make/Templates'
770   /usr/bin/install -c -m 644
771   /c/opt/rtems/kernel/rtems/make/Templates/Makefile.dir
772   /c/opt/rtems/kernel/rtems/make/Templates/Makefile.leaf
773   /c/opt/rtems/kernel/rtems/make/Templates/Makefile.lib
774   '/c/opt/rtems/4.11/share/rtems4.11/make/Templates'
775   /usr/bin/mkdir -p '/c/opt/rtems/4.11/make/custom'
776   /usr/bin/install -c -m 644 /c/opt/rtems/kernel/rtems/make/custom/default.cfg
777   '/c/opt/rtems/4.11/make/custom'
778  make[2]: Leaving directory '/c/opt/rtems/kernel/pc686'
779  make[1]: Leaving directory '/c/opt/rtems/kernel/pc686'
780   /c/opt/rtems/kernel/pc686
781  $
782
783Building the RTEMS BSD Library
784------------------------------
785
786The RTEMS BSD Library or libBSD as it is also know is a package of FreeBSD code
787ported to RTEMS. It provides a number of advantanced services including a
788networking stack
Note: See TracBrowser for help on using the repository browser.