mirror of
https://git.rtems.org/rtems-docs/
synced 2025-07-24 02:22:02 +08:00
Add a basics section to Getting Started. Rearrange the content.
This commit is contained in:
parent
024e04034e
commit
27bcdfbf57
@ -10,6 +10,7 @@ project = "RTEMS User Manual"
|
||||
|
||||
exclude_patterns = ['config/build.rst',
|
||||
'config/runtime.rst',
|
||||
'start/basics.rst',
|
||||
'start/depend.rst',
|
||||
'start/transition.rst',
|
||||
'start/releases.rst',
|
||||
|
115
user/start/basics.rst
Normal file
115
user/start/basics.rst
Normal file
@ -0,0 +1,115 @@
|
||||
.. comment: Copyright (c) 2016 Chris Johns <chrisj@rtems.org>
|
||||
.. comment: All rights reserved.
|
||||
|
||||
.. _prefixs:
|
||||
|
||||
Prefixes
|
||||
========
|
||||
|
||||
You will see the term **prefix** referred to though out this documentation and
|
||||
in a wide number of software packages you can download from the internet. A
|
||||
**prefix** is a path on your computer a software package is built and installed
|
||||
under. Packages that have a **prefix** will place all parts under the *prefix
|
||||
path*. On a host computer like Linux the packages you install from your
|
||||
distribution typically use a platform specific standard *prefix*. For example
|
||||
on Linux it is :file:`/usr` and on FreeBSD it is :file:`/usr/local`.
|
||||
|
||||
We recommend you **do not** use the standard *prefix* when installing RTEMS
|
||||
Tools. If you are building the tools as a normal user and not as ``root`` the
|
||||
RTEMS Source Builder (RSB) will fail if the *prefix* is not writable. We
|
||||
recommend you leave the standand *prefix* for the packages your operating
|
||||
system installs.
|
||||
|
||||
A further reason not use the standard *prefix* is to allow more than one
|
||||
version of RTEMS to exist on your host machine at a time. The ``autoconf`` and
|
||||
``automake`` tools required by RTEMS are not versioned and vary between RTEMS
|
||||
versions. If you use a single *prefix* then there is a chance things from
|
||||
different versions may interact. This should not happen but it could.
|
||||
|
||||
For POSIX or Unix hosts the RTEMS Project uses :file:`/opt/rtems` as a standard
|
||||
*prefix*. We view this *prefix* as a production level path and we place
|
||||
development versions under a different *prefix* away from the production
|
||||
versions. Under this top level *prefix* we place the various versions, for
|
||||
example for version 4.11.0 the *prefix* would be :file:`/opt/rtems/4.11.0`. If
|
||||
an update called 4.11.1 is released the *prefix* would be
|
||||
:file:`/opt/rtems/4.11.1`. This choice is entirly yours. You may decide to have
|
||||
a single path for all RTEMS 4.11 releases of :file:`/opt/rtems/4.11`.
|
||||
|
||||
For Windows a typical prefix is :file:`C:\\opt` and as an MSYS2 path that is
|
||||
:file:`/c/opt`.
|
||||
|
||||
.. _project_sandboxing:
|
||||
|
||||
Project Sandboxing
|
||||
==================
|
||||
|
||||
Project specific sandboxes let you have a number of projects running in
|
||||
parallel with each project in its own sandbox. You simlpy have a prefix per
|
||||
project and under that prefix you create a simple yet repeatable structure.
|
||||
|
||||
As an exapmle lets say I have a large disk under :file:`/bd` for *Big Disk*. As
|
||||
``root`` create a directory called ``project`` and give the directory suitable
|
||||
permissions to be writable by you as a user.
|
||||
|
||||
Lets create project sandbox for my *Box Sorter* project. First create a project
|
||||
directory called :file:`/bd/projects/box-sorter`. Under this create
|
||||
:file:`rtems` and under that create :file:`rtems-4.11.0`. Under this path you
|
||||
can follow the :ref:`released-version` procedure to build a tool set using the
|
||||
prefix of :file:`/bd/projects/box-sorter/rtems/4.11.0`. You are free to create
|
||||
your project specific directories under :file:`/bd/projects/box-sorter`.
|
||||
|
||||
A variation of this is to have a single set of *production* tools and RTEMS
|
||||
BSPs on the disk under :file:`/bd/rtems` you can share between your projects.
|
||||
|
||||
:file:`/bd/rtems`
|
||||
The top path to production tools and kernels.
|
||||
|
||||
:file:`/bd/rtems/4.11.0`
|
||||
Production prefix for RTEMS 4.11.0 compiler, debuggers, tools and Board
|
||||
Support Packages (BSPs).
|
||||
|
||||
:file:`/bd/projects`
|
||||
Project specific development trees.
|
||||
|
||||
A further variation is to use the ``--without-rtems`` option with the RTEMS to
|
||||
not build the BSPs when building the tools and to buld RTEMS specifically for
|
||||
each project. This lets you have a production tools installed at a top level
|
||||
on your disk and each project can have a specific and possibly customised
|
||||
version of RTEMS.
|
||||
|
||||
:file:`/bd/rtems`
|
||||
The top path to production tools and kernels.
|
||||
|
||||
:file:`/bd/rtems/4.11.0`
|
||||
Production prefix for RTEMS 4.11.0.
|
||||
|
||||
:file:`/bd/rtems/4.11.0`
|
||||
Production prefix for RTEMS 4.11.0 compiler, debuggers and tools.
|
||||
|
||||
:file:`/bd/projects`
|
||||
Project specific development trees.
|
||||
|
||||
If there is an RTEMS kernel you to share between projects you can move this to
|
||||
a top level and share. In this case you will end up with:
|
||||
|
||||
:file:`/bd/rtems`
|
||||
The top path to production tools and kernels.
|
||||
|
||||
:file:`/bd/rtems/4.11.0`
|
||||
Production prefix for RTEMS 4.11.0.
|
||||
|
||||
:file:`/bd/rtems/4.11.0/tools`
|
||||
Production prefix for RTEMS 4.11.0 compiler, debuggers and tools.
|
||||
|
||||
:file:`/bd/rtems/4.11.0/bsps`
|
||||
Production prefix for RTEMS 4.11.0 Board Support Packages (BSPs).
|
||||
|
||||
:file:`/bd/projects`
|
||||
Project specific development trees.
|
||||
|
||||
The project sandoxing approach allows you move a specific production part into
|
||||
the project's sandbox to allow you to customise it. This is useful if you are
|
||||
testing new relesaes. The typical dependency is the order listed above. You can
|
||||
test new RTEMS kernels with production tools but new tools will require you
|
||||
build the kernel with them. Release notes with each release will let know
|
||||
what you need to update.
|
@ -1,9 +1,11 @@
|
||||
.. comment: Copyright (c) 2016 Chris Johns <chrisj@rtems.org>
|
||||
.. comment: All rights reserved.
|
||||
|
||||
Dependencies
|
||||
============
|
||||
.. index:: Dependencies
|
||||
.. _development-hosts:
|
||||
|
||||
Development Hosts
|
||||
=================
|
||||
.. index:: Hosts
|
||||
|
||||
RTEMS applications are developed using cross-development tools running on a
|
||||
host computer, typically your desktop or a special build server. All RTEMS
|
||||
@ -32,6 +34,11 @@ engineering a development environment that suites you. The basic specs are:
|
||||
|
||||
RTEMS makes no demands on graphics.
|
||||
|
||||
If you are using a VM or your host computer that is not a fast current machine
|
||||
do not be concerned. The tools may take longer to build than faster hardware
|
||||
however building tools is something you do once. Once the tools and RTEMS is
|
||||
built all your time can be spent writing and developing your application.
|
||||
|
||||
Host Software
|
||||
-------------
|
||||
|
||||
@ -51,3 +58,417 @@ most features on Windows are supported but you are best to ask on
|
||||
|
||||
Install and set up your host operating system. We recommend you maintain your
|
||||
operating system by installing any updates.
|
||||
|
||||
POSIX Hosts
|
||||
-----------
|
||||
|
||||
.. sidebar:: *GDB and Python*
|
||||
|
||||
RTEMS uses Python in GDB to aid debugging which means GDB needs to be built
|
||||
with Python development libraries. Please check the RSB documentation and
|
||||
install the packages specified for your host. Make sure a python development
|
||||
package is included.
|
||||
|
||||
POSIX hosts are most Unix operating systems such as Linux, FreeBSD and
|
||||
NetBSD. RTEMS development works well on Unix and can scale from a single user
|
||||
and a desktop machine to a team with decentralised or centralised development
|
||||
infrastructure. The RTEMS project provides you with the development tools and
|
||||
aids to help you create an environment that matches the project's needs. You
|
||||
need to decide on the languages used in your project, which version control
|
||||
system, and the build system for your application. The RTEMS Project's aims to
|
||||
give complete freedom to decide what you use.
|
||||
|
||||
The following are a few ways you can set up a suitable environment. You are not
|
||||
limited to what is present here. A common factor that defines the final
|
||||
location of tools and projects is the place you have suitable storage. The
|
||||
following set ups assume suitable disk space and disk performance.
|
||||
|
||||
Adminisrator Access
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
You either have ``root`` access to your host development machine or you do
|
||||
not. Some users are given hardware that is centrally managed. If you do not
|
||||
have ``root`` access you can create your work environment in your home
|
||||
directory. You could use a prefix of :file:`$HOME/development/rtems` or
|
||||
:file:`$HOME/rtems`. Note, the ``$HOME`` environment variable can be
|
||||
substituted with ``~``.
|
||||
|
||||
RTEMS Tools and packages do not require ``root`` access
|
||||
to be built and we encourage you do not build the tools as ``root``. If you
|
||||
need to control write access then it is best to manage this with groups
|
||||
assigned to users.
|
||||
|
||||
If you have ``root`` you can decide to install the tools under any suitable
|
||||
prefix. This may depend on the hardware in your host development machine. If
|
||||
the machine is a centralised build server the prefix may be used to separate
|
||||
production versions from the test versions and as just discussed the prefix
|
||||
paths may have restricted access to only those who manage the configuration
|
||||
control of the machine.
|
||||
|
||||
Apple OS X
|
||||
----------
|
||||
|
||||
Apple's OS X is fully supported. You to download and install a recent version
|
||||
of the free Apple developers application Xcode. Xocde is available in the App
|
||||
Store. Make sure you install the Command Line Tools add on available for
|
||||
download within Xcode and once installed open a Terminal shell and enter the
|
||||
command ``cc`` and accept the license agreement.
|
||||
|
||||
The normal prefix when working on OS X as a user is under your home directory.
|
||||
Prefixes of :file:`$HOME/development/rtems` or :file:`$HOME/rtems` are
|
||||
suitable.
|
||||
|
||||
.. _microsoft-windows:
|
||||
|
||||
Microsoft Windows
|
||||
-----------------
|
||||
|
||||
RTEMS supports Windows as a development host and the tools for most
|
||||
architectures are available. The RTEMS Project relies on the GNU tools for
|
||||
compilers and debuggers and we use the simulators that come with GDB and
|
||||
QEMU. The Windows support for these tools varies and the RTEMS Project is
|
||||
committed to helping the open source community improve the Windows
|
||||
experience. If something is not working or supported please email the
|
||||
:r:list:`users`.
|
||||
|
||||
The RTEMS Project's Windows tools are native Windows executables giving the
|
||||
user the best possible experience on Windows. Native Windows programs use the
|
||||
standard Windows DLLs and paths. Integration with standard Windows integrated
|
||||
development tools such as editors is straight forward. POSIX emulation
|
||||
environments such as Cygwin and the MSYS2 shell have special executables that
|
||||
require a POSIX emulation DLL and these emulation DLLs add an extra layer of
|
||||
complexity as well as a performance over-head. The RTEMS Project uses these
|
||||
POSIX emulation shells to run configure scripts that come with various open
|
||||
source packages such as `gcc` so they form an important and valued part of the
|
||||
environment we describe here. The output of this procedure forms the tools you
|
||||
use during your application development and they do not depend the emulation
|
||||
DLLs.
|
||||
|
||||
The performance of the compiler is as good as you can have on Windows and the
|
||||
performance compiling a single file will be similar to that on a host like
|
||||
Linux or FreeBSD given the same hardware. Building the tools from source is
|
||||
much slower on Windows because POSIX shells and related tools are used and the
|
||||
POSIX emulation overhead it much much slower than a native POSIX operating
|
||||
system like Linux and FreeBSD. This overhead is only during the building of the
|
||||
tools and the RTEMS kernel and if you use a suitable build system that is
|
||||
native to Windows your application development should be similar to other
|
||||
operating systems.
|
||||
|
||||
.. _windows-path-length:
|
||||
|
||||
Path Length
|
||||
~~~~~~~~~~~
|
||||
|
||||
Windows path length is limited and can cause problems when building the
|
||||
tools. The standard Windows API has a ``MAX_PATH`` length of 260
|
||||
characters. This can effect some of the tools used by RTEMS. It is recommended
|
||||
you keep the top level directories as short as possible when building the RTEMS
|
||||
tools and you also keep an eye on the path length when developing your
|
||||
application. The RTEMS built tools can handle much longer path lengths however
|
||||
some of the GNU tools such as those in the ``binutils`` package cannot. The
|
||||
release packages of the RSB are too big to build RTEMS so you need to change
|
||||
that path to build.
|
||||
|
||||
The MSYS2 GNU ``make`` has problems when using the `jobs` option. The RSB
|
||||
defaults to automatically using as many cores as the host machine has. To get a
|
||||
successful build on Windows it is recommended you add the ``--jobs=none``
|
||||
option to all RSB build set commands.
|
||||
|
||||
POSIX Support
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Building the RTEMS compilers, debugger, the RTEMS kernel and a number of other
|
||||
3rd party packages requires a POSIX environment. On Windows you can use Cygwin
|
||||
or MSYS2. This document focuses on MSYS2. It is smaller than Cygwin and comes
|
||||
with the Arch Linux package manager ``pacman``.
|
||||
|
||||
MSYS2 provides MinGW64 support as well as a POSIX shell called MSYS2. The
|
||||
MinGW64 compiler and related tools produce 64bit native Windows
|
||||
executables. The shell is a standard Bourne shell and the MSYS2 environment is
|
||||
a stripped Cygwin shell with enough support to run the various ``configure``
|
||||
scripts needed to build the RTEMS tools and the RTEMS kernel.
|
||||
|
||||
MSYS2 is built around the ``pacman`` packing tool. This makes MSYS2 a
|
||||
distribution and that is a welcome feature on Windows. You get a powerful tool
|
||||
to manage your development environment on Windows.
|
||||
|
||||
Python
|
||||
~~~~~~
|
||||
|
||||
We need Python to build the tools as the RSB is written in Python and we need
|
||||
suitable Python libraries to link to GDB as RTEMS makes use of GDB's Python
|
||||
support. This place specific demands on the Python we need installed and
|
||||
available and MSYS2 provides suitable Python versions we can use. You need to
|
||||
make sure you have the correct type and version of Python installed.
|
||||
|
||||
We cannot use the Python executables created by the Python project (python.org)
|
||||
as they are built by Microsoft's C (MSC) compiler. Linking the MSC Python
|
||||
libraries with the MinGW64 executables is not easy and MSYS provided us with a
|
||||
simple solution so we do not support this.
|
||||
|
||||
MSYS2 provides two types and versions of Python executables, MinGW and MSYS and
|
||||
Python version 2 and 3. For Windows we need the MinGW executable so we have
|
||||
suitables libraries and we have to have Python version 2 because on Windows GDB
|
||||
only builds with Python2.
|
||||
|
||||
You also need to install the MSYS version of Python along with the MinGW64
|
||||
Python2 package. The MSYS Python is version 3 and the RSB can support version 2
|
||||
and 3 of Python and it helps handle some of the long paths building GCC can
|
||||
generate.
|
||||
|
||||
Installing MSYS2
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
MSYS2 is installed on a new machine using the MSYS2 installer found on
|
||||
https://msys2.github.io/. Please select the ``x86_64`` variant for 64bit
|
||||
support. Run the installer followin the 7 steps listed on the page.
|
||||
|
||||
MSYS2 uses the ``pacman`` package manager. The Arch Linux project has detailed
|
||||
documentation on how to use ``pacman``. What is shown here is a just few
|
||||
examples of what you can do.
|
||||
|
||||
Open a 64bit MSYS shell from the Start Menu:
|
||||
|
||||
.. figure:: msys2-minw64-start-menu.png
|
||||
:width: 50%
|
||||
:align: center
|
||||
:alt: MSYS2 64bit Shell Start Menu
|
||||
|
||||
The packages we require are:
|
||||
|
||||
* python
|
||||
* mingw-w64-x86_64-python2
|
||||
* mingw-w64-x86_64-gcc
|
||||
* git
|
||||
* bison
|
||||
* cvs
|
||||
* diffutils
|
||||
* make
|
||||
* patch
|
||||
* tar
|
||||
* texinfo
|
||||
* unzip
|
||||
|
||||
.. note::
|
||||
|
||||
The actual output provided may vary due to changes in the dependent packages
|
||||
or newer package versions.
|
||||
|
||||
Install the packages using ``pacman``:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
~
|
||||
$ pacman -S python mingw-w64-x86_64-python2 mingw-w64-x86_64-gcc \
|
||||
> bison cvs diffutils git make patch tar texinfo unzip
|
||||
resolving dependencies...
|
||||
looking for conflicting packages...
|
||||
|
||||
Packages (74) db-5.3.28-2 expat-2.1.0-2 gdbm-1.11-3 heimdal-1.5.3-8
|
||||
libgdbm-1.11-3 mingw-w64-x86_64-binutils-2.26-21
|
||||
mingw-w64-x86_64-bzip2-1.0.6-5
|
||||
mingw-w64-x86_64-ca-certificates-20150426-2
|
||||
mingw-w64-x86_64-crt-git-5.0.0.4627.03684c4-1
|
||||
mingw-w64-x86_64-expat-2.1.0-6 mingw-w64-x86_64-gcc-libs-5.3.0-2
|
||||
mingw-w64-x86_64-gdbm-1.11-3 mingw-w64-x86_64-gettext-0.19.6-2
|
||||
mingw-w64-x86_64-gmp-6.1.0-1
|
||||
mingw-w64-x86_64-headers-git-5.0.0.4627.53be55d-1
|
||||
mingw-w64-x86_64-isl-0.15-1 mingw-w64-x86_64-libffi-3.2.1-3
|
||||
mingw-w64-x86_64-libiconv-1.14-5
|
||||
mingw-w64-x86_64-libsystre-1.0.1-2
|
||||
mingw-w64-x86_64-libtasn1-4.7-1
|
||||
mingw-w64-x86_64-libtre-git-r122.c2f5d13-4
|
||||
mingw-w64-x86_64-libwinpthread-git-5.0.0.4573.628fdbf-1
|
||||
mingw-w64-x86_64-mpc-1.0.3-2 mingw-w64-x86_64-mpfr-3.1.3.p0-2
|
||||
mingw-w64-x86_64-ncurses-6.0.20160220-2
|
||||
mingw-w64-x86_64-openssl-1.0.2.g-1
|
||||
mingw-w64-x86_64-p11-kit-0.23.1-3
|
||||
mingw-w64-x86_64-readline-6.3.008-1 mingw-w64-x86_64-tcl-8.6.5-1
|
||||
mingw-w64-x86_64-termcap-1.3.1-2 mingw-w64-x86_64-tk-8.6.5-1
|
||||
mingw-w64-x86_64-windows-default-manifest-6.4-2
|
||||
mingw-w64-x86_64-winpthreads-git-5.0.0.4573.628fdbf-1
|
||||
mingw-w64-x86_64-zlib-1.2.8-9 openssh-7.1p2-1 perl-5.22.0-2
|
||||
perl-Authen-SASL-2.16-2 perl-Convert-BinHex-1.123-2
|
||||
perl-Encode-Locale-1.04-1 perl-Error-0.17024-1
|
||||
perl-File-Listing-6.04-2 perl-HTML-Parser-3.71-3
|
||||
perl-HTML-Tagset-3.20-2 perl-HTTP-Cookies-6.01-2
|
||||
perl-HTTP-Daemon-6.01-2 perl-HTTP-Date-6.02-2
|
||||
perl-HTTP-Message-6.06-2 perl-HTTP-Negotiate-6.01-2
|
||||
perl-IO-Socket-SSL-2.016-1 perl-IO-stringy-2.111-1
|
||||
perl-LWP-MediaTypes-6.02-2 perl-MIME-tools-5.506-1
|
||||
perl-MailTools-2.14-1 perl-Net-HTTP-6.09-1
|
||||
perl-Net-SMTP-SSL-1.02-1 perl-Net-SSLeay-1.70-1
|
||||
perl-TermReadKey-2.33-1 perl-TimeDate-2.30-2 perl-URI-1.68-1
|
||||
perl-WWW-RobotRules-6.02-2 perl-libwww-6.13-1 vim-7.4.1468-1
|
||||
bison-3.0.4-1 cvs-1.11.23-2 diffutils-3.3-3 git-2.7.2-1
|
||||
make-4.1-4 mingw-w64-x86_64-gcc-5.3.0-2
|
||||
mingw-w64-x86_64-python2-2.7.11-4 patch-2.7.5-1 python-3.4.3-3
|
||||
tar-1.28-3 texinfo-6.0-1 unzip-6.0-2
|
||||
|
||||
Total Download Size: 114.10 MiB
|
||||
Total Installed Size: 689.61 MiB
|
||||
|
||||
:: Proceed with installation? [Y/n] y
|
||||
:: Retrieving packages...
|
||||
mingw-w64-x86_64-gm... 477.1 KiB 681K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-li... 24.2 KiB 755K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-gc... 541.9 KiB 705K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-ex... 106.7 KiB 702K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-bz... 77.9 KiB 666K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-li... 600.2 KiB 703K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-ge... 3.0 MiB 700K/s 00:04 [#####################] 100%
|
||||
mingw-w64-x86_64-gd... 151.8 KiB 483K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-li... 34.5 KiB 705K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-li... 69.2 KiB 713K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-li... 9.3 KiB 778K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-nc... 1800.5 KiB 701K/s 00:03 [#####################] 100%
|
||||
mingw-w64-x86_64-li... 171.4 KiB 708K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-p1... 193.5 KiB 709K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-ca... 382.1 KiB 705K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-zl... 148.6 KiB 704K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-op... 3.3 MiB 624K/s 00:05 [#####################] 100%
|
||||
mingw-w64-x86_64-te... 12.6 KiB 76.7K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-re... 327.4 KiB 277K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-tc... 2.9 MiB 699K/s 00:04 [#####################] 100%
|
||||
mingw-w64-x86_64-tk... 1869.2 KiB 703K/s 00:03 [#####################] 100%
|
||||
mingw-w64-x86_64-py... 10.9 MiB 699K/s 00:16 [#####################] 100%
|
||||
mingw-w64-x86_64-bi... 12.7 MiB 688K/s 00:19 [#####################] 100%
|
||||
mingw-w64-x86_64-he... 5.0 MiB 645K/s 00:08 [#####################] 100%
|
||||
mingw-w64-x86_64-cr... 2.6 MiB 701K/s 00:04 [#####################] 100%
|
||||
mingw-w64-x86_64-is... 524.3 KiB 684K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-mp... 265.2 KiB 705K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-mp... 62.3 KiB 82.9K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-wi... 1484.0 B 0.00B/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-wi... 33.2 KiB 346K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-gc... 25.1 MiB 701K/s 00:37 [#####################] 100%
|
||||
python-3.4.3-3-x86_64 12.1 MiB 700K/s 00:18 [#####################] 100%
|
||||
bison-3.0.4-1-x86_64 1045.1 KiB 703K/s 00:01 [#####################] 100%
|
||||
heimdal-1.5.3-8-x86_64 543.7 KiB 703K/s 00:01 [#####################] 100%
|
||||
cvs-1.11.23-2-x86_64 508.2 KiB 388K/s 00:01 [#####################] 100%
|
||||
diffutils-3.3-3-x86_64 265.7 KiB 478K/s 00:01 [#####################] 100%
|
||||
expat-2.1.0-2-x86_64 13.1 KiB 817K/s 00:00 [#####################] 100%
|
||||
vim-7.4.1468-1-x86_64 6.1 MiB 700K/s 00:09 [#####################] 100%
|
||||
openssh-7.1p2-1-x86_64 653.4 KiB 703K/s 00:01 [#####################] 100%
|
||||
db-5.3.28-2-x86_64 41.7 KiB 719K/s 00:00 [#####################] 100%
|
||||
libgdbm-1.11-3-x86_64 20.4 KiB 754K/s 00:00 [#####################] 100%
|
||||
gdbm-1.11-3-x86_64 108.5 KiB 704K/s 00:00 [#####################] 100%
|
||||
perl-5.22.0-2-x86_64 12.4 MiB 702K/s 00:18 [#####################] 100%
|
||||
perl-Error-0.17024-... 17.1 KiB 742K/s 00:00 [#####################] 100%
|
||||
perl-Authen-SASL-2.... 42.4 KiB 731K/s 00:00 [#####################] 100%
|
||||
perl-Encode-Locale-... 9.7 KiB 745K/s 00:00 [#####################] 100%
|
||||
perl-HTTP-Date-6.02... 8.6 KiB 784K/s 00:00 [#####################] 100%
|
||||
perl-File-Listing-6... 7.7 KiB 769K/s 00:00 [#####################] 100%
|
||||
perl-HTML-Tagset-3.... 10.3 KiB 732K/s 00:00 [#####################] 100%
|
||||
perl-HTML-Parser-3.... 76.9 KiB 516K/s 00:00 [#####################] 100%
|
||||
perl-LWP-MediaTypes... 18.0 KiB 752K/s 00:00 [#####################] 100%
|
||||
perl-URI-1.68-1-any 75.6 KiB 609K/s 00:00 [#####################] 100%
|
||||
perl-HTTP-Message-6... 71.3 KiB 625K/s 00:00 [#####################] 100%
|
||||
perl-HTTP-Cookies-6... 20.4 KiB 499K/s 00:00 [#####################] 100%
|
||||
perl-HTTP-Daemon-6.... 14.2 KiB 749K/s 00:00 [#####################] 100%
|
||||
perl-HTTP-Negotiate... 11.4 KiB 817K/s 00:00 [#####################] 100%
|
||||
perl-Net-HTTP-6.09-... 19.8 KiB 732K/s 00:00 [#####################] 100%
|
||||
perl-WWW-RobotRules... 12.2 KiB 766K/s 00:00 [#####################] 100%
|
||||
perl-libwww-6.13-1-any 122.2 KiB 661K/s 00:00 [#####################] 100%
|
||||
perl-TimeDate-2.30-... 35.9 KiB 718K/s 00:00 [#####################] 100%
|
||||
perl-MailTools-2.14... 58.4 KiB 712K/s 00:00 [#####################] 100%
|
||||
perl-IO-stringy-2.1... 52.6 KiB 721K/s 00:00 [#####################] 100%
|
||||
perl-Convert-BinHex... 30.1 KiB 733K/s 00:00 [#####################] 100%
|
||||
perl-MIME-tools-5.5... 180.4 KiB 705K/s 00:00 [#####################] 100%
|
||||
perl-Net-SSLeay-1.7... 191.2 KiB 708K/s 00:00 [#####################] 100%
|
||||
perl-IO-Socket-SSL-... 112.5 KiB 703K/s 00:00 [#####################] 100%
|
||||
perl-Net-SMTP-SSL-1... 3.5 KiB 881K/s 00:00 [#####################] 100%
|
||||
perl-TermReadKey-2.... 20.9 KiB 745K/s 00:00 [#####################] 100%
|
||||
git-2.7.2-1-x86_64 3.6 MiB 702K/s 00:05 [#####################] 100%
|
||||
make-4.1-4-x86_64 387.0 KiB 671K/s 00:01 [#####################] 100%
|
||||
patch-2.7.5-1-x86_64 75.9 KiB 684K/s 00:00 [#####################] 100%
|
||||
tar-1.28-3-x86_64 671.9 KiB 379K/s 00:02 [#####################] 100%
|
||||
texinfo-6.0-1-x86_64 992.7 KiB 625K/s 00:02 [#####################] 100%
|
||||
unzip-6.0-2-x86_64 93.1 KiB 705K/s 00:00 [#####################] 100%
|
||||
(74/74) checking keys in keyring [#####################] 100%
|
||||
(74/74) checking package integrity [#####################] 100%
|
||||
(74/74) loading package files [#####################] 100%
|
||||
(74/74) checking for file conflicts [#####################] 100%
|
||||
(74/74) checking available disk space [#####################] 100%
|
||||
:: Processing package changes...
|
||||
( 1/74) installing python [#####################] 100%
|
||||
( 2/74) installing mingw-w64-x86_64-gmp [#####################] 100%
|
||||
( 3/74) installing mingw-w64-x86_64-libwinpthr... [#####################] 100%
|
||||
( 4/74) installing mingw-w64-x86_64-gcc-libs [#####################] 100%
|
||||
( 5/74) installing mingw-w64-x86_64-expat [#####################] 100%
|
||||
( 6/74) installing mingw-w64-x86_64-bzip2 [#####################] 100%
|
||||
( 7/74) installing mingw-w64-x86_64-libiconv [#####################] 100%
|
||||
( 8/74) installing mingw-w64-x86_64-gettext [#####################] 100%
|
||||
( 9/74) installing mingw-w64-x86_64-gdbm [#####################] 100%
|
||||
(10/74) installing mingw-w64-x86_64-libffi [#####################] 100%
|
||||
(11/74) installing mingw-w64-x86_64-libtre-git [#####################] 100%
|
||||
(12/74) installing mingw-w64-x86_64-libsystre [#####################] 100%
|
||||
(13/74) installing mingw-w64-x86_64-ncurses [#####################] 100%
|
||||
(14/74) installing mingw-w64-x86_64-libtasn1 [#####################] 100%
|
||||
(15/74) installing mingw-w64-x86_64-p11-kit [#####################] 100%
|
||||
(16/74) installing mingw-w64-x86_64-ca-certifi... [#####################] 100%
|
||||
(17/74) installing mingw-w64-x86_64-zlib [#####################] 100%
|
||||
(18/74) installing mingw-w64-x86_64-openssl [#####################] 100%
|
||||
(19/74) installing mingw-w64-x86_64-termcap [#####################] 100%
|
||||
(20/74) installing mingw-w64-x86_64-readline [#####################] 100%
|
||||
(21/74) installing mingw-w64-x86_64-tcl [#####################] 100%
|
||||
(22/74) installing mingw-w64-x86_64-tk [#####################] 100%
|
||||
(23/74) installing mingw-w64-x86_64-python2 [#####################] 100%
|
||||
(24/74) installing mingw-w64-x86_64-binutils [#####################] 100%
|
||||
(25/74) installing mingw-w64-x86_64-headers-git [#####################] 100%
|
||||
(26/74) installing mingw-w64-x86_64-crt-git [#####################] 100%
|
||||
(27/74) installing mingw-w64-x86_64-isl [#####################] 100%
|
||||
(28/74) installing mingw-w64-x86_64-mpfr [#####################] 100%
|
||||
(29/74) installing mingw-w64-x86_64-mpc [#####################] 100%
|
||||
(30/74) installing mingw-w64-x86_64-windows-de... [#####################] 100%
|
||||
(31/74) installing mingw-w64-x86_64-winpthread... [#####################] 100%
|
||||
(32/74) installing mingw-w64-x86_64-gcc [#####################] 100%
|
||||
(33/74) installing bison [#####################] 100%
|
||||
(34/74) installing heimdal [#####################] 100%
|
||||
(35/74) installing cvs [#####################] 100%
|
||||
(36/74) installing diffutils [#####################] 100%
|
||||
(37/74) installing expat [#####################] 100%
|
||||
(38/74) installing vim [#####################] 100%
|
||||
(39/74) installing openssh [#####################] 100%
|
||||
(40/74) installing db [#####################] 100%
|
||||
(41/74) installing libgdbm [#####################] 100%
|
||||
(42/74) installing gdbm [#####################] 100%
|
||||
(43/74) installing perl [#####################] 100%
|
||||
(44/74) installing perl-Error [#####################] 100%
|
||||
(45/74) installing perl-Authen-SASL [#####################] 100%
|
||||
(46/74) installing perl-Encode-Locale [#####################] 100%
|
||||
(47/74) installing perl-HTTP-Date [#####################] 100%
|
||||
(48/74) installing perl-File-Listing [#####################] 100%
|
||||
(49/74) installing perl-HTML-Tagset [#####################] 100%
|
||||
(50/74) installing perl-HTML-Parser [#####################] 100%
|
||||
(51/74) installing perl-LWP-MediaTypes [#####################] 100%
|
||||
(52/74) installing perl-URI [#####################] 100%
|
||||
(53/74) installing perl-HTTP-Message [#####################] 100%
|
||||
(54/74) installing perl-HTTP-Cookies [#####################] 100%
|
||||
(55/74) installing perl-HTTP-Daemon [#####################] 100%
|
||||
(56/74) installing perl-HTTP-Negotiate [#####################] 100%
|
||||
(57/74) installing perl-Net-HTTP [#####################] 100%
|
||||
(58/74) installing perl-WWW-RobotRules [#####################] 100%
|
||||
(59/74) installing perl-libwww [#####################] 100%
|
||||
Optional dependencies for perl-libwww
|
||||
perl-LWP-Protocol-HTTPS: for https:// url schemes
|
||||
(60/74) installing perl-TimeDate [#####################] 100%
|
||||
(61/74) installing perl-MailTools [#####################] 100%
|
||||
(62/74) installing perl-IO-stringy [#####################] 100%
|
||||
(63/74) installing perl-Convert-BinHex [#####################] 100%
|
||||
module test... pass.
|
||||
(64/74) installing perl-MIME-tools [#####################] 100%
|
||||
(65/74) installing perl-Net-SSLeay [#####################] 100%
|
||||
(66/74) installing perl-IO-Socket-SSL [#####################] 100%
|
||||
(67/74) installing perl-Net-SMTP-SSL [#####################] 100%
|
||||
(68/74) installing perl-TermReadKey [#####################] 100%
|
||||
(69/74) installing git [#####################] 100%
|
||||
Optional dependencies for git
|
||||
python2: various helper scripts
|
||||
subversion: git svn
|
||||
(70/74) installing make [#####################] 100%
|
||||
(71/74) installing patch [#####################] 100%
|
||||
Optional dependencies for patch
|
||||
ed: for patch -e functionality
|
||||
(72/74) installing tar [#####################] 100%
|
||||
(73/74) installing texinfo [#####################] 100%
|
||||
(74/74) installing unzip [#####################] 100%
|
||||
|
@ -4,7 +4,7 @@
|
||||
.. _development-version:
|
||||
|
||||
Development Version
|
||||
-------------------
|
||||
===================
|
||||
.. index:: Git
|
||||
|
||||
RTEMS provides open access to it's development processes. The project encouages
|
||||
@ -12,18 +12,13 @@ all users to inspect, review, comment and contribute to the code base. The
|
||||
processes described here are the same processes the core development team use
|
||||
when developing and maintaining RTEMS.
|
||||
|
||||
Please read :ref:`development-hosts` before continuing.
|
||||
|
||||
.. warning::
|
||||
|
||||
The development version is not for use in production and it can break from
|
||||
time to time.
|
||||
|
||||
.. sidebar:: *GDB and Python*
|
||||
|
||||
RTEMS uses Python in GDB to aid debugging which means GDB needs to be built
|
||||
with Python development libraries. Please check the RSB documentation and
|
||||
install the packages specified for your host. Make sure a python development
|
||||
package is included.
|
||||
|
||||
The following procedure assumes you have installed and configured your host
|
||||
operating. It also assumes you have installed any dependent packages needed
|
||||
when building the tools and the kernel.
|
||||
@ -50,7 +45,7 @@ versions available to test with.
|
||||
This procedure will build a SPARC tool chain.
|
||||
|
||||
RTEMS Tools Chain
|
||||
~~~~~~~~~~~~~~~~~
|
||||
-----------------
|
||||
|
||||
Clone the RTEMS Source Builder (RSB) repository:
|
||||
|
||||
@ -205,7 +200,7 @@ is `4.12` and is on master:
|
||||
Build Set: Time 0:31:09.754219
|
||||
|
||||
RTEMS Kernel
|
||||
~~~~~~~~~~~~
|
||||
------------
|
||||
|
||||
We need to set our path to include the RTEMS tools we built in the previous
|
||||
section. The RTEMS tools needs to be first in your path because RTEMS provides
|
||||
@ -516,7 +511,7 @@ RTEMS with the following command:
|
||||
make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32'
|
||||
|
||||
Contributing Patches
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
--------------------
|
||||
|
||||
RTEMS welcomes fixes to bugs and new features. The RTEMS Project likes to have
|
||||
bugs fixed against a ticket created on our :r:url:`devel`. Please raise a
|
||||
|
@ -10,5 +10,9 @@ have access to all the source code and this `Getting Started`_ section will show
|
||||
you how you build the RTEMS compiler tools, kernel and 3rd party libraries from
|
||||
source.
|
||||
|
||||
.. include:: basics.rst
|
||||
.. include:: depend.rst
|
||||
.. include:: installation.rst
|
||||
.. include:: releases.rst
|
||||
.. include:: development.rst
|
||||
.. include:: windows.rst
|
||||
|
@ -23,8 +23,3 @@ The RTEMS core development team uses POSIX type operating systems, that is
|
||||
Unix. The :ref:`released-version` and :ref:`development-version` sections
|
||||
assume Unix. Microsoft Windows is documented in a separate section
|
||||
:ref:`microsoft-windows-installation`.
|
||||
|
||||
.. comments: Include the various installation parts.
|
||||
.. include:: releases.rst
|
||||
.. include:: development.rst
|
||||
.. include:: windows.rst
|
||||
|
@ -4,7 +4,7 @@
|
||||
.. _released-version:
|
||||
|
||||
Released Version
|
||||
----------------
|
||||
================
|
||||
.. index:: tarball
|
||||
.. index:: release
|
||||
|
||||
@ -12,12 +12,7 @@ RTEMS releases provide a stable version of the kernel for the supported
|
||||
architectures. RTEMS maintaines the current and previous releases. Support for
|
||||
older releases is provided using the RTEMS support channels.
|
||||
|
||||
.. sidebar:: *GDB and Python*
|
||||
|
||||
RTEMS uses Python in GDB to aid debugging which means GDB needs to be built
|
||||
with Python development libraries. Please check the RSB documentation and
|
||||
install the packages specified for your host. Make sure a python development
|
||||
package is included.
|
||||
Please read :ref:`development-hosts` before continuing.
|
||||
|
||||
The following procedure assumes you have installed and configured your host
|
||||
operating. It also assumes you have installed any dependent packages needed
|
||||
@ -49,7 +44,7 @@ RTEMS FTP the RSB will fall back to the packages home site.
|
||||
The RTEMS kernel is built by default for releases. To not build the RTEMS
|
||||
kernel add the ``--without-rtems`` option to the RSB command line.
|
||||
|
||||
By default all the BSPs for an architecture are build. If you only wish to
|
||||
By default all the BSPs for an architecture are built. If you only wish to
|
||||
have a specific BSP build you can specify the BSP list by providing to the
|
||||
RSB the option ``--with-rtemsbsp``. For example to build two BSPs for the
|
||||
SPARC architecture you can supply ``--with-rtemsbsp="erc32 sis"``.
|
||||
@ -57,7 +52,7 @@ RTEMS FTP the RSB will fall back to the packages home site.
|
||||
This procedure will build a SPARC tool chain.
|
||||
|
||||
RTEMS Tools Chain
|
||||
~~~~~~~~~~~~~~~~~
|
||||
-----------------
|
||||
|
||||
Set up a suitable workspace to build the release in. On Unix:
|
||||
|
||||
@ -93,14 +88,15 @@ Download the RTEMS Source Builder (RSB) from the RTEMS FTP server:
|
||||
|
||||
2016-03-21 10:50:11 (173 KB/s) - 'rtems-source-builder-4.11.0.tar.xz' saved [967056/967056]
|
||||
|
||||
Unpack the RSB release tar file. On Unix:
|
||||
On Unix unpack the RSB release tar file using:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
$ tar Jxf rtems-source-builder-4.11.0.tar.xz
|
||||
$ cd rtems-source-builder-4.11.0/rtems/
|
||||
|
||||
When building on Windowss you need to shorten the path:
|
||||
On Windows you need to shorten the path (See :ref:`windows-path-length`) after
|
||||
you have unpacked the tar file:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
@ -110,7 +106,9 @@ When building on Windowss you need to shorten the path:
|
||||
|
||||
Build a tool chain for the SPARC architecure. We are using the SPARC
|
||||
architecture in our example because GDB has a good simulator that lets us run
|
||||
and test the samples RTEMS builds by default:
|
||||
and test the samples RTEMS builds by default
|
||||
|
||||
If building on Windows add ``--jobs=none`` to avoid GNU make issues on Windows.
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
|
@ -10,356 +10,10 @@ Microsoft Windows
|
||||
This section details how you create an RTEMS development environment on
|
||||
Windows. The installation documented here is on `Windows 7 64bit Professional`.
|
||||
|
||||
Developing on Windows
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
Please see :ref:`microsoft-windows` before continuing.
|
||||
|
||||
RTEMS supports Windows as a development host and the tools for most
|
||||
architectures are available. The RTEMS Project relies on the GNU tools for
|
||||
compilers and debuggers and we use the simulators that come with GDB and
|
||||
QEMU. The Windows support for these tools varies and the RTEMS Project is
|
||||
committed to helping the open source community improve the Windows
|
||||
experience. If something is not working or supported please email the
|
||||
:r:list:`users`.
|
||||
|
||||
The RTEMS Project's Windows tools are native Windows executables giving the
|
||||
user the best possible experience on Windows. Native Windows programs use the
|
||||
standard Windows DLLs and paths. Integration with standard Windows integrated
|
||||
development tools such as editors is straight forward. POSIX emulation
|
||||
environments such as Cygwin and the MSYS2 shell have special executables that
|
||||
require a POSIX emulation DLL and these emulation DLLs add an extra layer of
|
||||
complexity as well as a performance over-head. The RTEMS Project uses these
|
||||
POSIX emulation shells to run configure scripts that come with various open
|
||||
source packages such as `gcc` so they form an important and valued part of the
|
||||
environment we describe here. The output of this procedure forms the tools you
|
||||
use during your application development and they do not depend the emulation
|
||||
DLLs.
|
||||
|
||||
The performance of the compiler is as good as you can have on Windows and the
|
||||
performance compiling a single file will be similar to that on a host like
|
||||
Linux or FreeBSD given the same hardware. Building the tools from source is
|
||||
much slower on Windows because POSIX shells and related tools are used and the
|
||||
POSIX emulation overhead it much much slower than a native POSIX operating
|
||||
system like Linux and FreeBSD. This overhead is only during the building of the
|
||||
tools and the RTEMS kernel and if you use a suitable build system that is
|
||||
native to Windows your application development should be similar to other
|
||||
operating systems.
|
||||
|
||||
Windows path length is limited and can cause problems when building the
|
||||
tools. The standard Windows API has a ``MAX_PATH`` length of 260
|
||||
characters. This can effect some of the tools used by RTEMS. It is recommended
|
||||
you keep the top level directories as short as possible when building the RTEMS
|
||||
tools and you also keep an eye on the path length when developing your
|
||||
application. The RTEMS built tools can handle much longer path lengths however
|
||||
some of the GNU tools such as those in the ``binutils`` package cannot. The
|
||||
release packages of the RSB are too big to build RTEMS so you need to change
|
||||
that path to build.
|
||||
|
||||
The MSYS2 GNU ``make`` has problems when using the `jobs` option. The RSB
|
||||
defaults to automatically using as many cores as the host machine has. To get a
|
||||
successful build on Windows it is recommended you add the ``--jobs=none``
|
||||
option to all RSB build set commands.
|
||||
|
||||
POSIX Support
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Building the RTEMS compilers, debugger, the RTEMS kernel and a number of other
|
||||
3rd party packages requires a POSIX environment. On Windows you can use Cygwin
|
||||
or MSYS2. This document focuses on MSYS2. It is smaller than Cygwin and comes
|
||||
with the Arch Linux package manager ``pacman``.
|
||||
|
||||
MSYS2 provides MinGW64 support as well as a POSIX shell called MSYS2. The
|
||||
MinGW64 compiler and related tools produce 64bit native Windows
|
||||
executables. The shell is a standard Bourne shell and the MSYS2 environment is
|
||||
a stripped Cygwin shell with enough support to run the various ``configure``
|
||||
scripts needed to build the RTEMS tools and the RTEMS kernel.
|
||||
|
||||
MSYS2 is built around the ``pacman`` packing tool. This makes MSYS2 a
|
||||
distribution and that is a welcome feature on Windows. You get a powerful tool
|
||||
to manage your development environment on Windows.
|
||||
|
||||
Python
|
||||
~~~~~~
|
||||
|
||||
We need Python to build the tools as the RSB is written in Python and we need
|
||||
suitable Python libraries to link to GDB as RTEMS makes use of GDB's Python
|
||||
support. This place specific demands on the Python we need installed and
|
||||
available and MSYS2 provides suitable Python versions we can use. You need to
|
||||
make sure you have the correct type and version of Python installed.
|
||||
|
||||
We cannot use the Python executables created by the Python project (python.org)
|
||||
as they are built by Microsoft's C (MSC) compiler. Linking the MSC Python
|
||||
libraries with the MinGW64 executables is not easy and MSYS provided us with a
|
||||
simple solution so we do not support this.
|
||||
|
||||
MSYS2 provides two types and versions of Python executables, MinGW and MSYS and
|
||||
Python version 2 and 3. For Windows we need the MinGW executable so we have
|
||||
suitables libraries and we have to have Python vrrsion 2 because on Windows GDB
|
||||
only builds with Python2.
|
||||
|
||||
You also need to install the MSYS version of Python along with the MinGW64
|
||||
Python2 package. The MSYS Python is version 3 and the RSB can support version 2
|
||||
and 3 of Python and it helps handle some of the long paths building GCC can
|
||||
generate.
|
||||
|
||||
Installing MSYS2
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
MSYS2 is installed on a new machine using the MSYS2 installer found on
|
||||
https://msys2.github.io/. Please select the ``x86_64`` variant for 64bit
|
||||
support. Run the installer followin the 7 steps listed on the page.
|
||||
|
||||
MSYS2 uses the ``pacman`` package manager. The Arch Linux project has detailed
|
||||
documentation on how to use ``pacman``. What is shown here is a just few
|
||||
examples of what you can do.
|
||||
|
||||
Open a 64bit MSYS shell from the Start Menu:
|
||||
|
||||
.. figure:: msys2-minw64-start-menu.png
|
||||
:width: 50%
|
||||
:align: center
|
||||
:alt: MSYS2 64bit Shell Start Menu
|
||||
|
||||
The packages we require are:
|
||||
|
||||
* python
|
||||
* mingw-w64-x86_64-python2
|
||||
* mingw-w64-x86_64-gcc
|
||||
* git
|
||||
* bison
|
||||
* cvs
|
||||
* diffutils
|
||||
* make
|
||||
* patch
|
||||
* tar
|
||||
* texinfo
|
||||
* unzip
|
||||
|
||||
.. note::
|
||||
|
||||
The actual output provided may vary due to changes in the dependent packages
|
||||
or newer package versions.
|
||||
|
||||
Install the packages using ``pacman``:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
~
|
||||
$ pacman -S python mingw-w64-x86_64-python2 mingw-w64-x86_64-gcc \
|
||||
> bison cvs diffutils git make patch tar texinfo unzip
|
||||
resolving dependencies...
|
||||
looking for conflicting packages...
|
||||
|
||||
Packages (74) db-5.3.28-2 expat-2.1.0-2 gdbm-1.11-3 heimdal-1.5.3-8
|
||||
libgdbm-1.11-3 mingw-w64-x86_64-binutils-2.26-21
|
||||
mingw-w64-x86_64-bzip2-1.0.6-5
|
||||
mingw-w64-x86_64-ca-certificates-20150426-2
|
||||
mingw-w64-x86_64-crt-git-5.0.0.4627.03684c4-1
|
||||
mingw-w64-x86_64-expat-2.1.0-6 mingw-w64-x86_64-gcc-libs-5.3.0-2
|
||||
mingw-w64-x86_64-gdbm-1.11-3 mingw-w64-x86_64-gettext-0.19.6-2
|
||||
mingw-w64-x86_64-gmp-6.1.0-1
|
||||
mingw-w64-x86_64-headers-git-5.0.0.4627.53be55d-1
|
||||
mingw-w64-x86_64-isl-0.15-1 mingw-w64-x86_64-libffi-3.2.1-3
|
||||
mingw-w64-x86_64-libiconv-1.14-5
|
||||
mingw-w64-x86_64-libsystre-1.0.1-2
|
||||
mingw-w64-x86_64-libtasn1-4.7-1
|
||||
mingw-w64-x86_64-libtre-git-r122.c2f5d13-4
|
||||
mingw-w64-x86_64-libwinpthread-git-5.0.0.4573.628fdbf-1
|
||||
mingw-w64-x86_64-mpc-1.0.3-2 mingw-w64-x86_64-mpfr-3.1.3.p0-2
|
||||
mingw-w64-x86_64-ncurses-6.0.20160220-2
|
||||
mingw-w64-x86_64-openssl-1.0.2.g-1
|
||||
mingw-w64-x86_64-p11-kit-0.23.1-3
|
||||
mingw-w64-x86_64-readline-6.3.008-1 mingw-w64-x86_64-tcl-8.6.5-1
|
||||
mingw-w64-x86_64-termcap-1.3.1-2 mingw-w64-x86_64-tk-8.6.5-1
|
||||
mingw-w64-x86_64-windows-default-manifest-6.4-2
|
||||
mingw-w64-x86_64-winpthreads-git-5.0.0.4573.628fdbf-1
|
||||
mingw-w64-x86_64-zlib-1.2.8-9 openssh-7.1p2-1 perl-5.22.0-2
|
||||
perl-Authen-SASL-2.16-2 perl-Convert-BinHex-1.123-2
|
||||
perl-Encode-Locale-1.04-1 perl-Error-0.17024-1
|
||||
perl-File-Listing-6.04-2 perl-HTML-Parser-3.71-3
|
||||
perl-HTML-Tagset-3.20-2 perl-HTTP-Cookies-6.01-2
|
||||
perl-HTTP-Daemon-6.01-2 perl-HTTP-Date-6.02-2
|
||||
perl-HTTP-Message-6.06-2 perl-HTTP-Negotiate-6.01-2
|
||||
perl-IO-Socket-SSL-2.016-1 perl-IO-stringy-2.111-1
|
||||
perl-LWP-MediaTypes-6.02-2 perl-MIME-tools-5.506-1
|
||||
perl-MailTools-2.14-1 perl-Net-HTTP-6.09-1
|
||||
perl-Net-SMTP-SSL-1.02-1 perl-Net-SSLeay-1.70-1
|
||||
perl-TermReadKey-2.33-1 perl-TimeDate-2.30-2 perl-URI-1.68-1
|
||||
perl-WWW-RobotRules-6.02-2 perl-libwww-6.13-1 vim-7.4.1468-1
|
||||
bison-3.0.4-1 cvs-1.11.23-2 diffutils-3.3-3 git-2.7.2-1
|
||||
make-4.1-4 mingw-w64-x86_64-gcc-5.3.0-2
|
||||
mingw-w64-x86_64-python2-2.7.11-4 patch-2.7.5-1 python-3.4.3-3
|
||||
tar-1.28-3 texinfo-6.0-1 unzip-6.0-2
|
||||
|
||||
Total Download Size: 114.10 MiB
|
||||
Total Installed Size: 689.61 MiB
|
||||
|
||||
:: Proceed with installation? [Y/n] y
|
||||
:: Retrieving packages...
|
||||
mingw-w64-x86_64-gm... 477.1 KiB 681K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-li... 24.2 KiB 755K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-gc... 541.9 KiB 705K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-ex... 106.7 KiB 702K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-bz... 77.9 KiB 666K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-li... 600.2 KiB 703K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-ge... 3.0 MiB 700K/s 00:04 [#####################] 100%
|
||||
mingw-w64-x86_64-gd... 151.8 KiB 483K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-li... 34.5 KiB 705K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-li... 69.2 KiB 713K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-li... 9.3 KiB 778K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-nc... 1800.5 KiB 701K/s 00:03 [#####################] 100%
|
||||
mingw-w64-x86_64-li... 171.4 KiB 708K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-p1... 193.5 KiB 709K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-ca... 382.1 KiB 705K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-zl... 148.6 KiB 704K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-op... 3.3 MiB 624K/s 00:05 [#####################] 100%
|
||||
mingw-w64-x86_64-te... 12.6 KiB 76.7K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-re... 327.4 KiB 277K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-tc... 2.9 MiB 699K/s 00:04 [#####################] 100%
|
||||
mingw-w64-x86_64-tk... 1869.2 KiB 703K/s 00:03 [#####################] 100%
|
||||
mingw-w64-x86_64-py... 10.9 MiB 699K/s 00:16 [#####################] 100%
|
||||
mingw-w64-x86_64-bi... 12.7 MiB 688K/s 00:19 [#####################] 100%
|
||||
mingw-w64-x86_64-he... 5.0 MiB 645K/s 00:08 [#####################] 100%
|
||||
mingw-w64-x86_64-cr... 2.6 MiB 701K/s 00:04 [#####################] 100%
|
||||
mingw-w64-x86_64-is... 524.3 KiB 684K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-mp... 265.2 KiB 705K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-mp... 62.3 KiB 82.9K/s 00:01 [#####################] 100%
|
||||
mingw-w64-x86_64-wi... 1484.0 B 0.00B/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-wi... 33.2 KiB 346K/s 00:00 [#####################] 100%
|
||||
mingw-w64-x86_64-gc... 25.1 MiB 701K/s 00:37 [#####################] 100%
|
||||
python-3.4.3-3-x86_64 12.1 MiB 700K/s 00:18 [#####################] 100%
|
||||
bison-3.0.4-1-x86_64 1045.1 KiB 703K/s 00:01 [#####################] 100%
|
||||
heimdal-1.5.3-8-x86_64 543.7 KiB 703K/s 00:01 [#####################] 100%
|
||||
cvs-1.11.23-2-x86_64 508.2 KiB 388K/s 00:01 [#####################] 100%
|
||||
diffutils-3.3-3-x86_64 265.7 KiB 478K/s 00:01 [#####################] 100%
|
||||
expat-2.1.0-2-x86_64 13.1 KiB 817K/s 00:00 [#####################] 100%
|
||||
vim-7.4.1468-1-x86_64 6.1 MiB 700K/s 00:09 [#####################] 100%
|
||||
openssh-7.1p2-1-x86_64 653.4 KiB 703K/s 00:01 [#####################] 100%
|
||||
db-5.3.28-2-x86_64 41.7 KiB 719K/s 00:00 [#####################] 100%
|
||||
libgdbm-1.11-3-x86_64 20.4 KiB 754K/s 00:00 [#####################] 100%
|
||||
gdbm-1.11-3-x86_64 108.5 KiB 704K/s 00:00 [#####################] 100%
|
||||
perl-5.22.0-2-x86_64 12.4 MiB 702K/s 00:18 [#####################] 100%
|
||||
perl-Error-0.17024-... 17.1 KiB 742K/s 00:00 [#####################] 100%
|
||||
perl-Authen-SASL-2.... 42.4 KiB 731K/s 00:00 [#####################] 100%
|
||||
perl-Encode-Locale-... 9.7 KiB 745K/s 00:00 [#####################] 100%
|
||||
perl-HTTP-Date-6.02... 8.6 KiB 784K/s 00:00 [#####################] 100%
|
||||
perl-File-Listing-6... 7.7 KiB 769K/s 00:00 [#####################] 100%
|
||||
perl-HTML-Tagset-3.... 10.3 KiB 732K/s 00:00 [#####################] 100%
|
||||
perl-HTML-Parser-3.... 76.9 KiB 516K/s 00:00 [#####################] 100%
|
||||
perl-LWP-MediaTypes... 18.0 KiB 752K/s 00:00 [#####################] 100%
|
||||
perl-URI-1.68-1-any 75.6 KiB 609K/s 00:00 [#####################] 100%
|
||||
perl-HTTP-Message-6... 71.3 KiB 625K/s 00:00 [#####################] 100%
|
||||
perl-HTTP-Cookies-6... 20.4 KiB 499K/s 00:00 [#####################] 100%
|
||||
perl-HTTP-Daemon-6.... 14.2 KiB 749K/s 00:00 [#####################] 100%
|
||||
perl-HTTP-Negotiate... 11.4 KiB 817K/s 00:00 [#####################] 100%
|
||||
perl-Net-HTTP-6.09-... 19.8 KiB 732K/s 00:00 [#####################] 100%
|
||||
perl-WWW-RobotRules... 12.2 KiB 766K/s 00:00 [#####################] 100%
|
||||
perl-libwww-6.13-1-any 122.2 KiB 661K/s 00:00 [#####################] 100%
|
||||
perl-TimeDate-2.30-... 35.9 KiB 718K/s 00:00 [#####################] 100%
|
||||
perl-MailTools-2.14... 58.4 KiB 712K/s 00:00 [#####################] 100%
|
||||
perl-IO-stringy-2.1... 52.6 KiB 721K/s 00:00 [#####################] 100%
|
||||
perl-Convert-BinHex... 30.1 KiB 733K/s 00:00 [#####################] 100%
|
||||
perl-MIME-tools-5.5... 180.4 KiB 705K/s 00:00 [#####################] 100%
|
||||
perl-Net-SSLeay-1.7... 191.2 KiB 708K/s 00:00 [#####################] 100%
|
||||
perl-IO-Socket-SSL-... 112.5 KiB 703K/s 00:00 [#####################] 100%
|
||||
perl-Net-SMTP-SSL-1... 3.5 KiB 881K/s 00:00 [#####################] 100%
|
||||
perl-TermReadKey-2.... 20.9 KiB 745K/s 00:00 [#####################] 100%
|
||||
git-2.7.2-1-x86_64 3.6 MiB 702K/s 00:05 [#####################] 100%
|
||||
make-4.1-4-x86_64 387.0 KiB 671K/s 00:01 [#####################] 100%
|
||||
patch-2.7.5-1-x86_64 75.9 KiB 684K/s 00:00 [#####################] 100%
|
||||
tar-1.28-3-x86_64 671.9 KiB 379K/s 00:02 [#####################] 100%
|
||||
texinfo-6.0-1-x86_64 992.7 KiB 625K/s 00:02 [#####################] 100%
|
||||
unzip-6.0-2-x86_64 93.1 KiB 705K/s 00:00 [#####################] 100%
|
||||
(74/74) checking keys in keyring [#####################] 100%
|
||||
(74/74) checking package integrity [#####################] 100%
|
||||
(74/74) loading package files [#####################] 100%
|
||||
(74/74) checking for file conflicts [#####################] 100%
|
||||
(74/74) checking available disk space [#####################] 100%
|
||||
:: Processing package changes...
|
||||
( 1/74) installing python [#####################] 100%
|
||||
( 2/74) installing mingw-w64-x86_64-gmp [#####################] 100%
|
||||
( 3/74) installing mingw-w64-x86_64-libwinpthr... [#####################] 100%
|
||||
( 4/74) installing mingw-w64-x86_64-gcc-libs [#####################] 100%
|
||||
( 5/74) installing mingw-w64-x86_64-expat [#####################] 100%
|
||||
( 6/74) installing mingw-w64-x86_64-bzip2 [#####################] 100%
|
||||
( 7/74) installing mingw-w64-x86_64-libiconv [#####################] 100%
|
||||
( 8/74) installing mingw-w64-x86_64-gettext [#####################] 100%
|
||||
( 9/74) installing mingw-w64-x86_64-gdbm [#####################] 100%
|
||||
(10/74) installing mingw-w64-x86_64-libffi [#####################] 100%
|
||||
(11/74) installing mingw-w64-x86_64-libtre-git [#####################] 100%
|
||||
(12/74) installing mingw-w64-x86_64-libsystre [#####################] 100%
|
||||
(13/74) installing mingw-w64-x86_64-ncurses [#####################] 100%
|
||||
(14/74) installing mingw-w64-x86_64-libtasn1 [#####################] 100%
|
||||
(15/74) installing mingw-w64-x86_64-p11-kit [#####################] 100%
|
||||
(16/74) installing mingw-w64-x86_64-ca-certifi... [#####################] 100%
|
||||
(17/74) installing mingw-w64-x86_64-zlib [#####################] 100%
|
||||
(18/74) installing mingw-w64-x86_64-openssl [#####################] 100%
|
||||
(19/74) installing mingw-w64-x86_64-termcap [#####################] 100%
|
||||
(20/74) installing mingw-w64-x86_64-readline [#####################] 100%
|
||||
(21/74) installing mingw-w64-x86_64-tcl [#####################] 100%
|
||||
(22/74) installing mingw-w64-x86_64-tk [#####################] 100%
|
||||
(23/74) installing mingw-w64-x86_64-python2 [#####################] 100%
|
||||
(24/74) installing mingw-w64-x86_64-binutils [#####################] 100%
|
||||
(25/74) installing mingw-w64-x86_64-headers-git [#####################] 100%
|
||||
(26/74) installing mingw-w64-x86_64-crt-git [#####################] 100%
|
||||
(27/74) installing mingw-w64-x86_64-isl [#####################] 100%
|
||||
(28/74) installing mingw-w64-x86_64-mpfr [#####################] 100%
|
||||
(29/74) installing mingw-w64-x86_64-mpc [#####################] 100%
|
||||
(30/74) installing mingw-w64-x86_64-windows-de... [#####################] 100%
|
||||
(31/74) installing mingw-w64-x86_64-winpthread... [#####################] 100%
|
||||
(32/74) installing mingw-w64-x86_64-gcc [#####################] 100%
|
||||
(33/74) installing bison [#####################] 100%
|
||||
(34/74) installing heimdal [#####################] 100%
|
||||
(35/74) installing cvs [#####################] 100%
|
||||
(36/74) installing diffutils [#####################] 100%
|
||||
(37/74) installing expat [#####################] 100%
|
||||
(38/74) installing vim [#####################] 100%
|
||||
(39/74) installing openssh [#####################] 100%
|
||||
(40/74) installing db [#####################] 100%
|
||||
(41/74) installing libgdbm [#####################] 100%
|
||||
(42/74) installing gdbm [#####################] 100%
|
||||
(43/74) installing perl [#####################] 100%
|
||||
(44/74) installing perl-Error [#####################] 100%
|
||||
(45/74) installing perl-Authen-SASL [#####################] 100%
|
||||
(46/74) installing perl-Encode-Locale [#####################] 100%
|
||||
(47/74) installing perl-HTTP-Date [#####################] 100%
|
||||
(48/74) installing perl-File-Listing [#####################] 100%
|
||||
(49/74) installing perl-HTML-Tagset [#####################] 100%
|
||||
(50/74) installing perl-HTML-Parser [#####################] 100%
|
||||
(51/74) installing perl-LWP-MediaTypes [#####################] 100%
|
||||
(52/74) installing perl-URI [#####################] 100%
|
||||
(53/74) installing perl-HTTP-Message [#####################] 100%
|
||||
(54/74) installing perl-HTTP-Cookies [#####################] 100%
|
||||
(55/74) installing perl-HTTP-Daemon [#####################] 100%
|
||||
(56/74) installing perl-HTTP-Negotiate [#####################] 100%
|
||||
(57/74) installing perl-Net-HTTP [#####################] 100%
|
||||
(58/74) installing perl-WWW-RobotRules [#####################] 100%
|
||||
(59/74) installing perl-libwww [#####################] 100%
|
||||
Optional dependencies for perl-libwww
|
||||
perl-LWP-Protocol-HTTPS: for https:// url schemes
|
||||
(60/74) installing perl-TimeDate [#####################] 100%
|
||||
(61/74) installing perl-MailTools [#####################] 100%
|
||||
(62/74) installing perl-IO-stringy [#####################] 100%
|
||||
(63/74) installing perl-Convert-BinHex [#####################] 100%
|
||||
module test... pass.
|
||||
(64/74) installing perl-MIME-tools [#####################] 100%
|
||||
(65/74) installing perl-Net-SSLeay [#####################] 100%
|
||||
(66/74) installing perl-IO-Socket-SSL [#####################] 100%
|
||||
(67/74) installing perl-Net-SMTP-SSL [#####################] 100%
|
||||
(68/74) installing perl-TermReadKey [#####################] 100%
|
||||
(69/74) installing git [#####################] 100%
|
||||
Optional dependencies for git
|
||||
python2: various helper scripts
|
||||
subversion: git svn
|
||||
(70/74) installing make [#####################] 100%
|
||||
(71/74) installing patch [#####################] 100%
|
||||
Optional dependencies for patch
|
||||
ed: for patch -e functionality
|
||||
(72/74) installing tar [#####################] 100%
|
||||
(73/74) installing texinfo [#####################] 100%
|
||||
(74/74) installing unzip [#####################] 100%
|
||||
|
||||
Building the Tools
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
RTEMS Tools
|
||||
~~~~~~~~~~~
|
||||
|
||||
Create a workspace for RTEMS using the following shell command:
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user