doc: Refactor the Quick Start Guide.

Restructured the guide to follow a basic three step process: Set up, develop,
build. All information that is independent of the OS selection was taken out of
of the OS related documents and placed in the general set up sections.

A new section, Developing Zephyr Applications, was added with links to all the
development relevant section of the documentation.

The content in local_development.rst was split between the setting_up.rst,
installation_linux.rst and installation_mac.rst files as appropriate.

This new structure provides a much better flow for developers beginning their
Zephyr develpment.

Applied all of Inaky's suggestions in the refactored content.

Minor markup fixes and language edits were also perfomed during the refactoring.

Fixed a cross-reference that was broken during the refactor.

Applied all the feedback from the first trial run.

Applied the feedback provided by David Kinder from TCS.

Change-Id: I3368a3a41ec9ad02cc4e7b37fe71c65abd8a7df9
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
This commit is contained in:
Rodrigo Caballero 2016-01-28 10:59:49 -06:00 committed by Anas Nashif
commit 4f976c20d7
14 changed files with 527 additions and 404 deletions

View file

@ -0,0 +1,191 @@
.. _installation_linux:
Development Environment Setup on Linux
######################################
This section describes how to set up a Linux development system.
After completing these steps, you will be able to compile and run your Zephyr
applications on the following Linux distributions:
* Ubuntu 14.04 LTS 64 bit
* Fedora 22 64 bit
Where needed, alternative instructions are listed for Ubuntu and Fedora.
Installing the Host's Operating System
**************************************
Building the project's software components including the kernel has been
tested on Ubuntu and Fedora systems. Instructions for installing these OSes
are beyond the scope of this document.
Update Your Operating System
****************************
Before proceeding with the build, ensure your OS is up to date. On Ubuntu:
.. code-block:: console
$ sudo apt-get update
On Fedora:
.. code-block:: console
$ sudo dnf update
.. _linux_network_configuration:
Configuring Network and Proxies
*******************************
Building the kernel requires the command-line tools of git, ssh, wget,
curl. Verify that each service can be run as both user and root and that access
to the Internet and is not impeded by a firewall.
If your network requires proxy access through a proxy, please configure using
steps similar git, ssh and wget in accordance to your security policies.
.. _linux_required_software:
Installing Requirements and Dependencies
****************************************
Install the following with either apt-get or dnf.
.. note::
Minor version updates of the listed required packages might also
work.
.. attention::
Check your firewall and proxy configurations to ensure that Internet
access is available before attempting to install the required packages.
Install the required packages in a Ubuntu host system with:
.. code-block:: console
$ sudo apt-get install git make gcc gcc-multilib g++ libc6-dev-i386 \
g++-multilib
Install the required packages in a Fedora host system with:
.. code-block:: console
$ sudo dnf group install "Development Tools"
$ sudo dnf install git make gcc glib-devel.i686 glib2-devel.i686 \
glibc-static libstdc++-static glibc-devel.i686
.. important::
Ensure that at least the 32 bit versions of the packages are installed.
Ideally, both the 32 and 64 bit versions should be installed.
.. _environment_variables:
Setting the Project's Environment Variables
===========================================
#. Navigate to the main project directory:
.. code-block:: console
$ cd zephyr-project
#. Source the project environment file to set the project environtment
variables:
.. code-block:: console
$ source zephyr-env.sh
.. _zephyr_sdk:
Installing the Zephyr Software Development Kit
==============================================
Zephyr's :abbr:`SDK (Software Development Kit)` contains all necessary tools
and cross-compilers needed to build the kernel on all supported
architectures. Additionally, it includes host tools such as a custom QEMU and
a host compiler for building host tools if necessary. The SDK supports the
following architectures:
* :abbr:`IA-32 (Intel Architecture 32 bits)`
* :abbr:`ARM (Advanced RISC Machines)`
* :abbr:`ARC (Argonaut RISC Core)`
Follow these steps to install the SDK on your Linux host system.
#. Download the `SDK self-extractable binary`_.
.. hint::
Visit the `Zephyr SDK archive`_ to find a list with all the available versions.
.. code-block:: console
$ wget --user=USERNAME --ask-password \ https://zephyr-
project.intel.com/public/zephyr-internal/zephyr-sdk/zephyr-
sdk-0.7.2-i686-setup.run
#. Run the installation binary, type:
.. code-block:: console
$ chmod +x zephyr-sdk-0.7.2-i686-setup.run
$ sudo ./zephyr-sdk-0.7.2-i686-setup.run
.. note::
There is no need for `sudo` if the SDK is installed in the current
user's home directory.
#. Follow the installation instructions on the screen. The
toolchain's default installation location is :file:`/opt/zephyr-sdk/`.
.. code-block:: console
Verifying archive integrity... All good.
Uncompressing SDK for Zephyr 100%
Enter target directory for SDK (default: /opt/zephyr-sdk/):
#. Enter a new location or hit :kbd:`Return` to accept default.
.. code-block:: console
Installing SDK to /opt/zephyr-sdk/
Creating directory /opt/zephyr-sdk/
Success
[*] Installing x86 tools...
[*] Installing arm tools...
[*] Installing arc tools...
...
[*] Installing additional host tools...
Success installing SDK. SDK is ready to be used.
#. To use the Zephyr SDK, export the following environment variables and
use the target location where SDK was installed, type:
.. code-block:: console
$ export ZEPHYR_GCC_VARIANT=zephyr
$ export ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk
.. _SDK self-extractable binary:
https://zephyr-project.intel.com/public/zephyr-internal/zephyr-sdk/zephyr-
sdk-0.7.2-i686-setup.run
.. _Zephyr SDK archive:
https://zephyr-project.intel.com/public/zephyr-internal/zephyr-sdk/