Adapt installation guide with current requirements

- Update naming where it makes sense
- Fix a few spelling and phrasing issues

Change-Id: If08a7c77a35624adfdaafc276850b6d896356441
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Dan Kalowsky 2015-06-09 16:39:49 -07:00 committed by Anas Nashif
parent e2ae670982
commit 1e4624ea23
11 changed files with 82 additions and 332 deletions

View file

@ -8,20 +8,20 @@ Welcome to |codename|
More information at `<http://sphinx-doc.org/rest.html>`_.
This is a comment that won't show up in formatted output
Welcome to |project|.
Welcome to the |project|.
Thank you for your interest in |project|. Read the instructions
carefully to generate the |project|'s documentation.
Thank you for your interest in the |project|. These instructions are
designed to walk you through generating the |project|'s documentation.
Documentation Notes
*******************
The documentation of |project| currently comprises the following items:
The project's documentation currently comprises the following items:
* An Installation Guide for Linux host systems
* A set of Collaboration Guidelines for the |project| project.
* A set of Collaboration Guidelines for the project.
* Raw Doxygen output from the code base.
@ -54,7 +54,7 @@ Install the current version of :program:`Sphinx`, type:
Running the documentation generators
************************************
Assuming that the |project| tree with the doc patches is in
Assuming that the |project| tree with the doc directory is in
:file:`DIRECTORY`, type:
.. code-block:: bash

View file

@ -1,8 +1,8 @@
Collaboration Guidelines
########################
Thank you for your interest in collaborating with the Tiny Mountain
project. These guidelines provide you an overview of the best ways to
Thank you for your interest in collaborating with the Zephyr Project. These
guidelines provide you an overview of the best ways to
collaborate with the rest of the team. Read them carefully before
submitting any work for review.
@ -14,4 +14,4 @@ submitting any work for review.
collaboration_patches
collaboration_gerrit
collaboration_coding
collaboration_maintainers
collaboration_maintainers

View file

@ -4,14 +4,14 @@ Submitting a Patch Via Gerrit
#############################
Follow this instructions to collaborate on the |project| project using
Follow these instructions to collaborate on the |project| using
the infrastructure within Intels Open Source site, 01.org_. First, let
us answer a couple of common questions regarding the use of Gerrit
within |project|.
within the |project|.
#. Who has access to the Gerrit infrastructure?
Intel, WindRiver and other partners who have agreed to collaborate
Intel, WindRiver, and other partners who have agreed to collaborate
in this project.
#. How long will this infrastructure be used?
@ -107,8 +107,8 @@ type:
The output is the contents of :file:`~/.id/id_rsa.pub`.
Paste it into the Add SSH key window in Gerrit.
.. warning:: Potential Security Risk
Do not copy your private key :file:`~/.ssh/id_rsa` Use the public
:file:`~/.id/id_rsa.pub` instead.
Do not copy your private key :file:`~/.ssh/id_rsa` Use only the public
:file:`~/.id/id_rsa.pub`.
Coding with Gerrit
@ -165,7 +165,7 @@ changes be pushed to a special branch. The name of this special branch
contains a reference to the final branch where the code should reside
once accepted.
For |project|, the special branch is called refs/for/master .
For the |project|, the special branch is called refs/for/master .
1. Push the current local development branch to the gerrit server, type:
@ -378,7 +378,7 @@ highlighted to add comments to that section.
Shows a comment saved as a draft.
8. Once you are done commenting all the files of the patch, click the
8. Once reviewing all the files of the patch is complete, click the
green up arrow at the top right to return to the main patch page. Click
the reply button, write some final comments and submit your score for
the patch set. Click post to submit the review of each reviewed file as
@ -392,4 +392,4 @@ the post button is clicked.
:alt: Submitting the Final Comment and Review
Shows the dialog box for submitting the final comment and the review
score of a patch.
score of a patch.

View file

@ -11,7 +11,7 @@ New to Open Source?
Welcome to open source software development. Whether you are an
experienced developer within a corporate environment, a beginner trying
out something new or someone in between, we thank you for your interest
in the development of Tiny Mountain.
in the development of the |project|.
Before you begin we suggest you read the `Patch Philosophy`_.
@ -74,4 +74,4 @@ coding and contribution guidelines of the project found in
`Patch Requirements`_.
If you are submitting a patch that has someone else's Signed-off-by make
sure that you include that person as a Reviewer in Gerrit.
sure that you include that person as a Reviewer in Gerrit.

View file

@ -3,12 +3,11 @@
Installation Guide
##################
Thank you for your interest in Tiny Mountain. The installation guide
includes all the information you need to install Tiny Mountain on your
host system. Follow the steps appropriate for your host system's
operating system.
The installation guide includes all the information you need
to install the Zephyr development environment on your host system.
Follow the steps appropriate for your host system's operating system.
.. toctree::
:maxdepth: 2
installation_linux
installation_linux

View file

@ -1,8 +1,8 @@
Tiny Mountain Linux Installation Guide
Linux Installation Guide
######################################
Currently, Tiny Mountain supports Linux host systems. The installation
guide was tested by compiling and testing Tiny Mountain on the Ubuntu
Currently, the |project| supports Linux host systems only. The installation
guide was tested by compiling and testing Zephyr on Ubuntu
14.04 LTS 64 bit distribution.
.. toctree::
@ -10,4 +10,4 @@ guide was tested by compiling and testing Tiny Mountain on the Ubuntu
installation_linux_introduction.rst
installation_linux_requirements.rst
installation_linux_steps.rst
installation_linux_steps.rst

View file

@ -1,28 +1,7 @@
Introduction
General Information
############
Thank you for choosing Tiny Mountain. This release represents a snapshot
during the process of creating an open source project. Please work
closely with the project team to understand future direction and the
current implementation.
Tiny Mountain provides operating system capabilities targeted at very
small hardware configurations, while still offering a rich feature set
including cooperative multitasking and inter-task communication. Tiny
Mountain consists of both a nanokernel, for extremely memory-limited
devices, and a microkernel, for slightly larger devices. By definition,
all nanokernel capabilities are also available to a microkernel
configuration. Below you will see instructions for how to build and run
a Hello World program in the nanokernel.
General Information
*******************
These installation procedures were tested on a Linux host running Ubuntu
14.04 LTS 64 bit.
Only use these procedures to create a new Tiny Mountain development
Only use these procedures to create a new |project| development
environment. Do not use them to update an existing environment. They do
not account for file hierarchy changes that may occur from release to
release.
@ -30,36 +9,39 @@ release.
Perform the steps in the installation procedures in the order they
appear.
Building Tiny Mountain from Scratch
===================================
Building Zephyr Applications from Scratch
==========================================
This task list shows the steps required to build a Tiny Mountain example
This task list shows the steps required to build a sample application
starting with a clean system.
#. Installing an operating system.
#. Configuring network and proxies.
#. Updating all the packages of your operating system.
#. Installing all general development requirements.
#. Cloning the Tiny Mountain repository.
#. Cloning the repository.
#. Installing the appropriate toolchain.
#. Creating the needed build tools.
#. Building a Tiny Mountain example.
#. Building an example.
Installing the Operating System
-------------------------------
The steps needed for installing the operating system of the host system
are beyond the scope of this document. Please refer to the
documentation of your operating system of choice.
documentation of your operating system of choice. We recommend the use of
Ubuntu or Fedora.
Configuring Network and Proxies
-------------------------------
The installation of Tiny Mountain requires the use of git, ssh, wget,
curl, and apt-get. The process for configuring a development system to
access through a firewall is beyond the scope of this document.
The installation process requires the use of git, ssh, wget,
curl, and apt-get. The installation and configuration of these services for
a development system is beyond the scope of this document. Once installed,
verify that each service can access the Internet and is not impeded by a
firewall.
Before you continue ensure that your development system can use the
Before you continue, ensure that your development system can use the
above commands in both User and root configurations. Please refer to
the documentation of your operating system of choice.
@ -77,4 +59,4 @@ In Fedora enter:
.. code-block:: bash
$ sudo yum update
$ sudo yum update

View file

@ -1,12 +1,12 @@
Linux Installation Steps
########################
Follow the required steps to install the the Tiny Mountain operating
system. Follow the optional steps to install additional software that
might be useful in your development.
Follow the required steps to install a Zephyr development environment.
Follow the optional steps to install additional software that might
be useful in your development.
.. toctree::
:maxdepth: 2
installation_linux_steps_required.rst
installation_linux_steps_optional.rst
installation_linux_steps_optional.rst

View file

@ -5,235 +5,6 @@ The following installation procedures are optional. At the beginning of
each procedure you will find under what conditions the procedure has to
be followed.
Packages Required for Building Crosstool-NG
****************************************************************
Your host system must have the following packages for crosstool-NG:
.. code-block:: bash
$ sudo apt-get install gperf gawk bison flex texinfo libtool \
automake ncurses- devexpat libexpat1-dev libexpat1 python-dev
Install libtool-bin for Debian systems, type:
.. code-block:: bash
$ sudo apt-get install libtool-bin
Requirements for building ARC Toolchain
****************************************
Install the needed packages for building ARC in Ubuntu, type:
.. code-block:: bash
$ sudo apt-get install texinfo byacc flex libncurses5-dev \
zlib1g-dev libexpat1-dev libx11-dev texlive build-essential
Install the needed packages for building ARC in Fedora, type:
.. code-block:: bash
$ sudo yum groupinstall "Development Tools"
$ sudo yum install texinfo-tex byacc flex ncurses-devel \
zlib-devel expat-devel libX11-devel git
Optional Packages for building Crosstool-NG
********************************************
The following packages are optional since the first crosstool-NG
build downloads them if they are not installed.
Install the optional packages on your host system manually, type:
.. code-block:: bash
$ sudo apt-get install gmp mpfr isl cloog mpc binutils
Installing the Crosstool-NG Toolchain (Optional)
************************************************
If you have installed the Tiny Mountain SDK provided by Yocto, you can
skip these steps.
#. Use the curl command to install the crosstool next generation
toolchain. Type:
.. code-block:: bash
$ curl -O http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.20.0.tar.bz2
#. Extract the toolchain by typing the following commands in the
console:
.. code-block:: bash
$ tar xjf crosstool-ng-1.20.0.tar.bz2
#. Move to the crosstool folder:
.. code-block:: bash
$ cd crosstool-ng-1.20.0
#. Specify the location where to install the crosstool-ng using
configure. Note that the prefix path must be absolute.
.. code-block:: bash
$ ./configure
$ make
#. Install the toolchain by typing the following commands in the
console:
.. code-block:: bash
$ sudo make install
$ sudo cp ct-ng.comp /etc/bash_completion.d/
#. Create the installation directory for the tool by typing the
following commands in the console:
.. code-block:: bash
$ sudo mkdir /opt/crosstool-ng
$ sudo chown $USER:/opt/crosstool-ng
.. note::
The preconfigured path can be changed via ct-ng menuconfig.
Changing the path may result in the rest of the instructions not
working.
Create the Needed Build Tools
=============================
#. Create the directories for the builds x86 and ARM. Type:
.. code-block:: bash
$ mkdir ${HOME}/x86-build
$ mkdir ${HOME}/arm-build
$ mkdir ${HOME}/cross-src
#. Return to the parent directory. Type:
.. code-block:: bash
$ cd $ZEPHYR_BASE
#. Copy the toolchain configurations to the build directories by
typing the following commands in the console:
.. code-block:: bash
$ cp scripts/cross_compiler/x86.config ${HOME}/x86-build/.config
$ cp scripts/cross_compiler/arm.config ${HOME}/arm-build/.config
#. Build and install the toolchains by typing the following commands
in the console:
.. code-block:: bash
$ cd ${HOME}/x86-build
$ ct-ng build
$ cd ${HOME}/arm-build
$ ct-ng build
#. Add xtools to your shell, type:
.. code-block:: bash
$ export ZEPHYR_GCC_VARIANT=xtools
Alternatively you can add it to your :file:`~/.bashrc` file.
Adding in the ARC Toolchain
***************************
If you have installed the Tiny Mountain SDK provided by Yocto, you can
skip these steps.
Building the Toolchain Locally
==============================
Currently the documentation for building the toolchain locally is in the
process of being written, but the short version is found below (taken
liberally from the toolchain/README.mk)
#. Grab the compiler by running git clone:
.. code-block:: bash
$ git clone https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain
#. When this completes:
.. code-block:: bash
$ cd toolchain ; ./arc-clone-all.sh
#. This will copy all the ARC toolchains into your directory.
.. code-block:: bash
$ git checkout arc-releases ./build-all.sh --no-pdf --install-dir
/opt/arc --jobs <number of cores>
#. Add the new binary to your path:
.. code-block:: bash
$ export PATH=/opt/arc/bin:$PATH
Using a Pre-Built Binary
========================
Synopsys does provide a pre-built binary for use. Currently it supports
Ubuntu installs. When using this option, the Tiny Mountain project
cannot assist in debugging what might go wrong.
#. Download the pre-built binary, type:
.. code-block:: bash
$ curl -o https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2014.12/arc_gnu_2014.12_prebuilt_elf32_le_linux_install.tar.gz
#. Install the binary in /opt/arc, type:
.. code-block:: bash
$ tar xf arc-2014.12/arc_gnu_2014.12_prebuilt_elf32_le_linux_install. tar.gz -C /opt/arc/x-tools
$ cd /opt/arc/x-tools
.. warning::
The commands above are not verified.
#. Ensure that the pre-built toolchain is found automatically by
defs.gcc.x86-linux2.variant_xtools and gcc/arch/arc/defs.exec, type:
.. code-block:: bash
$ ln -s arc_gnu_2014.12_prebuilt_elf32_le_linux_install/ arc-elf32
Running on Additional Hardware
******************************
@ -242,8 +13,8 @@ Installing a Custom QEMU for ARM Platforms
If you require to test ARM builds, a localized patch to the QEMU source
is needed. The patch corrects the issues with the locking interfaces
QEMU uses. If you are working only with the x86 builds of Tiny
Mountain, install QEMU from your systems default package manager.
QEMU uses. If you are working only with the x86 builds of the Zephyr kernel,
install QEMU from your systems default package manager.
Follow these steps to enable a customized build of QEMU:
@ -368,12 +139,11 @@ Follow the directions in :ref:`RequiredSteps`
Building a Custom GRUB
----------------------
If you are having problems runing Tiny Mountain using the default GRUB
of the hardware, follow these steps to test Tiny Mountain on Galileo2
If you are having problems running an application using the default GRUB
of the hardware, follow these steps to test on Galileo2
boards using a custom GRUB.
#. Install the requirements to build Tiny Mountain for GRUB on host
machine.
#. Install the requirements to build GRUB on your host machine.
In Ubuntu, type:

View file

@ -3,30 +3,30 @@
Required Installation Steps
###########################
Install all required packages for a Tiny Mountain development
Install all required packages for a Zephyr development
environment.
Use the following procedures to build a Tiny Mountain example starting
Use the following procedures to build an example starting
with a clean system.
#. `Installing the Yocto Software Development Kit`_
#. `Installing the Tiny Mountain Software`_
#. `Downloading the Code`_
#. `Building a Tiny Mountain Example`_
#. `Building an Example`_
#. `Running Your Projects on QEMU`_
Installing the Yocto Software Development Kit
*********************************************
The Tiny Mountain :abbr:`Software Development Kit (SDK)` provided by
The |project| :abbr:`Software Development Kit (SDK)` provided by
Yocto contains all necessary tools and cross compilers needed to build
Tiny Mountain on all supported architectures. In addition it includes
host tools such as Qemu built with the needed patch to support Tiny
Mountain and a host compiler for building host tools if necessary. If
you use this SDK, there is no need to build any cross compilers or
emulation environments. The SDK supports the following architectures:
Zephyr kernels on all supported architectures. In addition it includes
host tools such as a custom QEMU and a host compiler for building host
tools if necessary. With this SDK, there is no need to build any cross
compilers or emulation environments. The SDK supports the following
architectures:
* :abbr:`IA-32 (Intel Architecture 32 bits)`
@ -89,13 +89,13 @@ Follow these steps to install the SDK on your host system.
$ export YOCTO_SDK_INSTALL_DIR=/opt/poky-tm/1.8
#. When you build Tiny Mountain now, the Yocto SDK will be used.
#. When you build the Yocto SDK will be used.
Installing the General Development Requirements
***********************************************
Install the required software for a Tiny Mountain environment. See:
Install the required software for a Zephyr development environment. See:
:ref:`Requirements` to learn what packages are needed.
If you are using Ubuntu, use:
@ -112,40 +112,39 @@ If you are using Fedora, use:
.. note:: For troubleshooting information, refer to the appropriate component's documentation.
Installing the Tiny Mountain Software
*************************************
Downloading the Code
********************
The current source is housed on Intels 01.org service. The process for
getting access is not detailed in this document, but can be found in
the document. Section 3 details the steps for checking out the code,
but can be summarized with the following steps:
The source is housed on Intel Corporations 01.org service. The process for
getting access is not detailed in this document. See the
:ref:`Accessing Gerrit`_ for more details. Section 3 details the steps for
checking out the code. A quick summary follows:
#. Ensure that SSH has been set up porperly. See :ref:`GerritSSH` for
details.
#. Ensure that SSH has been set up properly.
#. Clone the repository, type:
#. Clone the repository. Make sure to replace 01ORGUSERNAME with your
actual 01.org user name and type:
.. code-block:: bash
$ git clone ssh://01ORGUSERNAME@oic-review.01.org:29418/forto-collab`
#. Change to the Tiny Mountain directory, type:
#. Change to the main project directory, type:
.. code-block:: bash
$ cd forto-collab
#. Source the build environment to set the Tiny Mountain environment
variables, type:
#. Source the project environment file to setup project variables, type:
.. code-block:: bash
$ source zephyr-env.bash
Building a Tiny Mountain Example
================================
Building an Example
===================
To build a Tiny Mountain example follow these steps:
To build an example application follow these steps:
#. Go to the root directory of your foss-rtos checkout
@ -156,7 +155,7 @@ To build a Tiny Mountain example follow these steps:
$ source zephyr-env.bash
#. Build Tiny Mountain with the example project, type:
#. Build the example project, type:
.. code-block:: bash
@ -189,8 +188,8 @@ For sample projects in the :file:`$ZEPHYR_BASE/samples/nanokernel/apps`
directory, the results can be found at
:file:`$SAMPLE_PROJECT/outdir/nanokernel.{ bin | elf }`.
Running Your Projects on QEMU
*****************************
Running Projects on QEMU
************************
Using QEMU from a different path
================================

View file

@ -2,4 +2,4 @@
.. |PM| replace:: Hirally Rodriguez Santiago
.. |project| replace:: Tiny Mountain
.. |project| replace:: Zephyr Project