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

5
Last change on this file since eae5454 was eae5454, checked in by Sebastian Huber <sebastian.huber@…>, on 01/11/19 at 14:47:00

user: Rework Prefixes section

Rename it to "Choose an Installation Prefix".

Update #3675.

  • Property mode set to 100644
File size: 5.5 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
43A number of different Linux distrubutions are known to work. The following have
44been tested and report as working.
45
46.. _ArchLinux:
47
48ArchLinux
49~~~~~~~~~
50
51The following packages are required on a fresh Archlinux 64bit installation::
52
53    # pacman -S base-devel gdb xz unzip ncurses git zlib
54
55Archlinux, by default installs ``texinfo-5`` which is incompatible for building
56GCC 4.7 tree. You will have to obtain ``texinfo-legacy`` from ``AUR`` and
57provide a manual override::
58
59    # pacman -R texinfo
60    $ yaourt -S texinfo-legacy
61    # ln -s /usr/bin/makeinfo-4.13a /usr/bin/makeinfo
62
63.. _CentOS:
64
65CentOS
66~~~~~~
67
68The following packages are required on a minimal CentOS 6.3 64bit installation::
69
70    # yum install autoconf automake binutils gcc gcc-c++ gdb make patch \
71    bison flex xz unzip ncurses-devel texinfo zlib-devel python-devel git
72
73The minimal CentOS distribution is a specific DVD that installs a minimal
74system. If you use a full system some of these packages may have been
75installed.
76
77.. _Fedora:
78
79Fedora
80~~~~~~
81
82The RTEMS Source Builder has been tested on Fedora 19 64bit with the following
83packages::
84
85    # yum install ncurses-devel python-devel git bison gcc cvs gcc-c++ \
86         flex texinfo patch perl-Text-ParseWords zlib-devel
87
88.. _Raspbian:
89
90Raspbian
91~~~~~~~~
92
93The is the Debian distribution for the Raspberry Pi. The following packages are
94required::
95
96    $ sudo apt-get install autoconf automake bison flex binutils gcc g++ gdb \
97    texinfo unzip ncurses-dev python-dev git
98
99It is recommended you get Model B of the Pi with 512M of memory and to mount a
100remote disk over the network. The tools can be built on the network disk with a
101prefix under your home directory as recommended and end up on the SD card.
102
103.. _Ubuntu:
104.. _Xubuntu:
105
106Ubuntu
107~~~~~~
108
109The latest version is Ubuntu 18.04.1 LTS 64-bit. This section also includes
110Xubuntu. A minimal installation was used and the following packages installed::
111
112    $ sudu apt-get build-dep gcc-defaults g++ gdb git unzip pax bison \
113           flex libpython-dev git libncurses5-dev zlib1g-dev
114   
115Note that in previous versions of Ubuntu, the package libpython-dev was
116python2.7-dev. The name of packages changes over time. You need the
117package with Python development libraries for C/C++ programs.
118
119It is likely necessary that you will have to enable the Ubuntu Source Repositories.
120Users have suggested the following web pages which have instructions:
121
122* https://askubuntu.com/questions/158871/how-do-i-enable-the-source-code-repositories/158872
123* https://askubuntu.com/questions/496549/error-you-must-put-some-source-uris-in-your-sources-list
124
125.. _Linux Mint:
126
127Linux Mint
128~~~~~~~~~~
129
130zlib package is required on Linux Mint. It has a different name (other
131than the usual zlib-dev)::
132
133    # sudo apt-get install zlib1g-dev
134
135.. _openSUSE:
136
137openSUSE
138~~~~~~~~
139
140This has been reported to work but no instructions were provided. This is an
141opportunity to contribute. Please submit any guidance you can provide.
142
143.. _FreeBSD:
144
145FreeBSD
146-------
147
148The RTEMS Source Builder has been tested on FreeBSD 9.1, 10.3 and 11 64bit
149version. You need to install some ports. They are::
150
151    # cd /usr/ports
152    # portinstall --batch lang/python27
153
154If you wish to build Windows (mingw32) tools please install the following
155ports::
156
157    # cd /usr/ports
158    # portinstall --batch devel/mingw32-binutils devel/mingw32-gcc
159    # portinstall --batch devel/mingw32-zlib devel/mingw32-pthreads
160
161The +zlip+ and +pthreads+ ports for MinGW32 are used for builiding a Windows
162QEMU.
163
164If you are on FreeBSD 10.0 and you have pkgng installed you can use 'pkg
165install' rather than 'portinstall'.
166
167.. _NetBSD:
168
169NetBSD
170------
171
172The RTEMS Source Builder has been tested on NetBSD 6.1 i386. Packages to add
173are::
174
175    # pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/6.1/devel/gmake-3.82nb7.tgz
176    # pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/6.1/devel/bison-2.7.1.tgz
177    # pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/6.1/archivers/xz-5.0.4.tgz
178
179.. _MacOS:
180
Note: See TracBrowser for help on using the repository browser.