[0facb9d] | 1 | .. SPDX-License-Identifier: CC-BY-SA-4.0 |
---|
| 2 | |
---|
[eae5454] | 3 | .. Copyright (C) 2019 embedded brains GmbH |
---|
| 4 | .. Copyright (C) 2019 Sebastian Huber |
---|
[0facb9d] | 5 | .. Copyright (C) 2016 Chris Johns <chrisj@rtems.org> |
---|
| 6 | |
---|
[2445655] | 7 | .. _QuickStartPrefixes: |
---|
[0facb9d] | 8 | |
---|
[eae5454] | 9 | Choose an Installation Prefix |
---|
| 10 | ============================= |
---|
[0facb9d] | 11 | |
---|
[2445655] | 12 | .. index:: prefix |
---|
| 13 | |
---|
[eae5454] | 14 | You will see the term :ref:term:`prefix` referred to throughout this |
---|
[0facb9d] | 15 | documentation and in a wide number of software packages you can download from |
---|
[eae5454] | 16 | the internet. It is also used in the |
---|
| 17 | `GNU Coding Standard <https://www.gnu.org/prep/standards/html_node/Directory-Variables.html>`_. |
---|
| 18 | A *prefix* is the path on your host computer a software package is installed |
---|
| 19 | under. Packages that have a prefix will place all parts under the prefix |
---|
| 20 | path. Packages for your host computer typically use a default prefix of |
---|
| 21 | :file:`/usr/local` on FreeBSD and Linux. |
---|
| 22 | |
---|
[bb47f89] | 23 | You have to select a prefix for your installation. You will build and install |
---|
| 24 | the RTEMS tool suite, an RTEMS kernel for a BSP and you may build and install |
---|
| 25 | third party libraries. You can build them all as a stack with a single prefix |
---|
| 26 | or you can |
---|
| 27 | |
---|
| 28 | The RTEMS tool suite consists of a cross tool chain (Binutils, GCC, GDB, |
---|
| 29 | Newlib, etc.) for your target architecture and :ref:`other tools <HostTools>` |
---|
| 30 | provided by the RTEMS Project. The RTEMS |
---|
| 31 | |
---|
| 32 | |
---|
| 33 | You build and install the tool suite with the :ref:`RTEMS Source Builder (RSB) |
---|
| 34 | <RSB>`. By default, the RSB will start the prefix path with a host operating |
---|
| 35 | system specific path plus :file:`rtems` plus the RTEMS version, e.g. |
---|
| 36 | :file:`/opt/rtems/5` on Linux and :file:`/usr/local/rtems/5` on FreeBSD and |
---|
| 37 | macOS. |
---|
[eae5454] | 38 | |
---|
| 39 | It is strongly recommended to run the RSB as a *normal user* and not with |
---|
| 40 | *root* privileges (also known as *super user* or *Administrator*). You have to |
---|
| 41 | make sure that your normal user has sufficient privileges to create files and |
---|
| 42 | directories under the prefix. For example, you can create a directory |
---|
| 43 | :file:`/opt/rtems` and give it to a developer group with read, write and |
---|
| 44 | execute permissions. Alternatively, you can choose a prefix in your home |
---|
| 45 | directory, e.g. :file:`$HOME/rtems/5` or with a project-specific component |
---|
| 46 | :file:`$HOME/project-x/rtems/5`. For more ideas, see the |
---|
| 47 | :ref:`project sandboxing <ProjectSandboxing>` section. In this quick start |
---|
| 48 | chapter, we will choose :file:`$HOME/quick-start/rtems/5` for the RTEMS tool |
---|
| 49 | suite prefix. |
---|
| 50 | |
---|
| 51 | .. warning:: |
---|
| 52 | |
---|
| 53 | The prefix must not contain space characters. |
---|