You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ad...@apache.org on 2017/04/26 00:31:36 UTC

[3/7] incubator-mynewt-site git commit: Updates to installation on Linux and Mac, removal of references to develop branch on website

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/45c390ea/latest/mkdocs/search_index.json
----------------------------------------------------------------------
diff --git a/latest/mkdocs/search_index.json b/latest/mkdocs/search_index.json
index 0af8892..4de7a25 100644
--- a/latest/mkdocs/search_index.json
+++ b/latest/mkdocs/search_index.json
@@ -137,17 +137,17 @@
         }, 
         {
             "location": "/os/get_started/get_started/", 
-            "text": "Quick Start\n\n\nIf you are curious about Mynewt and want to get a quick feel for the project, you've come to the right place. We have two options for you:\n\n\n\n\nOption 1\n is an easy, self-contained way to get up and running with Mynewt - but has limitations! The Newt tool and build toolchains are all available in a single \nAll-in-one Docker Container\n that you can install on your laptop or computer.\n\n\nHowever, this is not a long-term option since support is not likely for all features useful or critical to embedded systems development. For example, USB device mapping available in the Docker toolkit (used in this Option 1) is no longer available in the new Docker releases. The Docker option is also typically slower than the native install option. \n\n\n Therefore, the recommended option is Option 2 below. \n\n\n\n\nOption 2 (Recommended)\n allows you to install the Newt tool, instances of the Mynewt OS (for simulated targets), and toolchains for develop
 ing embedded software (e.g. GNU toolchain) natively on your laptop or computer. We have tried to make the process easy. For example, for the Mac OS we created brew formulas. \n\n\nYou want this option if you are familiar with such environments or are concerned about performance on your machine. Follow the instructions to \ninstall native tools\n and \ninstall cross tools for ARM\n if you prefer this option.\n\n\n\n\nYou can then proceed with the instructions on how to \n* \nCreate Your First Project\n - on simulated hardware.\n\n\nUpon successful start, several tutorials await your eager attention!\n\n\n\n\nSend us an email on the dev@ mailing list if you have comments or suggestions!\n If you haven't joined the mailing list, you will find the links \nhere\n.", 
+            "text": "Quick Start\n\n\nIf you are curious about Mynewt and want to get a quick feel for the project, you've come to the right place. We have two options for you:\n\n\n\n\nOption 1 (Recommended)\n allows you to install the Newt tool, instances of the Mynewt OS (for simulated targets), and toolchains for developing embedded software (e.g. GNU toolchain) natively on your laptop or computer. We have tried to make the process easy. For example, for the Mac OS we created brew formulas. \n\n\nWe recommend this option if you are familiar with such environments or are concerned about performance on your machine. Follow the instructions to \ninstall native tools\n and \ninstall cross tools for ARM\n if you prefer this option.\n\n\n\n\nOption 2\n is an easy, self-contained way to get up and running with Mynewt - but has limitations! The Newt tool and build toolchains are all available in a single \nAll-in-one Docker Container\n that you can install on your laptop or computer.\n\
 n\nHowever, this is not a long-term option since support is not likely for all features useful or critical to embedded systems development. For example, USB device mapping available in the Docker toolkit is no longer available in the new Docker releases. The Docker option is also typically slower than the native install option. \n\n\n\n\nYou can then proceed with the instructions on how to \n* \nCreate Your First Project\n - on simulated hardware.\n\n\nUpon successful start, several tutorials await your eager attention!\n\n\n\n\nSend us an email on the dev@ mailing list if you have comments or suggestions!\n If you haven't joined the mailing list, you will find the links \nhere\n.", 
             "title": "toc"
         }, 
         {
             "location": "/os/get_started/get_started/#quick-start", 
-            "text": "If you are curious about Mynewt and want to get a quick feel for the project, you've come to the right place. We have two options for you:   Option 1  is an easy, self-contained way to get up and running with Mynewt - but has limitations! The Newt tool and build toolchains are all available in a single  All-in-one Docker Container  that you can install on your laptop or computer.  However, this is not a long-term option since support is not likely for all features useful or critical to embedded systems development. For example, USB device mapping available in the Docker toolkit (used in this Option 1) is no longer available in the new Docker releases. The Docker option is also typically slower than the native install option.    Therefore, the recommended option is Option 2 below.    Option 2 (Recommended)  allows you to install the Newt tool, instances of the Mynewt OS (for simulated targets), and toolchains for developing embedded software (e.g. GNU toolchain) 
 natively on your laptop or computer. We have tried to make the process easy. For example, for the Mac OS we created brew formulas.   You want this option if you are familiar with such environments or are concerned about performance on your machine. Follow the instructions to  install native tools  and  install cross tools for ARM  if you prefer this option.   You can then proceed with the instructions on how to \n*  Create Your First Project  - on simulated hardware.  Upon successful start, several tutorials await your eager attention!   Send us an email on the dev@ mailing list if you have comments or suggestions!  If you haven't joined the mailing list, you will find the links  here .", 
+            "text": "If you are curious about Mynewt and want to get a quick feel for the project, you've come to the right place. We have two options for you:   Option 1 (Recommended)  allows you to install the Newt tool, instances of the Mynewt OS (for simulated targets), and toolchains for developing embedded software (e.g. GNU toolchain) natively on your laptop or computer. We have tried to make the process easy. For example, for the Mac OS we created brew formulas.   We recommend this option if you are familiar with such environments or are concerned about performance on your machine. Follow the instructions to  install native tools  and  install cross tools for ARM  if you prefer this option.   Option 2  is an easy, self-contained way to get up and running with Mynewt - but has limitations! The Newt tool and build toolchains are all available in a single  All-in-one Docker Container  that you can install on your laptop or computer.  However, this is not a long-term option sinc
 e support is not likely for all features useful or critical to embedded systems development. For example, USB device mapping available in the Docker toolkit is no longer available in the new Docker releases. The Docker option is also typically slower than the native install option.    You can then proceed with the instructions on how to \n*  Create Your First Project  - on simulated hardware.  Upon successful start, several tutorials await your eager attention!   Send us an email on the dev@ mailing list if you have comments or suggestions!  If you haven't joined the mailing list, you will find the links  here .", 
             "title": "Quick Start"
         }, 
         {
             "location": "/os/get_started/native_tools/", 
-            "text": "Installing Native Mynewt Tools\n\n\nThis page shows how to install tools for native Mynewt targets (simulated targets on your laptop/computer) without using a Docker container. In other words, it allows you to run Mynewt OS as a native application on your Mac or Linux machine to simulate a target and use the Newt tool running natively on your machine to manage the simulated target. It also allows you to run the test suites for all packages not requiring HW support. You may choose to do this instead of using the build toolchain and Newt tool available in a Docker container.\n\n\nThis page provides guidance for MAC and Linux. See the relevant sections below.\n\n\n\n\nSet up toolchain for Mac\n\n\nInstall Brew\n\n\nIf you have not already installed Homebrew from the \n\nnewt\n tutorials pages\n, install it. \n\n\n\n\nInstall gcc/libc\n\n\nOS X ships with a C compiler called Clang.  To build applications for the Mynewt simulator with, a different compiler is used as
  default: gcc.\n\n\n$ brew install gcc\n...\n...\n==\n Summary\n\ud83c\udf7a  /usr/local/Cellar/gcc/5.2.0: 1353 files, 248M\n\n\n\n\n\n\n\nCheck the gcc version you have installed (either using brew or previously installed). The brew-installed version can be checked using \nbrew list gcc\n. The default compiler.yml configuration file in Mynewt expects version 5.x for Mac users, so if the installed version is 6.x and you wish to continue with this newer version, modify the \nmynewt-src-directory\n/repos/apache-mynewt-core/compiler/sim/compiler.yml\n file to change the default \ngcc-5\n defined there to \ngcc-6\n. In other words, replace the lines shown highlighted below:\n\n\n# OS X.\n\ncompiler.path.cc.DARWIN.OVERWRITE: \n/usr/local/bin/gcc-5\n\n\ncompiler.path.as.DARWIN.OVERWRITE: \n/usr/local/bin/gcc-5 -x assembler-with-cpp\n\n\ncompiler.path.objdump.DARWIN.OVERWRITE: \ngobjdump\n\ncompiler.path.objsize.DARWIN.OVERWRITE: \nobjsize\n\ncompiler.path.objcopy.DARWIN.OVERWRITE: \ngobjc
 opy\n\n\n\n\n\n\nwith the following:\n\n\ncompiler.path.cc.DARWIN.OVERWRITE: \n/usr/local/bin/gcc-6\n\ncompiler.path.as.DARWIN.OVERWRITE: \n/usr/local/bin/gcc-6 -x assembler-with-cpp\u201d\n\n\n\n\n\n\n\nIn case you wish to use Clang, you can change your \nmynewt-src-directory\n/repos/apache-mynewt-core/compiler/sim/compiler.yml\n to use Clang. Delete the gcc-5 DARWIN.OVERWRITE lines highlighted below.\n\n\n# OS X.\n\ncompiler.path.cc.DARWIN.OVERWRITE: \n/usr/local/bin/gcc-5\n\n\ncompiler.path.as.DARWIN.OVERWRITE: \n/usr/local/bin/gcc-5 -x assembler-with-cpp\n\n\ncompiler.path.objdump.DARWIN.OVERWRITE: \ngobjdump\n\ncompiler.path.objsize.DARWIN.OVERWRITE: \nobjsize\n\ncompiler.path.objcopy.DARWIN.OVERWRITE: \ngobjcopy\n\n\n\n\n\n\n\n\nNOTE:\n Both the newer gcc 6.x and Clang report a few warnings but they can be ignored.\n\n\n\n\nFURTHER NOTE:\n Mynewt developers mostly use gcc 5.x for sim builds; so it may take a little while to fix issues reported by the newer compiler. One option
  is to \ndisable warnings\n. To do that, remove the \n-Werror\n flag as an option for the compiler in the  \nmynewt-src-directory\n/repos/apache-mynewt-core/compiler/sim/compiler.yml\n file as shown below. \n\n\ncompiler.flags.base: \n\n\n    -m32 -Wall -ggdb\n\n\n\n\n\nYou may alternatively choose to \nspecify the precise warnings to ignore\n depending on the error thrown by the compiler. For example, if you see a \n[-Werror=misleading-indentation]\n error while building the sim image, add \n-Wno-misleading-indentation]\n as a compiler flag in the same line from the \nmynewt-src-directory\n/repos/apache-mynewt-core/compiler/sim/compiler.yml\n file.\n\n\ncompiler.flags.base: \n\n\n    -m32 -Wall -Werror -ggdb -Wno-misleading-indentation\n\n\n\n\n\nA third option is to simply \ndowngrade to gcc 5.x\n.\n\n\n\n\nInstall gdb\n\n\n$ brew install gdb\n...\n...\n==\n Summary\n\ud83c\udf7a  /usr/local/Cellar/gdb/7.10.1: XXX files,YYM\n\n\n\n\n\n\n\nNOTE:\n When running a program with gdb, y
 ou may need to sign your gdb\nexecutable.  \nThis page\n\nshows a recipe for gdb signing. Alternately you can skip this step and\ncontinue without the ability to debug your mynewt application on your PC.*\n\n\n\n\nSet up toolchain for Linux\n\n\nThe below procedure can be used to set up a Debian-based Linux system (e.g.,\nUbuntu).  If you are running a different Linux distribution, you will need to\nsubstitute invocations of \napt-get\n in the below steps with the package manager\nthat your distro uses.\n\n\n\n\nInstall gcc/libc that will produce 32-bit executables:\n\n\n$ sudo apt-get install gcc-multilib libc6-i386\n\n\n\n\n\n\n\nInstall gdb\n\n\n$ sudo apt-get install gdb\n\nReading package lists... Done\nBuilding dependency tree       \nReading state information... Done\nSuggested packages:\n  gdb-doc gdbserver\nThe following NEW packages will be installed:\n  gdb\n...\nProcessing triggers for man-db (2.6.7.1-1ubuntu1) ...\nSetting up gdb (7.7.1-0ubuntu5~14.04.2) ...\n\n\n\n\n\n
 \n\nAt this point you have installed all the necessary software to build and test code on a simluator running on your Mac or Linux. Proceed to the \nCreate Your First Project\n section.", 
+            "text": "Installing Native Mynewt Tools\n\n\nThis page shows how to install tools for native Mynewt targets (simulated targets on your laptop/computer) without using a Docker container. In other words, it allows you to run Mynewt OS as a native application on your Mac or Linux machine to simulate a target and use the Newt tool running natively on your machine to manage the simulated target. It also allows you to run the test suites for all packages not requiring HW support. You may choose to do this instead of using the build toolchain and Newt tool available in a Docker container.\n\n\nThis page provides guidance for MAC and Linux. See the relevant sections below.\n\n\n\n\nSet up toolchain for Mac\n\n\nInstall Brew\n\n\nIf you have not already installed Homebrew from the \n\nnewt\n tutorials pages\n, install it. \n\n\n\n\nInstall gcc/libc\n\n\nOS X ships with a C compiler called Clang.  To build applications for the Mynewt simulator with, a different compiler is used as
  default: gcc.\n\n\n$ brew install gcc\n...\n...\n==\n Summary\n\ud83c\udf7a  /usr/local/Cellar/gcc/5.2.0: 1353 files, 248M\n\n\n\n\n\n\n\nCheck the gcc version you have installed (either using brew or previously installed). The brew-installed version can be checked using \nbrew list gcc\n. The default compiler.yml configuration file in Mynewt expects version 5.x for Mac users, so if the installed version is 6.x and you wish to continue with this newer version, modify the \nmynewt-src-directory\n/repos/apache-mynewt-core/compiler/sim/compiler.yml\n file to change the default \ngcc-5\n defined there to \ngcc-6\n. In other words, replace the lines shown highlighted below:\n\n\n# OS X.\n\ncompiler.path.cc.DARWIN.OVERWRITE: \ngcc-5\n\n\ncompiler.path.as.DARWIN.OVERWRITE: \ngcc-5\n\n\ncompiler.path.objdump.DARWIN.OVERWRITE: \ngobjdump\n\ncompiler.path.objsize.DARWIN.OVERWRITE: \nobjsize\n\ncompiler.path.objcopy.DARWIN.OVERWRITE: \ngobjcopy\n\n\n\n\n\n\nwith the following:\n\n\ncompiler.p
 ath.cc.DARWIN.OVERWRITE: \ngcc-6\n\ncompiler.path.as.DARWIN.OVERWRITE: \ngcc-6\u201d\n\n\n\n\n\n\n\nIn case you wish to use Clang, you can change your \nmynewt-src-directory\n/repos/apache-mynewt-core/compiler/sim/compiler.yml\n to use Clang. Delete the gcc-5 DARWIN.OVERWRITE lines highlighted below.\n\n\n# OS X.\n\ncompiler.path.cc.DARWIN.OVERWRITE: \ngcc-5\n\n\ncompiler.path.as.DARWIN.OVERWRITE: \ngcc-5\n\n\ncompiler.path.objdump.DARWIN.OVERWRITE: \ngobjdump\n\ncompiler.path.objsize.DARWIN.OVERWRITE: \nobjsize\n\ncompiler.path.objcopy.DARWIN.OVERWRITE: \ngobjcopy\n\n\n\n\n\n\n\n\nNOTE:\n Both the newer gcc 6.x and Clang report a few warnings but they can be ignored.\n\n\n\n\nFURTHER NOTE:\n Mynewt developers mostly use gcc 5.x for sim builds; so it may take a little while to fix issues reported by the newer compiler. One option is to \ndisable warnings\n. To do that, remove the \n-Werror\n flag as an option for the compiler in the  \nmynewt-src-directory\n/repos/apache-mynewt-core
 /compiler/sim/compiler.yml\n file as shown below. \n\n\ncompiler.flags.base: \n\n\n    -m32 -Wall -ggdb\n\n\n\n\n\nYou may alternatively choose to \nspecify the precise warnings to ignore\n depending on the error thrown by the compiler. For example, if you see a \n[-Werror=misleading-indentation]\n error while building the sim image, add \n-Wno-misleading-indentation]\n as a compiler flag in the same line from the \nmynewt-src-directory\n/repos/apache-mynewt-core/compiler/sim/compiler.yml\n file.\n\n\ncompiler.flags.base: \n\n\n    -m32 -Wall -Werror -ggdb -Wno-misleading-indentation\n\n\n\n\n\nA third option is to simply \ndowngrade to gcc 5.x\n.\n\n\n\n\nInstall gdb\n\n\n$ brew install gdb\n...\n...\n==\n Summary\n\ud83c\udf7a  /usr/local/Cellar/gdb/7.10.1: XXX files,YYM\n\n\n\n\n\n\n\nNOTE:\n When running a program with gdb, you may need to sign your gdb\nexecutable.  \nThis page\n\nshows a recipe for gdb signing. Alternately you can skip this step and\ncontinue without the abili
 ty to debug your mynewt application on your PC.*\n\n\n\n\nSet up toolchain for Linux\n\n\nThe below procedure can be used to set up a Debian-based Linux system (e.g.,\nUbuntu).  If you are running a different Linux distribution, you will need to\nsubstitute invocations of \napt-get\n in the below steps with the package manager\nthat your distro uses.\n\n\n\n\nInstall gcc/libc that will produce 32-bit executables:\n\n\n$ sudo apt-get install gcc-multilib libc6-i386\n\n\n\n\n\n\n\nInstall gdb\n\n\n$ sudo apt-get install gdb\n\nReading package lists... Done\nBuilding dependency tree       \nReading state information... Done\nSuggested packages:\n  gdb-doc gdbserver\nThe following NEW packages will be installed:\n  gdb\n...\nProcessing triggers for man-db (2.6.7.1-1ubuntu1) ...\nSetting up gdb (7.7.1-0ubuntu5~14.04.2) ...\n\n\n\n\n\n\n\nAt this point you have installed all the necessary software to build and test code on a simluator running on your Mac or Linux. Proceed to the \nCreate 
 Your First Project\n section.", 
             "title": "toc"
         }, 
         {
@@ -167,7 +167,7 @@
         }, 
         {
             "location": "/os/get_started/native_tools/#install-gcclibc", 
-            "text": "OS X ships with a C compiler called Clang.  To build applications for the Mynewt simulator with, a different compiler is used as default: gcc.  $ brew install gcc\n...\n...\n==  Summary\n\ud83c\udf7a  /usr/local/Cellar/gcc/5.2.0: 1353 files, 248M   Check the gcc version you have installed (either using brew or previously installed). The brew-installed version can be checked using  brew list gcc . The default compiler.yml configuration file in Mynewt expects version 5.x for Mac users, so if the installed version is 6.x and you wish to continue with this newer version, modify the  mynewt-src-directory /repos/apache-mynewt-core/compiler/sim/compiler.yml  file to change the default  gcc-5  defined there to  gcc-6 . In other words, replace the lines shown highlighted below:  # OS X. compiler.path.cc.DARWIN.OVERWRITE:  /usr/local/bin/gcc-5  compiler.path.as.DARWIN.OVERWRITE:  /usr/local/bin/gcc-5 -x assembler-with-cpp  compiler.path.objdump.DARWIN.OVERWRITE:  gobjdump
  \ncompiler.path.objsize.DARWIN.OVERWRITE:  objsize \ncompiler.path.objcopy.DARWIN.OVERWRITE:  gobjcopy   with the following:  compiler.path.cc.DARWIN.OVERWRITE:  /usr/local/bin/gcc-6 \ncompiler.path.as.DARWIN.OVERWRITE:  /usr/local/bin/gcc-6 -x assembler-with-cpp\u201d   In case you wish to use Clang, you can change your  mynewt-src-directory /repos/apache-mynewt-core/compiler/sim/compiler.yml  to use Clang. Delete the gcc-5 DARWIN.OVERWRITE lines highlighted below.  # OS X. compiler.path.cc.DARWIN.OVERWRITE:  /usr/local/bin/gcc-5  compiler.path.as.DARWIN.OVERWRITE:  /usr/local/bin/gcc-5 -x assembler-with-cpp  compiler.path.objdump.DARWIN.OVERWRITE:  gobjdump \ncompiler.path.objsize.DARWIN.OVERWRITE:  objsize \ncompiler.path.objcopy.DARWIN.OVERWRITE:  gobjcopy    NOTE:  Both the newer gcc 6.x and Clang report a few warnings but they can be ignored.   FURTHER NOTE:  Mynewt developers mostly use gcc 5.x for sim builds; so it may take a little while to fix issues reported by the newer
  compiler. One option is to  disable warnings . To do that, remove the  -Werror  flag as an option for the compiler in the   mynewt-src-directory /repos/apache-mynewt-core/compiler/sim/compiler.yml  file as shown below.   compiler.flags.base:       -m32 -Wall -ggdb  You may alternatively choose to  specify the precise warnings to ignore  depending on the error thrown by the compiler. For example, if you see a  [-Werror=misleading-indentation]  error while building the sim image, add  -Wno-misleading-indentation]  as a compiler flag in the same line from the  mynewt-src-directory /repos/apache-mynewt-core/compiler/sim/compiler.yml  file.  compiler.flags.base:       -m32 -Wall -Werror -ggdb -Wno-misleading-indentation  A third option is to simply  downgrade to gcc 5.x .", 
+            "text": "OS X ships with a C compiler called Clang.  To build applications for the Mynewt simulator with, a different compiler is used as default: gcc.  $ brew install gcc\n...\n...\n==  Summary\n\ud83c\udf7a  /usr/local/Cellar/gcc/5.2.0: 1353 files, 248M   Check the gcc version you have installed (either using brew or previously installed). The brew-installed version can be checked using  brew list gcc . The default compiler.yml configuration file in Mynewt expects version 5.x for Mac users, so if the installed version is 6.x and you wish to continue with this newer version, modify the  mynewt-src-directory /repos/apache-mynewt-core/compiler/sim/compiler.yml  file to change the default  gcc-5  defined there to  gcc-6 . In other words, replace the lines shown highlighted below:  # OS X. compiler.path.cc.DARWIN.OVERWRITE:  gcc-5  compiler.path.as.DARWIN.OVERWRITE:  gcc-5  compiler.path.objdump.DARWIN.OVERWRITE:  gobjdump \ncompiler.path.objsize.DARWIN.OVERWRITE:  objsize 
 \ncompiler.path.objcopy.DARWIN.OVERWRITE:  gobjcopy   with the following:  compiler.path.cc.DARWIN.OVERWRITE:  gcc-6 \ncompiler.path.as.DARWIN.OVERWRITE:  gcc-6\u201d   In case you wish to use Clang, you can change your  mynewt-src-directory /repos/apache-mynewt-core/compiler/sim/compiler.yml  to use Clang. Delete the gcc-5 DARWIN.OVERWRITE lines highlighted below.  # OS X. compiler.path.cc.DARWIN.OVERWRITE:  gcc-5  compiler.path.as.DARWIN.OVERWRITE:  gcc-5  compiler.path.objdump.DARWIN.OVERWRITE:  gobjdump \ncompiler.path.objsize.DARWIN.OVERWRITE:  objsize \ncompiler.path.objcopy.DARWIN.OVERWRITE:  gobjcopy    NOTE:  Both the newer gcc 6.x and Clang report a few warnings but they can be ignored.   FURTHER NOTE:  Mynewt developers mostly use gcc 5.x for sim builds; so it may take a little while to fix issues reported by the newer compiler. One option is to  disable warnings . To do that, remove the  -Werror  flag as an option for the compiler in the   mynewt-src-directory /repos/apa
 che-mynewt-core/compiler/sim/compiler.yml  file as shown below.   compiler.flags.base:       -m32 -Wall -ggdb  You may alternatively choose to  specify the precise warnings to ignore  depending on the error thrown by the compiler. For example, if you see a  [-Werror=misleading-indentation]  error while building the sim image, add  -Wno-misleading-indentation]  as a compiler flag in the same line from the  mynewt-src-directory /repos/apache-mynewt-core/compiler/sim/compiler.yml  file.  compiler.flags.base:       -m32 -Wall -Werror -ggdb -Wno-misleading-indentation  A third option is to simply  downgrade to gcc 5.x .", 
             "title": "Install gcc/libc"
         }, 
         {
@@ -222,83 +222,88 @@
         }, 
         {
             "location": "/newt/install/newt_linux/", 
-            "text": "Install newt tool on Linux\n\n\n\n\nGetting your Linux box Ready\n\n\nIf you want to build the \nnewt\n tool from its source code, follow the following steps:\n\n\n1. Install git, libcurl\n\n\n        $ sudo apt-get install git \n        $ sudo apt-get install libcurl4-gnutls-dev \n\n\n\n\n\nNOTE:\n On 64-bit host, you may also need to install gcc-multilib, if you encounter compilation errors related to 'sys/cdefs.h'\n\n\n\n\n2. Install Go, the programming language\n\n\n\n\n\n\nGo language environment dictates a directory structure. Known in Go parlance as a workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below. \n\n\n\n\n\n\nsrc contains Go source files organized into packages (one package per directory),\n\n\n\n\n\n\npkg contains package objects, and\n\n\n\n\n\n\nbin contains executable commands.\n\n\n\n\n\n\nThe GOPATH environment variable specifies the location of your workspace. To setup this work
 space environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the \nnewt\n tool repository.\n\n\n\n\n\n\n        $ cd $HOME\n        $ mkdir -p dev/go  \n        $ cd dev/go\n        $ export GOPATH=`pwd`\n\n\n\n\n\n(Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.)\n\n\n\n\n        $ vi ~/.bash_profile\n        $ source ~/.bash_profile\n\n\n\n\n\n\n\n\n\n\n\nNext, install Go. When installed, Go offers you as a developer a language environment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import \nnewt\n repo into your local Go environment.\n\n\nNote\n: The Newt tool requires Go version 1.7 or later.  Currently, the latest Go version that Ubuntu installs is 1.6. You can
  run \napt-get install golang-1.7-go\n to install version 1.7. You can also download version 1.7 from \nhttps://golang.org/dl/\n. \n\n\n\n\n\n\n$sudo apt-get install golang-1.7-go\nReading package lists... Done\n     ...\nUnpacking golang-1.7-go (1.7.1-2ubuntu1) ...\nSetting up golang-1.7-go (1.7.1-2ubuntu1) ...\n$\n$sudo ln -s /usr/lib/go-1.7/bin/go /usr/bin/go\n$go version\ngo version go1.7.1 linux/amd64\n\n\n\n\n\n    \n\n\n3. Create local repository\n\n\n\n\nUse Go commands to copy the directory (currently the ASF incubator directory). Be patient as it may take a minute or two. Check the directories installed.\n\n\n\n\n        $ go get mynewt.apache.org/newt/...\n\n\n\n\n\n\n\n\n\nCheck that newt.go is in place.\n\n\n\n\n        $ ls $GOPATH/src/mynewt.apache.org/newt\n        DISCLAIMER  NOTICE      newt        newtvm      viper\n        LICENSE     README.md   newtmgr     util        yaml\n\n\n\n\n\n\n\n4. Build the Newt tool\n\n\n\n\nUse Go to run the newt.go program to build
  the \nnewt\n tool. The command \ngo install\n compiles and writes the resulting executable to an output file named \nnewt\n, which is then installed, along with its dependencies, in $GOPATH/bin. If you get errors it is likely because of path resolution issues. Try \ngo build\n  followed by \ngo install\n in that case.\n\n\n\n\n        $ cd $GOPATH/src/mynewt.apache.org/newt/newt\n        $ go install\n        $ ls \n$GOPATH\n/bin/\n        newt newtmgr newtvm\n\n\n\n\n\n\n\n\n\nAt this point, you can try using \nnewt\n. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.\n\n\n\n\n(Note: If you are going to be modifying the \nnewt\n often and going to be compile the program every time you call it, you will want to store the command in a variable in your .bash_profile. So type in \nexport newt=\"go run $GOPATH/mynewt.apache.org/newt/newt/newt.go\"\n in your .bash_profile and execute it by c
 alling \n$newt\n at the prompt instead of \nnewt\n. Essentially, \n$newt\n calls \ngo run\n which runs the compiled binary directly without producing an executable. Don't forget to reload the updated bash profile by typing \nsource ~/.bash_profile\n at the prompt! )\n\n\n        $ newt version\n        Newt version:  1.0\n        $ newt -h\n        Newt allows you to create your own embedded application based on the Mynewt \n        operating system. Newt provides both build and package management in a single \n        tool, which allows you to compose an embedded application, and set of \n        projects, and then build the necessary artifacts from those projects. For more \n        information on the Mynewt operating system, please visit \n        https://mynewt.apache.org/. \n\n        Please use the newt help command, and specify the name of the command you want \n        help for, for help on how to use a specific command\n\n        Usage:\n          newt [flags]\n          ne
 wt [command]\n\n        Examples:\n          newt\n          newt help [\ncommand-name\n]\n            For help on \ncommand-name\n.  If not specified, print this message.\n\n        Available Commands:\n          build        Build one or more targets\n          clean        Delete build artifacts for one or more targets\n          create-image Add image header to target binary\n          debug        Open debugger session to target\n          info         Show project info\n          install      Install project dependencies\n          load         Load built target to board\n          mfg          Manufacturing flash image commands\n          new          Create a new project\n          pkg          Create and manage packages in the current workspace\n          run          build/create-image/download/debug \ntarget\n\n          size         Size of target components\n          sync         Synchronize project dependencies\n          target       Commands to create, delete, confi
 gure, and query targets\n          test         Executes unit tests for one or more packages\n          upgrade      Upgrade project dependencies\n          vals         Display valid values for the specified element type(s)\n          version      Display the Newt version number\n\n        Flags:\n          -h, --help              Help for newt commands\n          -j, --jobs int          Number of concurrent build jobs (default 8)\n          -l, --loglevel string   Log level (default \nWARN\n)\n          -o, --outfile string    Filename to tee output to\n          -q, --quiet             Be quiet; only display error output\n          -s, --silent            Be silent; don\nt output anything\n          -v, --verbose           Enable verbose output when executing commands\n\n        Use \nnewt [command] --help\n for more information about a comma\n\n\n\n\n\n\n\n5. Updating the Newt tool\n\n\n\n\nYou will update the newt tool in the same place as you initially installed the newt tool.
 \n\n\nStart by updating the git repository of the newt tool (you can change to a different branch using git checkout [branch] if you need to)\n\n\nThen update each of the tools newt, newtmgr and newtvm as needed\n\n\n\n\n        $ cd $GOPATH/src/mynewt.apache.org/newt\n        $ git pull\n        $ cd newt\n        $ go install\n        $ cd ../newtmgr\n        $ go install\n        $ cd ../newtvm\n        $ go install\n        $ ls \n$GOPATH\n/bin/\n        newt newtmgr newtvm\n\n\n\n\n\nThat should have updated your newt, newtmgr and newtvm to the latest versions based on the git repository you used.", 
+            "text": "Installing Newt on Linux\n\n\nYou can install the latest stable release (1.0.0) of newt from a Debian binary package (amd64) or from a Debian source package. This page shows you how to:\n\n\n\n\nSet up your computer to retrieve Debian packages from the runtimeco debian package repository.\n\n\nInstall the latest stable release version of newt from a Debian binary package. \n\n\nInstall the latest stable release version of newt from a Debian source package.\n\n\n\n\nIf you are running on an amd64 platform, we recommend that you install from the binary package.\n\n\nNote:\n See \nSetting Up an Go Environment to Contribute to Newt and Newtmgr Tools\n if you want to:  \n\n\n\n\nUse the newt tool with the latest updates from the master branch. The master branch may be unstable and we recommend that you use the latest stable release version.\n\n\nContribute to the newt tool. \n\n\n\n\n\n\nSetting Up Your Computer to Get Packages from runtimeco\n\n\nThe newt Debian pac
 kages are stored in a private repository on \nhttps://github/runtimeco/debian-mynewt\n. \n\n\nNote:\n You will only need to perform these steps only once on your computer.\nThe following steps must be performed on your computer:\n\n\n\n\nAdd the \napt-transport-https\n package to use HTTPS to retrieve packages. \n\n\nDownload the public key for the runtimeco debian repository and import the key into the apt keychain.\n\n\nAdd the repository for the binary and source packages to the apt source list.\n\n\n\n\n\nAdd the apt-transport-https package:\n\n\n$sudo apt-get update\n$sudo apt-get install apt-transport-https\n\n\n\n\n\n\n\nDownload the public key for the runtimeco apt repo (\nNote:\n There is  \n-\n after the add):\n\n\nwget -qO - https://raw.githubusercontent.com/runtimeco/debian-mynewt/master/mynewt.gpg.key | sudo apt-key add -\n\n\n\n\n\n\n\nAdd the repository for the binary and source packages to the apt source list:\n\n\n$sudo -s\n[sudo] password for \nuser\n:\nroot$ cat \
 n /etc/apt/sources.list.d/mynewt.list \nEOF\ndeb https://raw.githubusercontent.com/runtimeco/debian-package/master latest main\ndeb-src https://raw.githubusercontent.com/runtimeco/debian-package/master latest main\nEOF\n\n\n\n\n\n\nCheck the content of the file:\n\n\nroot$more /etc/apt/sources.list.d//mynewt.list\ndeb https://raw.githubusercontent.com/runtimeco/debian-package/master latest main\ndeb-src https://raw.githubusercontent.com/runtimeco/debian-package/master latest main\n\n\n\n\n\n \n\n\nExit the root shell:\n\n\nroot$exit\n\n\n\n\n\n\n\nInstalling the Latest Release of Newt from a Binary Package\n\n\nFor Linux amd64 platform, you can install the latest stable version (1.0.0) of newt from the newt Debian binary package:\n\n\n$sudo apt-get update\n$sudo apt-get install newt\nReading package lists... Done\nBuilding dependency tree       \nReading state information... Done\n\n      ...\n\nPreparing to unpack .../newt_1.0.0-1_amd64.deb ...\nUnpacking newt (1.0.0-1) ...\nSettin
 g up newt (1.0.0-1) ...\n\n\n\n\n\n\nSee \nChecking the Installed Version of Newt\n to verify that you are using the installed version of newt.\n\n\n\n\nInstalling the Latest Stable Release of Newt from a Source Package\n\n\nIf you are running Linux on a different architecture, you can install the Debian source package for the latest stable release (1.0.0) of newt. The installation of the source package builds the newt binary and creates a Debian binary package that you then install.\n\n\nNote\n: Newt version 1.0.0 has been tested on Linux amd64 platform. Version 1.0.0 does not build on the 32 bit platform but have been fixed for the next release.\n\n\n\n\nInstalling Go 1.7\n\n\nYou need Go version 1.7 or higher to build Newt version 1.0.0.  Currently, the latest Go version that Ubuntu installs is 1.6.  Run \ngo version\n to check if you have Go 1.7 installed. \n\n\n\n\nInstall Go version 1.7:\n\n\n$sudo apt-get install golang-1.7-go\nReading package lists... Done\n     ...\nUnpacki
 ng golang-1.7-go (1.7.1-2ubuntu1) ...\nSetting up golang-1.7-go (1.7.1-2ubuntu1) ...\n$\n$sudo ln -sf ../lib/go-1.7/bin/go /usr/bin/go\n$go version\ngo version go1.7.1 linux/amd64\n\n\n\n\n\nYou can also download version 1.7 from \nhttps://golang.org/dl/\n. \n\n\n\n\nInstalling from the Source Package\n\n\nCreate a directory and change into the directory, download the source package, and build a binary package from the source package:\n\n\nmkdir newt_source\n$cd newt_source\n$sudo apt-get --build source newt\n[sudo] password for \nuser\n: \nReading package lists... Done\nNeed to get 1,866 kB of source archives.\nGet:1 https://raw.githubusercontent.com/runtimeco/debian-mynewt/master latest/main newt 1.0.0-1 (dsc) [795 B]\nGet:2 https://raw.githubusercontent.com/runtimeco/debian-mynewt/master latest/main newt 1.0.0-1 (tar) [1,864 kB]\nGet:3 https://raw.githubusercontent.com/runtimeco/debian-mynewt/master latest/main newt 1.0.0-1 (diff) [2,000 B]\nFetched 1,866 kB in 1s (1,222 kB/s)\nd
 pkg-source: warning: extracting unsigned source package (newt_1.0.0-1.dsc)\ndpkg-source: info: extracting newt in newt-1.0.0\ndpkg-source: info: unpacking newt_1.0.0.orig.tar.gz\ndpkg-source: info: unpacking newt_1.0.0-1.debian.tar.xz\n\n           ...\n\ndpkg-deb: building package \nnewt\n in \n../newt_1.0.0-1_amd64.deb\n.\n dpkg-genchanges --build=any,all \n../newt_1.0.0-1_amd64.changes\ndpkg-genchanges: info: binary-only upload (no source code included)\n dpkg-source --after-build newt-1.0.0\ndpkg-buildpackage: info: binary-only upload (no source included)\nW: Can\nt drop privileges for downloading as file \nnewt_1.0.0-1.dsc\n couldn\nt be accessed by user \n_apt\n. - pkgAcquire::Run (13: Permission denied)\n\n\n\n\n\nNote:\n You can ignore the \"Permission denied: warning message at the end of the command.\n\n\n\nInstall the newt binary package that is created from the source package:\n\n\n$sudo dpkg -i newt_1.0.0-1_amd64.deb \nSelecting previously unselected package newt.\n(Rea
 ding database ... 252969 files and directories currently installed.)\nPreparing to unpack newt_1.0.0-1_amd64.deb ...\nUnpacking newt (1.0.0-1) ...\nSetting up newt (1.0.0-1) ...\n\n\n\n\n\n\n\n Checking the Installed Version of Newt\n\n\nAfter you have installed newt from either a Debian binary or source package, check that you are using the installed version of newt from \n/usr/bin\n. \n\n\nCheck the modification time of the binary and the newt tool that you are using:\n\n\n$ls -l /usr/bin/newt\n-rwxr-xr-x 1 root root 6919280 Apr 22 10:09 /usr/bin/newt\n$which newt\n/usr/bin/newt\n$newt version\nApache Newt (incubating) version: 1.0.0\n\n\n\n\n\nNote:\n If you previously built newt from source and the output of \nwhich newt\n shows \"$GOPATH/bin/newt\", you will need to move \"$GOPATH/bin\" after \"/usr/bin\" in your $PATH and export your $PATH.\n\n\n\nGet information about newt:\n\n\n$newt\nNewt allows you to create your own embedded application based on the Mynewt\noperating syst
 em. Newt provides both build and package management in a single\ntool, which allows you to compose an embedded application, and set of\nprojects, and then build the necessary artifacts from those projects. For more\ninformation on the Mynewt operating system, please visit\nhttps://mynewt.apache.org/.\n\nPlease use the newt help command, and specify the name of the command you want\nhelp for, for help on how to use a specific command\n\nUsage:\n  newt [flags]\n  newt [command]\n\nExamples:\n  newt\n  newt help [\ncommand-name\n]\n    For help on \ncommand-name\n.  If not specified, print this message.\n\nAvailable Commands:\n  build        Build one or more targets\n  clean        Delete build artifacts for one or more targets\n  create-image Add image header to target binary\n  debug        Open debugger session to target\n  info         Show project info\n  install      Install project dependencies\n  load         Load built target to board\n  mfg          Manufacturing flash image
  commands\n  new          Create a new project\n  pkg          Create and manage packages in the current workspace\n  run          build/create-image/download/debug \ntarget\n\n  size         Size of target components\n  sync         Synchronize project dependencies\n  target       Commands to create, delete, configure, and query targets\n  test         Executes unit tests for one or more packages\n  upgrade      Upgrade project dependencies\n  vals         Display valid values for the specified element type(s)\n  version      Display the Newt version number\n\nFlags:\n  -h, --help              Help for newt commands\n  -j, --jobs int          Number of concurrent build jobs (default 8)\n  -l, --loglevel string   Log level (default \nWARN\n)\n  -o, --outfile string    Filename to tee output to\n  -q, --quiet             Be quiet; only display error output\n  -s, --silent            Be silent; don\nt output anything\n  -v, --verbose           Enable verbose output when executing comm
 ands\n\nUse \nnewt [command] --help\n for more information about a command.", 
             "title": "Install Newt on Linux"
         }, 
         {
-            "location": "/newt/install/newt_linux/#install-newt-tool-on-linux", 
-            "text": "", 
-            "title": "Install newt tool on Linux"
-        }, 
-        {
-            "location": "/newt/install/newt_linux/#getting-your-linux-box-ready", 
-            "text": "If you want to build the  newt  tool from its source code, follow the following steps:", 
-            "title": "Getting your Linux box Ready"
+            "location": "/newt/install/newt_linux/#installing-newt-on-linux", 
+            "text": "You can install the latest stable release (1.0.0) of newt from a Debian binary package (amd64) or from a Debian source package. This page shows you how to:   Set up your computer to retrieve Debian packages from the runtimeco debian package repository.  Install the latest stable release version of newt from a Debian binary package.   Install the latest stable release version of newt from a Debian source package.   If you are running on an amd64 platform, we recommend that you install from the binary package.  Note:  See  Setting Up an Go Environment to Contribute to Newt and Newtmgr Tools  if you want to:     Use the newt tool with the latest updates from the master branch. The master branch may be unstable and we recommend that you use the latest stable release version.  Contribute to the newt tool.", 
+            "title": "Installing Newt on Linux"
         }, 
         {
-            "location": "/newt/install/newt_linux/#1-install-git-libcurl", 
-            "text": "$ sudo apt-get install git \n        $ sudo apt-get install libcurl4-gnutls-dev   NOTE:  On 64-bit host, you may also need to install gcc-multilib, if you encounter compilation errors related to 'sys/cdefs.h'", 
-            "title": "1. Install git, libcurl"
+            "location": "/newt/install/newt_linux/#setting-up-your-computer-to-get-packages-from-runtimeco", 
+            "text": "The newt Debian packages are stored in a private repository on  https://github/runtimeco/debian-mynewt .   Note:  You will only need to perform these steps only once on your computer.\nThe following steps must be performed on your computer:   Add the  apt-transport-https  package to use HTTPS to retrieve packages.   Download the public key for the runtimeco debian repository and import the key into the apt keychain.  Add the repository for the binary and source packages to the apt source list.   \nAdd the apt-transport-https package:  $sudo apt-get update\n$sudo apt-get install apt-transport-https   Download the public key for the runtimeco apt repo ( Note:  There is   -  after the add):  wget -qO - https://raw.githubusercontent.com/runtimeco/debian-mynewt/master/mynewt.gpg.key | sudo apt-key add -   Add the repository for the binary and source packages to the apt source list:  $sudo -s\n[sudo] password for  user :\nroot$ cat   /etc/apt/sources.list.d/mynewt.lis
 t  EOF\ndeb https://raw.githubusercontent.com/runtimeco/debian-package/master latest main\ndeb-src https://raw.githubusercontent.com/runtimeco/debian-package/master latest main\nEOF  \nCheck the content of the file:  root$more /etc/apt/sources.list.d//mynewt.list\ndeb https://raw.githubusercontent.com/runtimeco/debian-package/master latest main\ndeb-src https://raw.githubusercontent.com/runtimeco/debian-package/master latest main     Exit the root shell:  root$exit", 
+            "title": "Setting Up Your Computer to Get Packages from runtimeco"
         }, 
         {
-            "location": "/newt/install/newt_linux/#2-install-go-the-programming-language", 
-            "text": "Go language environment dictates a directory structure. Known in Go parlance as a workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below.     src contains Go source files organized into packages (one package per directory),    pkg contains package objects, and    bin contains executable commands.    The GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the  newt  tool repository.            $ cd $HOME\n        $ mkdir -p dev/go  \n        $ cd dev/go\n        $ export GOPATH=`pwd`  (Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.)           $ vi ~/.bash_profile\n        $ source ~/.bash_profile   
   Next, install Go. When installed, Go offers you as a developer a language environment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import  newt  repo into your local Go environment.  Note : The Newt tool requires Go version 1.7 or later.  Currently, the latest Go version that Ubuntu installs is 1.6. You can run  apt-get install golang-1.7-go  to install version 1.7. You can also download version 1.7 from  https://golang.org/dl/ .     $sudo apt-get install golang-1.7-go\nReading package lists... Done\n     ...\nUnpacking golang-1.7-go (1.7.1-2ubuntu1) ...\nSetting up golang-1.7-go (1.7.1-2ubuntu1) ...\n$\n$sudo ln -s /usr/lib/go-1.7/bin/go /usr/bin/go\n$go version\ngo version go1.7.1 linux/amd64", 
-            "title": "2. Install Go, the programming language"
+            "location": "/newt/install/newt_linux/#installing-the-latest-release-of-newt-from-a-binary-package", 
+            "text": "For Linux amd64 platform, you can install the latest stable version (1.0.0) of newt from the newt Debian binary package:  $sudo apt-get update\n$sudo apt-get install newt\nReading package lists... Done\nBuilding dependency tree       \nReading state information... Done\n\n      ...\n\nPreparing to unpack .../newt_1.0.0-1_amd64.deb ...\nUnpacking newt (1.0.0-1) ...\nSetting up newt (1.0.0-1) ...  \nSee  Checking the Installed Version of Newt  to verify that you are using the installed version of newt.", 
+            "title": "Installing the Latest Release of Newt from a Binary Package"
         }, 
         {
-            "location": "/newt/install/newt_linux/#3-create-local-repository", 
-            "text": "Use Go commands to copy the directory (currently the ASF incubator directory). Be patient as it may take a minute or two. Check the directories installed.           $ go get mynewt.apache.org/newt/...    Check that newt.go is in place.           $ ls $GOPATH/src/mynewt.apache.org/newt\n        DISCLAIMER  NOTICE      newt        newtvm      viper\n        LICENSE     README.md   newtmgr     util        yaml", 
-            "title": "3. Create local repository"
+            "location": "/newt/install/newt_linux/#installing-the-latest-stable-release-of-newt-from-a-source-package", 
+            "text": "If you are running Linux on a different architecture, you can install the Debian source package for the latest stable release (1.0.0) of newt. The installation of the source package builds the newt binary and creates a Debian binary package that you then install.  Note : Newt version 1.0.0 has been tested on Linux amd64 platform. Version 1.0.0 does not build on the 32 bit platform but have been fixed for the next release.", 
+            "title": "Installing the Latest Stable Release of Newt from a Source Package"
         }, 
         {
-            "location": "/newt/install/newt_linux/#4-build-the-newt-tool", 
-            "text": "Use Go to run the newt.go program to build the  newt  tool. The command  go install  compiles and writes the resulting executable to an output file named  newt , which is then installed, along with its dependencies, in $GOPATH/bin. If you get errors it is likely because of path resolution issues. Try  go build   followed by  go install  in that case.           $ cd $GOPATH/src/mynewt.apache.org/newt/newt\n        $ go install\n        $ ls  $GOPATH /bin/\n        newt newtmgr newtvm    At this point, you can try using  newt . For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.   (Note: If you are going to be modifying the  newt  often and going to be compile the program every time you call it, you will want to store the command in a variable in your .bash_profile. So type in  export newt=\"go run $GOPATH/mynewt.apache.org/newt/newt/newt.go\"  in your .bash_profile and 
 execute it by calling  $newt  at the prompt instead of  newt . Essentially,  $newt  calls  go run  which runs the compiled binary directly without producing an executable. Don't forget to reload the updated bash profile by typing  source ~/.bash_profile  at the prompt! )          $ newt version\n        Newt version:  1.0\n        $ newt -h\n        Newt allows you to create your own embedded application based on the Mynewt \n        operating system. Newt provides both build and package management in a single \n        tool, which allows you to compose an embedded application, and set of \n        projects, and then build the necessary artifacts from those projects. For more \n        information on the Mynewt operating system, please visit \n        https://mynewt.apache.org/. \n\n        Please use the newt help command, and specify the name of the command you want \n        help for, for help on how to use a specific command\n\n        Usage:\n          newt [flags]\n          n
 ewt [command]\n\n        Examples:\n          newt\n          newt help [ command-name ]\n            For help on  command-name .  If not specified, print this message.\n\n        Available Commands:\n          build        Build one or more targets\n          clean        Delete build artifacts for one or more targets\n          create-image Add image header to target binary\n          debug        Open debugger session to target\n          info         Show project info\n          install      Install project dependencies\n          load         Load built target to board\n          mfg          Manufacturing flash image commands\n          new          Create a new project\n          pkg          Create and manage packages in the current workspace\n          run          build/create-image/download/debug  target \n          size         Size of target components\n          sync         Synchronize project dependencies\n          target       Commands to create, delete, configure,
  and query targets\n          test         Executes unit tests for one or more packages\n          upgrade      Upgrade project dependencies\n          vals         Display valid values for the specified element type(s)\n          version      Display the Newt version number\n\n        Flags:\n          -h, --help              Help for newt commands\n          -j, --jobs int          Number of concurrent build jobs (default 8)\n          -l, --loglevel string   Log level (default  WARN )\n          -o, --outfile string    Filename to tee output to\n          -q, --quiet             Be quiet; only display error output\n          -s, --silent            Be silent; don t output anything\n          -v, --verbose           Enable verbose output when executing commands\n\n        Use  newt [command] --help  for more information about a comma", 
-            "title": "4. Build the Newt tool"
+            "location": "/newt/install/newt_linux/#installing-go-17", 
+            "text": "You need Go version 1.7 or higher to build Newt version 1.0.0.  Currently, the latest Go version that Ubuntu installs is 1.6.  Run  go version  to check if you have Go 1.7 installed.    Install Go version 1.7:  $sudo apt-get install golang-1.7-go\nReading package lists... Done\n     ...\nUnpacking golang-1.7-go (1.7.1-2ubuntu1) ...\nSetting up golang-1.7-go (1.7.1-2ubuntu1) ...\n$\n$sudo ln -sf ../lib/go-1.7/bin/go /usr/bin/go\n$go version\ngo version go1.7.1 linux/amd64  You can also download version 1.7 from  https://golang.org/dl/ .", 
+            "title": "Installing Go 1.7"
         }, 
         {
-            "location": "/newt/install/newt_linux/#5-updating-the-newt-tool", 
-            "text": "You will update the newt tool in the same place as you initially installed the newt tool.  Start by updating the git repository of the newt tool (you can change to a different branch using git checkout [branch] if you need to)  Then update each of the tools newt, newtmgr and newtvm as needed           $ cd $GOPATH/src/mynewt.apache.org/newt\n        $ git pull\n        $ cd newt\n        $ go install\n        $ cd ../newtmgr\n        $ go install\n        $ cd ../newtvm\n        $ go install\n        $ ls  $GOPATH /bin/\n        newt newtmgr newtvm  That should have updated your newt, newtmgr and newtvm to the latest versions based on the git repository you used.", 
-            "title": "5. Updating the Newt tool"
+            "location": "/newt/install/newt_linux/#installing-from-the-source-package", 
+            "text": "Create a directory and change into the directory, download the source package, and build a binary package from the source package:  mkdir newt_source\n$cd newt_source\n$sudo apt-get --build source newt\n[sudo] password for  user : \nReading package lists... Done\nNeed to get 1,866 kB of source archives.\nGet:1 https://raw.githubusercontent.com/runtimeco/debian-mynewt/master latest/main newt 1.0.0-1 (dsc) [795 B]\nGet:2 https://raw.githubusercontent.com/runtimeco/debian-mynewt/master latest/main newt 1.0.0-1 (tar) [1,864 kB]\nGet:3 https://raw.githubusercontent.com/runtimeco/debian-mynewt/master latest/main newt 1.0.0-1 (diff) [2,000 B]\nFetched 1,866 kB in 1s (1,222 kB/s)\ndpkg-source: warning: extracting unsigned source package (newt_1.0.0-1.dsc)\ndpkg-source: info: extracting newt in newt-1.0.0\ndpkg-source: info: unpacking newt_1.0.0.orig.tar.gz\ndpkg-source: info: unpacking newt_1.0.0-1.debian.tar.xz\n\n           ...\n\ndpkg-deb: building package  newt  in 
  ../newt_1.0.0-1_amd64.deb .\n dpkg-genchanges --build=any,all  ../newt_1.0.0-1_amd64.changes\ndpkg-genchanges: info: binary-only upload (no source code included)\n dpkg-source --after-build newt-1.0.0\ndpkg-buildpackage: info: binary-only upload (no source included)\nW: Can t drop privileges for downloading as file  newt_1.0.0-1.dsc  couldn t be accessed by user  _apt . - pkgAcquire::Run (13: Permission denied)  Note:  You can ignore the \"Permission denied: warning message at the end of the command.  \nInstall the newt binary package that is created from the source package:  $sudo dpkg -i newt_1.0.0-1_amd64.deb \nSelecting previously unselected package newt.\n(Reading database ... 252969 files and directories currently installed.)\nPreparing to unpack newt_1.0.0-1_amd64.deb ...\nUnpacking newt (1.0.0-1) ...\nSetting up newt (1.0.0-1) ...", 
+            "title": "Installing from the Source Package"
         }, 
         {
             "location": "/os/get_started/cross_tools/", 
-            "text": "Installing Cross Tools for ARM\n\n\nThis page shows how to install tools on your laptop/computer to use for direct communication (e.g. for debugging) with some ARM based HW platforms running Apache Mynewt. You will also have to use the Newt tool installed to run natively on your machine. You may choose to do this instead of using the build toolchain and Newt tool available in a Docker container.\n\n\nThis page provides guidance for installing the tools directly on your MAC and Linux machine. See the relevant sections below.\n\n\n\n\nInstall ARM Cross tools in Mac OS X\n\n\nInstall Tool Chain\n\n\nInstall the PX4 Toolchain and check the version installed. ARM maintains a\npre-built GNU toolchain with a GCC source branch targeted at Embedded ARM\nProcessors, namely Cortex-R/Cortex-M processor families. After installing,\nensure that the symbolic link installed by Homebrew points to the correct\nversion of the debugger.\n\n\n$ brew tap PX4/homebrew-px4\n$ brew upda
 te\n$ brew install gcc-arm-none-eabi-49\n$ arm-none-eabi-gcc --version  \narm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288]\nCopyright (C) 2014 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n$ ls -al /usr/local/bin/arm-none-eabi-gdb\nlrwxr-xr-x  1 aditihilbert  admin  69 Sep 22 17:16 /usr/local/bin/arm-none-eabi-gdb -\n /usr/local/Cellar/gcc-arm-none-eabi-49/20150609/bin/arm-none-eabi-gdb\n\n\n\n\n\nNote:\n If no version is specified, brew will install the latest version\navailable. Mynewt OS will eventually work with multiple versions available,\nincluding the latest releases. However, at present we have tested only with\nthis version and recommend it for getting started. \n\n\n\n\nInstall OpenOCD\n\n\nOpenOCD (Open On-Chip Debugger) is open-source software that allows you
 r\ncomputer to interface with the JTAG debug connector on a variety of boards.  A\nJTAG connection lets you debug and test embedded target devices. For more on\nOpenOCD go to \nhttp://openocd.org\n.\n\n\n$ brew install open-ocd\n$ which openocd\n/usr/local/bin/openocd\n$ ls -l $(which openocd)\nlrwxr-xr-x  1 \nuser\n  admin  36 Sep 17 16:22 /usr/local/bin/openocd -\n ../Cellar/open-ocd/0.9.0/bin/openocd\n\n\n\n\n\n\n\nInstall ARM cross arm tools for Linux\n\n\nInstall Tool Chain\n\n\nOn a Debian-based Linux distribution, gcc 4.9.3 for ARM can be installed with\napt-get as documented below. The steps are explained in depth at\n\nhttps://launchpad.net/~team-gcc-arm-embedded/+archive/ubuntu/ppa\n.\n\n\n$ sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi \n$ sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa\n$ sudo apt-get update \n$ sudo apt-get install gcc-arm-none-eabi\n$ sudo apt-get install gdb-arm-none-eabi\n\n\n\n\n\n\n\nInstall OpenOCD\n\n\nOpenOCD (Open On-Chip D
 ebugger) is open-source software that allows your\ncomputer to interface with the JTAG debug connector on a variety of boards.  A\nJTAG connection lets you debug and test embedded target devices. For more on\nOpenOCD go to \nhttp://openocd.org\n.\n\n\nIf you are running Ubuntu 15.x, then you are in luck and you can simply run: \n\n\n$ sudo apt-get install openocd \n\n\n\n\n\nFor this project, you should download the openocd 0.8.0 package from\n\nhttps://launchpad.net/ubuntu/vivid/+source/openocd\n.\nThe direct link to the amd64 build is\n\nhttp://launchpadlibrarian.net/188260097/openocd_0.8.0-4_amd64.deb\n.", 
+            "text": "Installing Cross Tools for ARM\n\n\nThis page shows how to install tools on your laptop/computer to use for direct communication (e.g. for debugging) with some ARM based HW platforms running Apache Mynewt.  It shows you how to install the following tools for Mac OS X and Linux:\n\n\n\n\nARM Cross toolchain\n\n\nDebugger to load and debug your device\n\n\n\n\n\n\nInstall ARM Cross Toolchain\n\n\nInstall ARM Toolchain For Mac OS X\n\n\nInstall the PX4 Toolchain and check the version installed. ARM maintains a\npre-built GNU toolchain with a GCC source branch targeted at Embedded ARM\nProcessors, namely Cortex-R/Cortex-M processor families. After installing,\nensure that the symbolic link installed by Homebrew points to the correct\nversion of the debugger.\n\n\n$ brew tap PX4/homebrew-px4\n$ brew update\n$ brew install gcc-arm-none-eabi-49\n$ arm-none-eabi-gcc --version  \narm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20150529 (release) [ARM/embe
 dded-4_9-branch revision 224288]\nCopyright (C) 2014 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n$ ls -al /usr/local/bin/arm-none-eabi-gdb\nlrwxr-xr-x  1 aditihilbert  admin  69 Sep 22 17:16 /usr/local/bin/arm-none-eabi-gdb -\n /usr/local/Cellar/gcc-arm-none-eabi-49/20150609/bin/arm-none-eabi-gdb\n\n\n\n\n\nNote:\n If no version is specified, brew will install the latest version\navailable. Mynewt OS will eventually work with multiple versions available,\nincluding the latest releases. However, at present we have tested only with\nthis version and recommend it for getting started. \n\n\n\n\nInstall ARM Toolchain For Linux\n\n\nOn a Debian-based Linux distribution, gcc 4.9.3 for ARM can be installed with\napt-get as documented below. The steps are explained in depth at\n\nhttps://launchpad.net/~team-gcc-arm-embedded/+archive/ubuntu/ppa\n.\n\n\n$
  sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi \n$ sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa\n$ sudo apt-get update \n$ sudo apt-get install gcc-arm-none-eabi\n$ sudo apt-get install gdb-arm-none-eabi\n\n\n\n\n\n\n\nInstall Debugger\n\n\nMynewt uses, depending on the board, either the OpenOCD or SEGGER J-Link debugger. \n\n\nInstall OpenOCD\n\n\nOpenOCD (Open On-Chip Debugger) is open-source software that allows your\ncomputer to interface with the JTAG debug connector on a variety of boards.  A\nJTAG connection lets you debug and test embedded target devices. For more on\nOpenOCD go to \nhttp://openocd.org\n.\n\n\nOpenOCD version 0.10.0 with nrf52 support is required.  A binary for this version is available to download for Mac OS and Linux.\n\n\n\n\nInstall OpenOCD on Mac OS\n\n\nStep 1: Download the \nbinary tarball for Mac OS\n.\n\n\nStep 2: Change to the root directory: \n\n\n$cd / \n\n\n\n\n\n\nStep 3: Untar the tarball and install into \n /usr/local/
 bin\n.  You will need to replace \n ~/Downloads \n with the directory that the tarball is downloaded to.  \n\n\nsudo tar -xf ~/Downloads/openocd-bin-0.10.0-MacOS.tgz ` \n\n\n\n\n\n\nStep 4: Check the OpenOCD version you are using: \n\n\n$which openocd\n/usr/local/bin/openocd\n$openocd -v\nOpen On-Chip Debugger 0.10.0\nLicensed under GNU GPL v2\nFor bug reports, read\nhttp://openocd.org/doc/doxygen/bugs.html\n\n\n\n\n\nYou should see version: \n0.10.0\n. \n\n\n\n\nInstall OpenOCD on Linux\n\n\nStep 1: Download the \nbinary tarball for Linux\n\n\nStep 2: Change to the root directory: \n\n\n$cd / \n\n\n\n\n\n\nStep 3: Untar the tarball and install into \n /usr/local/bin\n.  You will need to replace \n ~/Downloads \n with the directory that the tarball is downloaded to.  \n\n\n Note:\n You must specify the -p option for the tar command.\n\n\n$sudo tar -xpf ~/Downloads/openocd-bin-0.10.0-Linux.tgz\n\n\n\n\n\n\nStep 4: Check the OpenOCD version you are using: \n\n\n$which openocd\n/usr/lo
 cal/bin/openocd\n$openocd -v\nOpen On-Chip Debugger 0.10.0\nLicensed under GNU GPL v2\nFor bug reports, read\nhttp://openocd.org/doc/doxygen/bugs.html\n\n\n\n\n\nYou should see version: \n0.10.0\n. \n\n\nIf you see any of these error messages:\n\n\n\n\n\n\nopenocd: error while loading shared libraries: libhidapi-hidraw.so.0: cannot open shared object file: No such file or directory\n\n\n\n\n\n\nopenocd: error while loading shared libraries: libusb-1.0.so.0: cannot open shared object file: No such file or directory \n\n\n\n\n\n\nrun the following command to install the libraries: \n\n\n$sudo apt-get install libhidapi-dev:i386\n\n\n\n\n\n\n\nInstall SEGGAR J-Link\n\n\nYou can download and install Segger J-LINK Software and documentation pack from \nSEGGER\n.", 
             "title": "Install Cross Tools for ARM"
         }, 
         {
             "location": "/os/get_started/cross_tools/#installing-cross-tools-for-arm", 
-            "text": "This page shows how to install tools on your laptop/computer to use for direct communication (e.g. for debugging) with some ARM based HW platforms running Apache Mynewt. You will also have to use the Newt tool installed to run natively on your machine. You may choose to do this instead of using the build toolchain and Newt tool available in a Docker container.  This page provides guidance for installing the tools directly on your MAC and Linux machine. See the relevant sections below.", 
+            "text": "This page shows how to install tools on your laptop/computer to use for direct communication (e.g. for debugging) with some ARM based HW platforms running Apache Mynewt.  It shows you how to install the following tools for Mac OS X and Linux:   ARM Cross toolchain  Debugger to load and debug your device", 
             "title": "Installing Cross Tools for ARM"
         }, 
         {
-            "location": "/os/get_started/cross_tools/#install-arm-cross-tools-in-mac-os-x", 
+            "location": "/os/get_started/cross_tools/#install-arm-cross-toolchain", 
             "text": "", 
-            "title": "Install ARM Cross tools in Mac OS X"
+            "title": "Install ARM Cross Toolchain"
         }, 
         {
-            "location": "/os/get_started/cross_tools/#install-tool-chain", 
+            "location": "/os/get_started/cross_tools/#install-arm-toolchain-for-mac-os-x", 
             "text": "Install the PX4 Toolchain and check the version installed. ARM maintains a\npre-built GNU toolchain with a GCC source branch targeted at Embedded ARM\nProcessors, namely Cortex-R/Cortex-M processor families. After installing,\nensure that the symbolic link installed by Homebrew points to the correct\nversion of the debugger.  $ brew tap PX4/homebrew-px4\n$ brew update\n$ brew install gcc-arm-none-eabi-49\n$ arm-none-eabi-gcc --version  \narm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288]\nCopyright (C) 2014 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n$ ls -al /usr/local/bin/arm-none-eabi-gdb\nlrwxr-xr-x  1 aditihilbert  admin  69 Sep 22 17:16 /usr/local/bin/arm-none-eabi-gdb -  /usr/local/Cellar/gcc-arm-none-eabi-49/20150609/bin/arm-none-eabi-gdb  Not
 e:  If no version is specified, brew will install the latest version\navailable. Mynewt OS will eventually work with multiple versions available,\nincluding the latest releases. However, at present we have tested only with\nthis version and recommend it for getting started.", 
-            "title": "Install Tool Chain"
+            "title": "Install ARM Toolchain For Mac OS X"
+        }, 
+        {
+            "location": "/os/get_started/cross_tools/#install-arm-toolchain-for-linux", 
+            "text": "On a Debian-based Linux distribution, gcc 4.9.3 for ARM can be installed with\napt-get as documented below. The steps are explained in depth at https://launchpad.net/~team-gcc-arm-embedded/+archive/ubuntu/ppa .  $ sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi \n$ sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa\n$ sudo apt-get update \n$ sudo apt-get install gcc-arm-none-eabi\n$ sudo apt-get install gdb-arm-none-eabi", 
+            "title": "Install ARM Toolchain For Linux"
+        }, 
+        {
+            "location": "/os/get_started/cross_tools/#install-debugger", 
+            "text": "Mynewt uses, depending on the board, either the OpenOCD or SEGGER J-Link debugger.", 
+            "title": "Install Debugger"
         }, 
         {
             "location": "/os/get_started/cross_tools/#install-openocd", 
-            "text": "OpenOCD (Open On-Chip Debugger) is open-source software that allows your\ncomputer to interface with the JTAG debug connector on a variety of boards.  A\nJTAG connection lets you debug and test embedded target devices. For more on\nOpenOCD go to  http://openocd.org .  $ brew install open-ocd\n$ which openocd\n/usr/local/bin/openocd\n$ ls -l $(which openocd)\nlrwxr-xr-x  1  user   admin  36 Sep 17 16:22 /usr/local/bin/openocd -  ../Cellar/open-ocd/0.9.0/bin/openocd", 
+            "text": "OpenOCD (Open On-Chip Debugger) is open-source software that allows your\ncomputer to interface with the JTAG debug connector on a variety of boards.  A\nJTAG connection lets you debug and test embedded target devices. For more on\nOpenOCD go to  http://openocd.org .  OpenOCD version 0.10.0 with nrf52 support is required.  A binary for this version is available to download for Mac OS and Linux.", 
             "title": "Install OpenOCD"
         }, 
         {
-            "location": "/os/get_started/cross_tools/#install-arm-cross-arm-tools-for-linux", 
-            "text": "", 
-            "title": "Install ARM cross arm tools for Linux"
+            "location": "/os/get_started/cross_tools/#install-openocd-on-mac-os", 
+            "text": "Step 1: Download the  binary tarball for Mac OS .  Step 2: Change to the root directory:   $cd /   \nStep 3: Untar the tarball and install into   /usr/local/bin .  You will need to replace   ~/Downloads   with the directory that the tarball is downloaded to.    sudo tar -xf ~/Downloads/openocd-bin-0.10.0-MacOS.tgz `   \nStep 4: Check the OpenOCD version you are using:   $which openocd\n/usr/local/bin/openocd\n$openocd -v\nOpen On-Chip Debugger 0.10.0\nLicensed under GNU GPL v2\nFor bug reports, read\nhttp://openocd.org/doc/doxygen/bugs.html  You should see version:  0.10.0 .", 
+            "title": "Install OpenOCD on Mac OS"
         }, 
         {
-            "location": "/os/get_started/cross_tools/#install-tool-chain_1", 
-            "text": "On a Debian-based Linux distribution, gcc 4.9.3 for ARM can be installed with\napt-get as documented below. The steps are explained in depth at https://launchpad.net/~team-gcc-arm-embedded/+archive/ubuntu/ppa .  $ sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi \n$ sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa\n$ sudo apt-get update \n$ sudo apt-get install gcc-arm-none-eabi\n$ sudo apt-get install gdb-arm-none-eabi", 
-            "title": "Install Tool Chain"
+            "location": "/os/get_started/cross_tools/#install-openocd-on-linux", 
+            "text": "Step 1: Download the  binary tarball for Linux  Step 2: Change to the root directory:   $cd /   \nStep 3: Untar the tarball and install into   /usr/local/bin .  You will need to replace   ~/Downloads   with the directory that the tarball is downloaded to.     Note:  You must specify the -p option for the tar command.  $sudo tar -xpf ~/Downloads/openocd-bin-0.10.0-Linux.tgz  \nStep 4: Check the OpenOCD version you are using:   $which openocd\n/usr/local/bin/openocd\n$openocd -v\nOpen On-Chip Debugger 0.10.0\nLicensed under GNU GPL v2\nFor bug reports, read\nhttp://openocd.org/doc/doxygen/bugs.html  You should see version:  0.10.0 .   If you see any of these error messages:    openocd: error while loading shared libraries: libhidapi-hidraw.so.0: cannot open shared object file: No such file or directory    openocd: error while loading shared libraries: libusb-1.0.so.0: cannot open shared object file: No such file or directory     run the following command to instal
 l the libraries:   $sudo apt-get install libhidapi-dev:i386", 
+            "title": "Install OpenOCD on Linux"
         }, 
         {
-            "location": "/os/get_started/cross_tools/#install-openocd_1", 
-            "text": "OpenOCD (Open On-Chip Debugger) is open-source software that allows your\ncomputer to interface with the JTAG debug connector on a variety of boards.  A\nJTAG connection lets you debug and test embedded target devices. For more on\nOpenOCD go to  http://openocd.org .  If you are running Ubuntu 15.x, then you are in luck and you can simply run:   $ sudo apt-get install openocd   For this project, you should download the openocd 0.8.0 package from https://launchpad.net/ubuntu/vivid/+source/openocd .\nThe direct link to the amd64 build is http://launchpadlibrarian.net/188260097/openocd_0.8.0-4_amd64.deb .", 
-            "title": "Install OpenOCD"
+            "location": "/os/get_started/cross_tools/#install-seggar-j-link", 
+            "text": "You can download and install Segger J-LINK Software and documentation pack from  SEGGER .", 
+            "title": "Install SEGGAR J-Link"
         }, 
         {
             "location": "/os/get_started/docker/", 
@@ -347,7 +352,7 @@
         }, 
         {
             "location": "/os/get_started/project_create/", 
-            "text": "Create Your First Mynewt Project\n\n\nThis page shows how to create a Mynewt Project using the \nnewt\n command-line tool.\n\n\n\n\nPre-Requisites\n\n\n\n\nNewt:\n\n\nIf you have taken the Docker route, you have already installed Newt.\n\n\nIf you have taken the native install route, you have to ensure that you have installed the Newt tool following the instructions for \nMac\n or \nLinux\n as appropriate, and that the \nnewt\n command is in your system path. \n\n\n\n\n\n\nYou must have Internet connectivity to fetch remote Mynewt components.\n\n\nYou must \ninstall the compiler tools\n to \nsupport native compiling to build the project this tutorial creates.  \n\n\n\n\n\n\nNewt New\n\n\nChoose a project name. For this tutorial we will call this project \nmyproj\n.\nEnter the \nnewt new myproj\n command. \n\n\n$ newt new myproj\nDownloading project skeleton from apache/incubator-mynewt-blinky...\nInstalling skeleton in myproj...\nProject myproj successfully crea
 ted.\n\n\n\n\n\n\n\nNewt populates this new project with a base skeleton of a new Apache Mynewt \nproject.  It has the following structure. \n\n\nNote\n: If you do not have \ntree\n, install it by running \nbrew install tree\n.\n\n\n$ cd myproj\n$ tree \n.\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 blinky\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0         \u2514\u2500\u2500 main.c\n\u251c\u2500\u2500 project.yml\n\u2514\u2500\u2500 targets\n    \u251c\u2500\u2500 my_blinky_sim\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 target.yml\n    \u2514\u2500\u2500 unittest\n        \u251c\u2500\u2500 pkg.yml\n        \u2514\u2500\u2500 target.yml\n\n6 directories, 11 files\n\n\n\n\n\n\n\nThe Newt tool has installed the base files for a
  project comprising the following:\n\n\n\n\nThe file \nproject.yml\n contains the repository list that the project uses to fetch\nits packages. Your project is a collection of repositories.  In this case, the project just\ncomprises the core mynewt repository.  Later you will add more repositories\nto include other mynewt components.\n\n\nThe file \napps/blinky/pkg.yml\n contains the description of your application\nand its package dependencies.\n\n\nA \ntarget\n directory containing \nmy_blinky_sim\n, a target descriptor used to\nbuild a version of myproj.  Use \nnewt target show\n to see available build \ntargets.\n\n\nA non-buildable target called \nunittest\n.  This is used internally by \nnewt\n and is not a formal build target.\n\n\n\n\nNOTE:\n The actual code and package files are not installed \n(except the template for \nmain.c\n).  See the next step for installing the packages.\n\n\nNOTE:\n By default newt uses the code in the master branch. This is the latest stable\ncode
  for newt. If you need to use a different branch, you can set this in the project.yml\nfile. \n\n\nrepository.apache-mynewt-core:\n    type: github\n    vers: 1-latest\n    user: apache\n    repo: incubator-mynewt-core\n\n\n\n\n\nChanging to 1-dev will put you on the develop branch. \nThe Develop Branch may not be stable and you may encounter bugs or other problems.\n\n\n\n\nNewt Install\n\n\nOnce you've switched into your new project's directory, the next step is to fetch\nany dependencies this project has.  By default, all Newt projects rely on a\nsingle remote repository, apache-mynewt-core.  The \nnewt install\n command will\nfetch this repository.\n\n\n$ newt install\napache-mynewt-core\n\n\n\n\n\nNOTE:\n \napache-mynewt-core\n may take a while to download.  To see progress,\nuse the \n-v\n (verbose) option to install. \n\n\n\n\nOnce \nnewt install\n has successfully finished, the contents of \napache-mynewt-core\n will have been downloaded into your local directory.  You can v
 iew them by issuing the following commands in the base directory of the new project. The actual output will depend on what is in the latest 'master' branch you have pulled from.\n\n\n$ tree -L 2 repos/apache-mynewt-core/\n\nrepos/apache-mynewt-core/\n\u251c\u2500\u2500 CODING_STANDARDS.md\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 RELEASE_NOTES.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 blecent\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 blehci\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph_oic\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 blesplit\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bletest\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bletiny\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bleuart\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 boot\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 fat2native\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 ffs2native\n\u25
 02\u00a0\u00a0 \u251c\u2500\u2500 ocf_sample\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 slinky\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 slinky_oic\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 spitest\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 splitty\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 testbench\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 timtest\n\u251c\u2500\u2500 boot\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 boot_serial\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bootutil\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 split\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 split_app\n\u251c\u2500\u2500 compiler\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 arm-none-eabi-m0\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 arm-none-eabi-m4\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 gdbmacros\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mips\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 sim\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 sim-mips\n\u251c\u2500\u2500 crypto\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mbedtls\n\u25
 02\u00a0\u00a0 \u2514\u2500\u2500 tinycrypt\n\u251c\u2500\u2500 docs\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 doxygen.xml\n\u251c\u2500\u2500 encoding\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 base64\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 cborattr\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 json\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 tinycbor\n\u251c\u2500\u2500 fs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 disk\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 fatfs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 fcb\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 fs\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 nffs\n\u251c\u2500\u2500 hw\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bsp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 cmsis-core\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 drivers\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 hal\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mcu\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 scripts\n\u251c\u2500\u2500 kernel\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 os\n\u251c\u2500\u2500 libc\n\u2502\u00a0\u00a0 \u2514\u250
 0\u2500 baselibc\n\u251c\u2500\u2500 mgmt\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 imgmgr\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mgmt\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 newtmgr\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 oicmgr\n\u251c\u2500\u2500 net\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 ip\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 nimble\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 oic\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 wifi\n\u251c\u2500\u2500 project.yml\n\u251c\u2500\u2500 repository.yml\n\u251c\u2500\u2500 sys\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 config\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 console\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 coredump\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 defs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 flash_map\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 id\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 log\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mfg\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 reboot\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 shell\n\u2502\u00a0\u00a0 \u251c\u2
 500\u2500 stats\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 sysinit\n\u251c\u2500\u2500 targets\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 unittest\n\u251c\u2500\u2500 test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 crash_test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 flash_test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 runtest\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 testutil\n\u251c\u2500\u2500 time\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 datetime\n\u2514\u2500\u2500 util\n    \u251c\u2500\u2500 cbmem\n    \u251c\u2500\u2500 crc\n    \u2514\u2500\u2500 mem\n\n94 directories, 9 files\n\n\n\n\n\nAs you can see, the core of the Apache Mynewt operating system has been brought \ninto your local directory. \n\n\n\n\nTest the project's packages\n\n\nYou have already built your first basic project. You can ask Newt to execute the unit tests in a package. For example, to test the \nsys/config\n package in the \napache-mynewt-core\n repo, call newt as shown below.\n\n\n$ newt test @apache-mynewt-core/sys/config\
 nTesting package @apache-mynewt-core/sys/config/test-fcb\nCompiling bootutil_misc.c\nCompiling image_ec.c\nCompiling image_rsa.c\nCompiling image_validate.c\n\n    ...\n\nLinking ~/dev/myproj/bin/targets/unittest/sys_config_test-fcb/app/sys/config/test-fcb/sys_config_test-fcb.elf\nExecuting test: ~/dev/myproj/bin/targets/unittest/sys_config_test-fcb/app/sys/config/test-fcb/sys_config_test-fcb.elf\nTesting package @apache-mynewt-core/sys/config/test-nffs\nCompiling repos/apache-mynewt-core/encoding/base64/src/hex.c\nCompiling repos/apache-mynewt-core/fs/fs/src/fs_cli.c\nCompiling repos/apache-mynewt-core/fs/fs/src/fs_dirent.c\nCompiling repos/apache-mynewt-core/fs/fs/src/fs_mkdir.c\nCompiling repos/apache-mynewt-core/fs/fs/src/fs_mount.c\nCompiling repos/apache-mynewt-core/encoding/base64/src/base64.c\nCompiling repos/apache-mynewt-core/fs/fs/src/fs_file.c\nCompiling repos/apache-mynewt-core/fs/disk/src/disk.c\nCompiling repos/apache-mynewt-core/fs/fs/src/fs_nmgr.c\nCompiling repos/a
 pache-mynewt-core/fs/fs/src/fsutil.c\nCompiling repos/apache-mynewt-core/fs/nffs/src/nffs.c\n\n     ...\n\nLinking ~/dev/myproj/bin/targets/unittest/sys_config_test-nffs/app/sys/config/test-nffs/sys_config_test-nffs.elf\nExecuting test: ~/dev/myproj/bin/targets/unittest/sys_config_test-nffs/app/sys/config/test-nffs/sys_config_test-nffs.elf\nPassed tests: [sys/config/test-fcb sys/config/test-nffs]\nAll tests passed\n\n\n\n\n\nNOTE:\n If you've installed the latest gcc using homebrew on your Mac, you will likely be running gcc-6. Make sure you have adjusted the compiler.yml configuration to reflect that as noted in \nNative Install Option\n. You can choose to downgrade to gcc-5 in order to use the default gcc compiler configuration for MyNewt.\n\n\nNOTE:\n If you are running the standard gcc for 64-bit machines, it does not support 32-bit. In that case you will see compilation errors. You need to install multiboot gcc (e.g. gcc-multilib if you running on a 64-bit Ubuntu).\n\n\n$ brew 
 uninstall gcc-6\n$ brew link gcc-5\n\n\n\n\n\n\n\nTo test all the packages in a project, specify \nall\n instead of the package name.\n\n\n$ newt test all\nTesting package @apache-mynewt-core/boot/boot_serial/test\nCompiling repos/apache-mynewt-core/boot/boot_serial/test/src/boot_test.c\nCompiling repos/apache-mynewt-core/boot/boot_serial/test/src/testcases/boot_serial_setup.c\n\n     ...\n\nLinking ~/dev/myproj/bin/targets/unittest/boot_boot_serial_test/app/boot/boot_serial/test/boot_boot_serial_test.elf\n\n...lots of compiling and testing...\n\nLinking ~/dev/myproj/bin/targets/unittest/util_cbmem_test/app/util/cbmem/test/util_cbmem_test.elf\nExecuting test: ~/dev/myproj/bin/targets/unittest/util_cbmem_test/app/util/cbmem/test/util_cbmem_test.elf\nPassed tests: [boot/boot_serial/test boot/bootutil/test crypto/mbedtls/test encoding/base64/test encoding/cborattr/test encoding/json/test fs/fcb/test fs/nffs/test kernel/os/test net/ip/mn_socket/test net/nimble/host/test net/oic/test sys
 /config/test-fcb sys/config/test-nffs sys/flash_map/test sys/log/full/test util/cbmem/test]\nAll tests passed\n\n\n\n\n\n\n\nBuild the Project\n\n\nTo build and run your new application, simply issue the following command:\n\n\n$ newt build my_blinky_sim \nBuilding target targets/my_blinky_sim\nCompiling repos/apache-mynewt-core/hw/hal/src/hal_common.c\nCompiling repos/apache-mynewt-core/hw/drivers/uart/src/uart.c\nCompiling repos/apache-mynewt-core/hw/hal/src/hal_flash.c\nCompiling repos/apache-mynewt-core/hw/bsp/native/src/hal_bsp.c\nCompiling repos/apache-mynewt-core/hw/drivers/uart/uart_hal/src/uart_hal.c\nCompiling apps/blinky/src/main.c\n\n    ...\n\n\nArchiving sys_mfg.a\nArchiving sys_sysinit.a\nArchiving util_mem.a\nLinking ~/dev/myproj/bin/targets/my_blinky_sim/app/apps/blinky/blinky.elf\nTarget successfully built: targets/my_blinky_sim\n\n\n\n\n\n\n\nRun the Project\n\n\nYou can run the simulated version of your project and see the simulated LED\nblink. If you are using n
 ewt docker, use \nnewt run\n to run the simulated binary.\n\n\n$ newt run my_blinky_sim\nLoading app image into slot 1\n    ...\nDebugging ~/dev/myproj/bin/targets/my_blinky_sim/app/apps/blinky/blinky.elf\n    ...\nReading symbols from /bin/targets/my_blinky_sim/app/apps/blinky/blinky.elf...done.\n(gdb)\n\n\n\n\n\nType \nr\n at the \n(gdb)\n prompt to run the project. You will see an output indicating that the hal_gpio pin is toggling between 1 and 0 in a simulated blink.\n\n\nIf you natively install the toolchain, you can either use \nnewt run\n or call the binary directly. Generally, \nnewt run\n is the expected way to call things.\n\n\n$ ./bin/targets/my_blinky_sim/app/apps/blinky/blinky.elf\nhal_gpio set pin  1 to 0\n\n\n\n\n\n\n\nComplete\n\n\nCongratulations, you have created your first project!  The blinky application\nis not terribly exciting when it is run in the simulator, as there is no LED to\nblink.  Apache Mynewt has a lot more functionality than just running simulated
 \napplications.  It provides all the features you'll need to cross-compile your\napplication, run it on real hardware and develop a full featured application.\n\n\nIf you're interested in learning more, a good next step is to dig in to one of\nthe \ntutorials\n and get a Mynewt project running on real hardware.\n\n\nHappy Hacking!", 
+            "text": "Create Your First Mynewt Project\n\n\nThis page shows how to create a Mynewt Project using the \nnewt\n command-line tool.\n\n\n\n\nPre-Requisites\n\n\n\n\nNewt:\n\n\nIf you have taken the Docker route, you have already installed Newt.\n\n\nIf you have taken the native install route, you have to ensure that you have installed the Newt tool following the instructions for \nMac\n or \nLinux\n as appropriate, and that the \nnewt\n command is in your system path. \n\n\n\n\n\n\nYou must have Internet connectivity to fetch remote Mynewt components.\n\n\nYou must \ninstall the compiler tools\n to \nsupport native compiling to build the project this tutorial creates.  \n\n\n\n\n\n\nNewt New\n\n\nChoose a project name. For this tutorial we will call this project \nmyproj\n.\nEnter the \nnewt new myproj\n command. \n\n\n$ newt new myproj\nDownloading project skeleton from apache/incubator-mynewt-blinky...\nInstalling skeleton in myproj...\nProject myproj successfully crea
 ted.\n\n\n\n\n\n\n\nNewt populates this new project with a base skeleton of a new Apache Mynewt \nproject.  It has the following structure. \n\n\nNote\n: If you do not have \ntree\n, install it by running \nbrew install tree\n.\n\n\n$ cd myproj\n$ tree \n.\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 blinky\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0         \u2514\u2500\u2500 main.c\n\u251c\u2500\u2500 project.yml\n\u2514\u2500\u2500 targets\n    \u251c\u2500\u2500 my_blinky_sim\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 target.yml\n    \u2514\u2500\u2500 unittest\n        \u251c\u2500\u2500 pkg.yml\n        \u2514\u2500\u2500 target.yml\n\n6 directories, 11 files\n\n\n\n\n\n\n\nThe Newt tool has installed the base files for a
  project comprising the following:\n\n\n\n\nThe file \nproject.yml\n contains the repository list that the project uses to fetch\nits packages. Your project is a collection of repositories.  In this case, the project just\ncomprises the core mynewt repository.  Later you will add more repositories\nto include other mynewt components.\n\n\nThe file \napps/blinky/pkg.yml\n contains the description of your application\nand its package dependencies.\n\n\nA \ntarget\n directory containing \nmy_blinky_sim\n, a target descriptor used to\nbuild a version of myproj.  Use \nnewt target show\n to see available build \ntargets.\n\n\nA non-buildable target called \nunittest\n.  This is used internally by \nnewt\n and is not a formal build target.\n\n\n\n\nNOTE:\n The actual code and package file

<TRUNCATED>