source: rtems-docs/user/rsb/index.rst @ 89a33b3

5
Last change on this file since 89a33b3 was 89a33b3, checked in by Sebastian Huber <sebastian.huber@…>, on 01/11/19 at 12:54:10

user: Move deployment details to RSB chapter

  • Property mode set to 100644
File size: 3.8 KB
Line 
1.. SPDX-License-Identifier: CC-BY-SA-4.0
2
3.. Copyright (C) 2012, 2016 Chris Johns <chrisj@rtems.org>
4
5.. highlight:: shell
6
7.. _RSB:
8
9RTEMS Source Builder
10====================
11
12The RTEMS Source Builder or RSB is a tool to build packages from source. It is
13used by the RTEMS project to build it's compilers and OS. The RSB helps
14consolidate the details you need to build a package from source in a controlled
15and verifiable way. The tool is aimed at developers of software who use tool
16sets for embedded development. The RSB is not limited to building tools just
17for RTEMS, you can build bare metal development environments.
18
19Embedded development typically uses cross-compiling tool chains, debuggers, and
20debugging aids. Together we call these a **tool set**. The RTEMS Source Builder
21is designed to fit this specific niche but is not limited to it. The RSB can be
22used outside of the RTEMS project and we welcome this.
23
24The RTEMS Source Builder is typically used to build a set of tools or a **build
25set**. A **build set** is a collection of packages and a package is a specific
26tool, for example gcc or gdb, or library. The RTEMS Source Builder attempts to
27support any host environment that runs Python and you can build the package
28on. The RSB is not some sort of magic that can take any piece of source code
29and make it build. Someone at some point in time has figured out how to build
30that package from source and taught this tool.
31
32The RTEMS Source Builder has been tested on:
33
34- ArchLinux
35- CentOS
36- Fedora
37- Raspbian
38- Ubuntu (includes XUbuntu)
39- Linux Mint
40- openSUSE
41- FreeBSD
42- NetBSD
43- MacOS
44- Windows
45
46.. topic:: Setting up your Host
47
48   :ref:`Hosts` details setting up hosts.
49
50The RTEMS Source Builder has two types of configuration data. The first is the
51*build set*. A *build set* describes a collection of packages that define a set
52of tools you would use when developing software for RTEMS. For example the
53basic GNU tool set is binutils, gcc, and gdb and is the typical base suite of
54tools you need for an embedded cross-development type project. The second type
55of configuration data is the configuration files and they define how a package
56is built. Configuration files are scripts loosely based on the RPM spec file
57format and they detail the steps needed to build a package. The steps are
58*preparation*, *building*, and *installing*. Scripts support macros, shell
59expansion, logic, includes plus many more features useful when build packages.
60
61The RTEMS Source Builder does not interact with any host package management
62systems. There is no automatic dependence checking between various packages you
63build or packages and software your host system you may have installed. We
64assume the build sets and configuration files you are using have been created
65by developers who do. Support is provided for package config or ``pkgconfg``
66type files so you can check and use standard libraries if present. If you have
67a problem please ask on our :r:list:`devel`.
68
69.. comment: TBD: The section "Installing and Tar Files" does not exist.
70
71This documentation caters for a range of users from new to experienced RTEMS
72developers who want to understand the RTEMS Source Builder. New users
73who just want to build tools should follow the Quick Start section in
74the User's Guide.  Users building a binary tool set for release can
75read the "Installing and Tar Files". Users wanting to run and test
76bleeding edge tools or packages, or wanting update or extend the RSB's
77configuration can read the remaining sections.
78
79.. topic:: Bug Reporting
80
81   If you think you have found a problem please see :ref:`Bugs, Crashes, and
82   Build Failures`.
83
84.. toctree::
85    :maxdepth: 5
86    :numbered:
87
88    why-build-from-source.rst
89    project-sets
90    cross-canadian-cross
91    third-party-packages
92    configuration
93    commands
94    deployment
95    bug-reporting
96    history
Note: See TracBrowser for help on using the repository browser.