Changeset c098290 in rtems-docs
- Timestamp:
- 01/11/19 11:54:20 (5 years ago)
- Branches:
- 5, master
- Children:
- 89a33b3
- Parents:
- c4da705
- git-author:
- Sebastian Huber <sebastian.huber@…> (01/11/19 11:54:20)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (01/14/19 06:15:27)
- Location:
- user
- Files:
-
- 1 deleted
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
user/index.rst
rc4da705 rc098290 27 27 28 28 overview/index 29 ecosys/index30 31 29 start/index 32 30 hosts/index -
user/overview/index.rst
rc4da705 rc098290 1 1 .. SPDX-License-Identifier: CC-BY-SA-4.0 2 3 .. Copyright (C) 2016 Chris Johns <chrisj@rtems.org> 2 4 3 5 Introduction … … 182 184 183 185 - Support to stay in synchronization with FreeBSD 186 187 .. _ecosystem: 188 189 Ecosystem 190 ========= 191 .. index:: Ecosystem 192 193 The RTEMS Ecosystem is the collection of tools, packages, code, documentation 194 and online content provided by the RTEMS Project. The ecosystem provides a way 195 to develop, maintain, and use RTEMS. It's parts interact with the user, the 196 host environment, and each other to make RTEMS accessible, useable and 197 predicable. 198 199 The ecosystem is for users, developers and maintainers and it is an ongoing 200 effort that needs your help and support. The RTEMS project is always improving 201 the way it delivers the kernel to you and your feedback is important so please 202 join the mailing lists and contribute back comments, success stories, bugs and 203 patches. 204 205 What the RTEMS project describes here to develop, maintain and use RTEMS does 206 not dictate what you need to use in your project. You can and should select the 207 work-flow that best suites the demands of your project and what you are 208 delivering. 209 210 Rational 211 -------- 212 213 RTEMS is complex and the focus of the RTEMS Ecosystem is to simplify the 214 complexity for users by providing a stable documented way to build, configure 215 and run RTEMS. RTEMS is more than a kernel running real-time applications on 216 target hardware, it is part of a project's and therefore team's workflow and 217 every project and team is different. 218 219 RTEMS's ecosystem does not mandate a way to work. It is a series of parts, 220 components, and items that are used to create a suitable development 221 environment to work with. The processes explained in this manual are the same 222 things an RTEMS maintainer does to maintain the kernel or an experienced user 223 does to build their production system. It is important to keep this in mind 224 when working through this manual. We encourage users to explore what can be 225 done and to discover ways to make it fit their needs. The ecosystem provided by 226 the RTEMS Project will not install in a single click of a mouse because we want 227 users to learn the parts they will come to depend on as their project's 228 development matures. 229 230 The RTEMS Ecosystem provides a standard interface that is the same on all 231 supported host systems. Standardizing how a user interacts with RTEMS is 232 important and making that experience portable is also important. As a result 233 the ecosystem is documented at the command line level and we leave GUI and IDE 234 integration for users and integrators. 235 236 Standardizing the parts and how to use them lets users create processes and 237 procedures that are stable over releases. The RTEMS Ecosystem generates data 238 that can be used to audit the build process so their configuration can be 239 documented. 240 241 The ecosystem is based around the source code used in the various parts, 242 components and items of the RTEMS development environment. A user can create 243 an archive of the complete build process including all the source code for long 244 term storage. This is important for projects with a long life cycle. 245 246 Open Source 247 ----------- 248 249 RTEMS is an open source operating system and an open source project and this 250 extends to the ecosystem. We encourage users to integrate the processes to 251 build tools, the kernel and any 3rd party libraries into their project's 252 configuration management processes. 253 254 All the parts that make up the ecosystem are open source. The ecosystem uses a 255 package's source code to create an executable on a host so when an example 256 RTEMS executable is created and run for the first time the user will have built 257 every tool as well as the executable from source. The RTEMS Project believes 258 the freedom this gives a user is as important as the freedom of having access 259 to the source code for a package. 260 261 Deployment 262 ---------- 263 264 The RTEMS Project provides the ecosystem as source code that users can download 265 to create personalised development environments. The RTEMS Project does not 266 provide packaging and deployment for a specific host environment, target 267 architecture or BSP. The RTEMS Project encourages users and organizations to 268 fill this role for the community. 269 270 Building and Deploying Tool Binaries 271 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 273 If you wish to create and distribute your build or you want to archive a build 274 you can create a tar file. We term this deploying a build. This is a more 275 advanced method for binary packaging and installing of tools. 276 277 By default the RTEMS Source Builder installs the built packages directly and 278 optionally it can also create a *build set tar file* or a *package tar file* 279 per package built. The normal and default behaviour is to let the RTEMS Source 280 Builder install the tools. The source will be downloaded, built, installed and 281 cleaned up. 282 283 The tar files are created with the full build prefix present and if you follow 284 the examples given in this documentation the path is absolute. This can cause 285 problems if you are installing on a host you do not have super user or 286 administrator rights on because the prefix path may references part you do not 287 have write access too and tar will not extract the files. You can use the 288 ``--strip-components`` option in tar if your host tar application supports it 289 to remove the parts you do not have write access too or you may need to unpack 290 the tar file somewhere and copy the file tree from the level you have write 291 access from. Embedding the full prefix path in the tar files lets you know what 292 the prefix is and is recommended. For example if 293 ``/home/chris/development/rtems/4.11`` is the prefix used you cannot change 294 directory to the root (``/``) and untar the file because the ``/home`` is root 295 access only. To install a tar file you have downloaded into your new machine's 296 ``Downloads`` directory in your home directoty you would enter: 297 298 .. code-block:: shell 299 300 $ cd /somewhere 301 $ tar --strip-components=3 -xjf \ 302 $HOME/Downloads/rtems-4.11-sparc-rtems4.11-1.tar.bz2 303 304 A build set tar file is created by adding ``--bset-tar-file`` option to the 305 ``sb-set-builder`` command:: 306 307 $ ../source-builder/sb-set-builder --log=l-sparc.txt \ 308 --prefix=$HOME/development/rtems/4.11 \ 309 --bset-tar-file \ <1> 310 4.11/rtems-sparc 311 Source Builder - Set Builder, v0.2.0 312 Build Set: 4.11/rtems-sparc 313 config: expat-2.1.0-1.cfg 314 package: expat-2.1.0-x86_64-freebsd9.1-1 315 building: expat-2.1.0-x86_64-freebsd9.1-1 316 config: tools/rtems-binutils-2.22-1.cfg 317 package: sparc-rtems4.11-binutils-2.22-1 318 building: sparc-rtems4.11-binutils-2.22-1 319 config: tools/rtems-gcc-4.7.2-newlib-1.20.0-1.cfg 320 package: sparc-rtems4.11-gcc-4.7.2-newlib-1.20.0-1 321 building: sparc-rtems4.11-gcc-4.7.2-newlib-1.20.0-1 322 config: tools/rtems-gdb-7.5.1-1.cfg 323 package: sparc-rtems4.11-gdb-7.5.1-1 324 building: sparc-rtems4.11-gdb-7.5.1-1 325 installing: rtems-4.11-sparc-rtems4.11-1 -> /home/chris/development/rtems/4.11 <2> 326 installing: rtems-4.11-sparc-rtems4.11-1 -> /home/chris/development/rtems/4.11 327 installing: rtems-4.11-sparc-rtems4.11-1 -> /home/chris/development/rtems/4.11 328 installing: rtems-4.11-sparc-rtems4.11-1 -> /home/chris/development/rtems/4.11 329 tarball: tar/rtems-4.11-sparc-rtems4.11-1.tar.bz2 <3> 330 cleaning: expat-2.1.0-x86_64-freebsd9.1-1 331 cleaning: sparc-rtems4.11-binutils-2.22-1 332 cleaning: sparc-rtems4.11-gcc-4.7.2-newlib-1.20.0-1 333 cleaning: sparc-rtems4.11-gdb-7.5.1-1 334 Build Set: Time 0:15:25.92873 335 336 .. topic:: Items 337 338 1. The option to create a build set tar file. 339 340 2. The installation still happens unless you specify ``--no-install``. 341 342 3. Creating the build set tar file. 343 344 You can also suppress installing the files using the ``--no-install`` 345 option. This is useful if your prefix is not accessiable, for example when 346 building Canadian cross compiled tool sets:: 347 348 $ ../source-builder/sb-set-builder --log=l-sparc.txt \ 349 --prefix=$HOME/development/rtems/4.11 \ 350 --bset-tar-file \ 351 --no-install \ <1> 352 4.11/rtems-sparc 353 Source Builder - Set Builder, v0.2.0 354 Build Set: 4.11/rtems-sparc 355 config: expat-2.1.0-1.cfg 356 package: expat-2.1.0-x86_64-freebsd9.1-1 357 building: expat-2.1.0-x86_64-freebsd9.1-1 358 config: tools/rtems-binutils-2.22-1.cfg 359 package: sparc-rtems4.11-binutils-2.22-1 360 building: sparc-rtems4.11-binutils-2.22-1 361 config: tools/rtems-gcc-4.7.2-newlib-1.20.0-1.cfg 362 package: sparc-rtems4.11-gcc-4.7.2-newlib-1.20.0-1 363 building: sparc-rtems4.11-gcc-4.7.2-newlib-1.20.0-1 364 config: tools/rtems-gdb-7.5.1-1.cfg 365 package: sparc-rtems4.11-gdb-7.5.1-1 366 building: sparc-rtems4.11-gdb-7.5.1-1 367 tarball: tar/rtems-4.11-sparc-rtems4.11-1.tar.bz2 <2> 368 cleaning: expat-2.1.0-x86_64-freebsd9.1-1 369 cleaning: sparc-rtems4.11-binutils-2.22-1 370 cleaning: sparc-rtems4.11-gcc-4.7.2-newlib-1.20.0-1 371 cleaning: sparc-rtems4.11-gdb-7.5.1-1 372 Build Set: Time 0:14:11.721274 373 $ ls tar 374 rtems-4.11-sparc-rtems4.11-1.tar.bz2 375 376 .. topic:: Items 377 378 1. The option to supressing installing the packages. 379 380 2. Create the build set tar. 381 382 A package tar file can be created by adding the ``--pkg-tar-files`` to the 383 ``sb-set-builder`` command. This creates a tar file per package built in the 384 build set:: 385 386 $ ../source-builder/sb-set-builder --log=l-sparc.txt \ 387 --prefix=$HOME/development/rtems/4.11 \ 388 --bset-tar-file \ 389 --pkg-tar-files \ <1> 390 --no-install 4.11/rtems-sparc 391 Source Builder - Set Builder, v0.2.0 392 Build Set: 4.11/rtems-sparc 393 config: expat-2.1.0-1.cfg 394 package: expat-2.1.0-x86_64-freebsd9.1-1 395 building: expat-2.1.0-x86_64-freebsd9.1-1 396 config: tools/rtems-binutils-2.22-1.cfg 397 package: sparc-rtems4.11-binutils-2.22-1 398 building: sparc-rtems4.11-binutils-2.22-1 399 config: tools/rtems-gcc-4.7.2-newlib-1.20.0-1.cfg 400 package: sparc-rtems4.11-gcc-4.7.2-newlib-1.20.0-1 401 building: sparc-rtems4.11-gcc-4.7.2-newlib-1.20.0-1 402 config: tools/rtems-gdb-7.5.1-1.cfg 403 package: sparc-rtems4.11-gdb-7.5.1-1 404 building: sparc-rtems4.11-gdb-7.5.1-1 405 tarball: tar/rtems-4.11-sparc-rtems4.11-1.tar.bz2 406 cleaning: expat-2.1.0-x86_64-freebsd9.1-1 407 cleaning: sparc-rtems4.11-binutils-2.22-1 408 cleaning: sparc-rtems4.11-gcc-4.7.2-newlib-1.20.0-1 409 cleaning: sparc-rtems4.11-gdb-7.5.1-1 410 Build Set: Time 0:14:37.658460 411 $ ls tar 412 expat-2.1.0-x86_64-freebsd9.1-1.tar.bz2 sparc-rtems4.11-binutils-2.22-1.tar.bz2 413 sparc-rtems4.11-gdb-7.5.1-1.tar.bz2 <2> rtems-4.11-sparc-rtems4.11-1.tar.bz2 <3> 414 sparc-rtems4.11-gcc-4.7.2-newlib-1.20.0-1.tar.bz2 415 416 .. topic:: Items 417 418 1. The option to create packages tar files. 419 420 2. The GDB package tar file. 421 422 3. The build set tar file. All the others in a single tar file. 184 423 185 424 Support
Note: See TracChangeset
for help on using the changeset viewer.