1 | .. SPDX-License-Identifier: CC-BY-SA-4.0 |
---|
2 | |
---|
3 | .. Copyright (C) 2016 Chris Johns <chrisj@rtems.org> |
---|
4 | |
---|
5 | .. _host-os: |
---|
6 | |
---|
7 | Host Operating Systems |
---|
8 | ====================== |
---|
9 | |
---|
10 | .. sidebar:: *GDB and Python* |
---|
11 | |
---|
12 | RTEMS uses Python in GDB to aid debugging which means GDB needs to be built |
---|
13 | with Python development libraries. Please check the RSB documentation and |
---|
14 | install the packages specified for your host. Make sure a python development |
---|
15 | package is included. |
---|
16 | |
---|
17 | A wide range of host operating systems and hardware can be used. The host |
---|
18 | operating systems supported are: |
---|
19 | |
---|
20 | - Linux |
---|
21 | - FreeBSD |
---|
22 | - NetBSD |
---|
23 | - Apple OS X |
---|
24 | - Windows |
---|
25 | - Solaris |
---|
26 | |
---|
27 | The functionality on a POSIX operating such as Linux and FreeBSD is similar and |
---|
28 | most features on Windows are supported but you are best to ask on the |
---|
29 | :r:list:`users` if you have a specific question. |
---|
30 | |
---|
31 | We recommend you maintain your operating system by installing any updates. |
---|
32 | |
---|
33 | We also recommend you keep your environment to the bare minimum, |
---|
34 | particularly the PATH variable. Using environment variables has been |
---|
35 | proven over the years to be difficult to manage in production systems. |
---|
36 | |
---|
37 | .. warning:: |
---|
38 | |
---|
39 | The RSB assumes your host is set up and the needed packages are installed |
---|
40 | and configured to work. If your host has not been set up please refer to |
---|
41 | section that covers your host's packages you need to install. |
---|
42 | |
---|
43 | .. topic:: Path to use when building applications: |
---|
44 | |
---|
45 | Do not forget to set the path before you use the tools, for example to |
---|
46 | build the RTEMS kernel. |
---|
47 | |
---|
48 | The RSB by default will install (copy) the executables to a directory tree |
---|
49 | under the *prefix* you supply. To use the tools once finished just set your |
---|
50 | path to the ``bin`` directory under the *prefix* you use. In the examples |
---|
51 | that follow the *prefix* is ``$HOME/development/rtems/4.11`` and is set |
---|
52 | using the ``--prefix`` option so the path you need to configure to build |
---|
53 | applications can be set with the following in a BASH shell: |
---|
54 | |
---|
55 | .. code-block:: shell |
---|
56 | |
---|
57 | $ export PATH=$HOME/development/rtems/4.11/bin:$PATH |
---|
58 | |
---|
59 | Make sure you place the RTEMS tool path at the front of your path so they |
---|
60 | are searched first. RTEMS can provide newer versions of some tools your |
---|
61 | operating system provides and placing the RTEMS tools path at the front |
---|
62 | means it is searched first and the RTEMS needed versions of the tools are |
---|
63 | used. |
---|
64 | |
---|
65 | .. warning:: |
---|
66 | |
---|
67 | Do not put spaces or special characters in the directories you use to build |
---|
68 | RTEMS. Many of the packages built by the RSB use GNU *make*, which cannot |
---|
69 | handle spaces in pathnames. If there is a space in the pathname the build |
---|
70 | will fail. Special characters are also likely to confuse build systems. |
---|
71 | |
---|
72 | .. note:: |
---|
73 | |
---|
74 | RSB and RTEMS have a matching *git branch* for each version of RTEMS. For |
---|
75 | example, if you want to build a toolchain for 4.11, then you should |
---|
76 | checkout the 4.11 branch of the RSB: |
---|
77 | |
---|
78 | .. code-block:: shell |
---|
79 | |
---|
80 | $ git checkout -t origin/4.11 |
---|
81 | |
---|
82 | Branches are available for the 4.9, 4.10, and 4.11 versions of RTEMS. |
---|