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

4.115
Last change on this file since 5353914 was 5353914, checked in by Chris Johns <chrisj@…>, on 03/20/16 at 23:27:52

Updates from user reviews.

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