source: rtems-docs/user/hosts/posix.rst @ 2674d6a

5
Last change on this file since 2674d6a was 2674d6a, checked in by Chris Johns <chrisj@…>, on 02/21/19 at 02:06:58

user: Remove nit-picky warnings.

  • Property mode set to 100644
File size: 6.0 KB
Line 
1.. SPDX-License-Identifier: CC-BY-SA-4.0
2
3.. Copyright (C) 2016 Chris Johns <chrisj@rtems.org>
4
5.. _posix-hosts:
6
7POSIX Hosts
8===========
9
10POSIX hosts are most Unix operating systems such as Linux, FreeBSD and
11NetBSD. RTEMS development works well on Unix and can scale from a single user
12and a desktop machine to a team with decentralised or centralised development
13infrastructure.
14
15Root Access
16-----------
17
18You either have ``root`` access to your host development machine or you do
19not. Some users are given hardware that is centrally managed. If you do not
20have ``root`` access you can create your work environment in your home
21directory. You could use a prefix of :file:`$HOME/development/rtems` or
22:file:`$HOME/rtems`. Note, the ``$HOME`` environment variable can be
23substituted with ``~``.
24
25:ref:`QuickStartPrefixes` details using Prefixes to manage the installation.
26
27RTEMS Tools and packages do not require ``root`` access
28to be built and we encourage you to not build the tools as ``root``. If you
29need to control write access then it is best to manage this with groups
30assigned to users.
31
32If you have ``root`` access you can decide to install the tools under any
33suitable prefix. This may depend on the hardware in your host development
34machine. If the machine is a centralised build server the prefix may be used to
35separate production versions from the test versions and the prefix paths may
36have restricted access rights to only those who manage and have configuration
37control of the machine. We call this project sandboxing and
38:ref:`ProjectSandboxing` explains this in more detail.
39
40Linux
41-----
42
43BSP Build will require ``pax`` package if RTEMS is configured with the
44``--enable-tests`` option, see :ref:`BuildingRTEMSTests`. This package is not
45installed , by default, on many Linux distributions, you can check for it
46using your package manager. Install it, if it is not present on your system.
47
48A number of different Linux distrubutions are known to work. The following have
49been tested and report as working.
50
51.. _ArchLinux:
52
53ArchLinux
54~~~~~~~~~
55
56The following packages are required on a fresh Archlinux 64bit installation:
57
58.. code-block:: shell
59
60  # pacman -S base-devel gdb xz unzip ncurses git zlib
61
62Archlinux, by default installs ``texinfo-5`` which is incompatible for building
63GCC 4.7 tree. You will have to obtain ``texinfo-legacy`` from ``AUR`` and
64provide a manual override:
65
66.. code-block:: shell
67
68  # pacman -R texinfo
69  $ yaourt -S texinfo-legacy
70  # ln -s /usr/bin/makeinfo-4.13a /usr/bin/makeinfo
71
72.. _CentOS:
73
74CentOS
75~~~~~~
76
77The following packages are required on a minimal CentOS 6.3 64bit installation:
78
79.. code-block:: shell
80
81  # yum install autoconf automake binutils gcc gcc-c++ gdb make patch \
82  bison flex xz unzip ncurses-devel texinfo zlib-devel python-devel git
83
84The minimal CentOS distribution is a specific DVD that installs a minimal
85system. If you use a full system some of these packages may have been
86installed.
87
88.. _Fedora:
89
90Fedora
91~~~~~~
92
93The RTEMS Source Builder has been tested on Fedora 19 64bit with the following
94packages:
95
96.. code-block:: shell
97
98  # yum install ncurses-devel python-devel git bison gcc cvs gcc-c++ \
99       flex texinfo patch perl-Text-ParseWords zlib-devel
100
101.. _Raspbian:
102
103Raspbian
104~~~~~~~~
105
106The is the Debian distribution for the Raspberry Pi. The following packages are
107required:
108
109.. code-block:: shell
110
111  $ sudo apt-get install autoconf automake bison flex binutils gcc g++ gdb \
112  texinfo unzip ncurses-dev python-dev git
113
114It is recommended you get Model B of the Pi with 512M of memory and to mount a
115remote disk over the network. The tools can be built on the network disk with a
116prefix under your home directory as recommended and end up on the SD card.
117
118.. _Ubuntu:
119.. _Xubuntu:
120
121Ubuntu
122~~~~~~
123
124The latest version is Ubuntu 18.04.1 LTS 64-bit. This section also includes
125Xubuntu. A minimal installation was used and the following packages installed:
126
127.. code-block:: shell
128
129  $ sudu apt-get build-dep gcc-defaults g++ gdb git unzip pax bison \
130         flex libpython-dev git libncurses5-dev zlib1g-dev
131
132Note that in previous versions of Ubuntu, the package libpython-dev was
133python2.7-dev. The name of packages changes over time. You need the
134package with Python development libraries for C/C++ programs.
135
136It is likely necessary that you will have to enable the Ubuntu Source Repositories.
137Users have suggested the following web pages which have instructions:
138
139* https://askubuntu.com/questions/158871/how-do-i-enable-the-source-code-repositories/158872
140* https://askubuntu.com/questions/496549/error-you-must-put-some-source-uris-in-your-sources-list
141
142.. _Linux Mint:
143
144Linux Mint
145~~~~~~~~~~
146
147zlib package is required on Linux Mint. It has a different name (other
148than the usual zlib-dev):
149
150.. code-block:: shell
151
152  # sudo apt-get install zlib1g-dev
153
154.. _openSUSE:
155
156openSUSE
157~~~~~~~~
158
159This has been reported to work but no instructions were provided. This is an
160opportunity to contribute. Please submit any guidance you can provide.
161
162.. _FreeBSD:
163
164FreeBSD
165-------
166
167The RTEMS Source Builder has been tested on FreeBSD 9.1, 10.3 and 11 64bit
168version. You need to install some ports. They are:
169
170.. code-block:: shell
171
172  # cd /usr/ports
173  # portinstall --batch lang/python27
174
175If you wish to build Windows (mingw32) tools please install the following
176ports:
177
178.. code-block:: shell
179
180  # cd /usr/ports
181  # portinstall --batch devel/mingw32-binutils devel/mingw32-gcc
182  # portinstall --batch devel/mingw32-zlib devel/mingw32-pthreads
183
184The +zlip+ and +pthreads+ ports for MinGW32 are used for builiding a Windows
185QEMU.
186
187If you are on FreeBSD 10.0 and you have pkgng installed you can use 'pkg
188install' rather than 'portinstall'.
189
190.. _NetBSD:
191
192NetBSD
193------
194
195The RTEMS Source Builder has been tested on NetBSD 6.1 i386. Packages to add
196are:
197
198.. code-block:: shell
199
200  # pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/6.1/devel/gmake-3.82nb7.tgz
201  # pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/6.1/devel/bison-2.7.1.tgz
202  # pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/6.1/archivers/xz-5.0.4.tgz
Note: See TracBrowser for help on using the repository browser.