Install/Remove Legato via Command-Line
The following directions will guide you to set up your Linux development machine, download the Legato AF and install a build on your Target Device using the command line.
Install Linux Packages
$ sudo apt-get install build-essential \ python python-jinja2 python-pkg-resources cmake \ git subversion libsdl-dev \ diffstat texinfo gawk chrpath wget cpio \ vim zsh bash ninja-build screen sshpass \ bc python-git unzip libxml2-utils gcovr \ libcurl4-gnutls-dev zlib1g-dev libbz2-dev \ bsdiff libssl-dev autoconf automake
Optional packages: vim (or any text editor), zsh (command interpreter for shell scripting), openjdk-8-jdk (for Java support) doxygen graphviz (for doc generation) TLA toolbox (Formal specification & verification).
Install a Toolchain
If you are building the Legato AF for a SWI WP Series Device you will need to download and install a Toolchain which includes GCC and other tools needed to make a build for your Target Device. If you are building Legato AF directly on a Raspberry Pi then no toolchain is needed and you only need to install the native GCC. If you are cross-compiling the Legato AF on a Linux machine for use on a Raspberry Pi Device, then you will need to install Raspberry Pi's toolchain.
SWI WP Series Device Toolchain
Sierra Wireless platforms download the toolchain.
Once you've downloaded the SWI toolchain installer you may need to grant execute rights before it can be run.
$ chmod +x <toolchain>
Upon running the toolchain installer you will be prompted where you want to install the tools.
Enter:
/opt/swi/y17-ext-<legato version>
When prompted, answer "Y" to proceed with the install.
$ ./poky-swi-ext-glibc-x86_64-meta-toolchain-swi-ext-armv7a-vfp-neon-toolchain-swi-ext-1.7.3.sh Enter target directory for SDK (default: /opt/swi/y17-ext): /opt/swi/y17-ext-1610 You are about to install the SDK to "/opt/swi/y17-ext-1610". Proceed[Y/n]?Y Extracting SDK...done Setting it up...done SDK has been successfully set up and is ready to be used.
Create a soft link from the versioned folder to /y17-ext (delete the existing soft link if needed)
$ cd /opt/swi $ rm y-17-ext $ ln -s y17-ext-1610 y17-ext
- Note
- Each version of Legato requires its own toolchain. To support multiple versions on one host:
- create a folder for each version
- update the softlink "/opt/swi/y17-ext" to point to the legato version that are currently working with. To change versions update the soft link to point to the new Legato version you are working with.
Raspberry Pi Toolchain
Raspberry Pi platforms (clone from the GitHub repo):
git clone https://github.com/raspberrypi/tools
Copy the /tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian
directory to a shared location on your Linux Development Host.
Add /tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
to your $PATH
export PATH=$PATH:${PWD}/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
- Note
- The 64bit Raspberry Pi toolchain is located:
/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64
Download the Source Code
To start with building Legato you first need to download or clone the source.
Download Tarball
Visit our Release Info page to download the Legato AF.
Download the Tarball and extract it to a directory on your local machine
$ mkdir legato-demo $ mv ~/Downloads/legato-16.10.1.tar.bz2 legato-demo/ $ cd legato-demo/ $ tar -xvf legato-16.10.1.tar.bz2
Clone from GitHub
The GitHub Legato Project provides all up-to-date code development as well as official releases. To clone the latest official release clone the last release tag (e.g., -m legato/releases/16.10.1.xml), and not the master branch.
See the Releases page to list the supported releases.
Install repo:
On Ubuntu >= 16.04
$ sudo apt-get install repo
On <= 16.04
$ sudo apt-get install phablet-tools
OR
$ wget -O ~/bin/repo https://storage.googleapis.com/git-repo-downloads/repo $ chmod a+x ~/bin/repo
Clone a specific release:
$ mkdir workspace $ cd workspace $ repo init -u git://github.com/legatoproject/manifest -m legato/releases/16.10.1.xml $ repo sync
Clone from master (latest in progress development):
$ mkdir workspace $ cd workspace $ repo init -u git://github.com/legatoproject/manifest $ repo sync
Directory Structure Overview
Directory Structure on your Host Machine:
Directory | Description |
---|---|
apps | Source Code for Apps |
bin | Created by build system and populated with executable files run on the development host that ran the build. Contains files like mksys , app and update . |
build | Results of a framework build. Includes build/tools and build/target . |
cmake | CMake scripts used by the build system. |
components | Platform-independent components that are used in apps. |
framework | Source code for the Legato framework. |
targetFiles | Files needed for installation on target devices. |
platformAdaptor | Components specific to specific platforms. **covered under other licenses |
modules | Other repositories that extend Legato. |
3rdParty | Third-party code that is integrated with Legato. **covered under other licenses |
Tools and Make
You are now ready to work with your host and your target device.
Section | Description |
---|---|
Tools | Tools used for building/configuring/diagnosing your target or host |
Make | How to Make a build and Update a Target Device |
Configure SWI WP Series Target | How to setup and configure a Target Device |
WP Series Software | Tools to install and build the Legato AF with Developer Studio on either Windows or Linux. |
- Note
- Sierra Wireless WP Series Software includes free development tools for use with the WP Series Devices. These tools will install an Eclipse based IDE with the toolchain, Legato AF pre-built, Legato Linux Distro and can be used either with Windows or Linux.
Uninstall Legato
To uninstall Legato from your Linux development machine, delete the directory where you extracted Legato.
Remove the /opt/swi
directory and all of it contents.
Revert any changes you may have made to your .bashrc, .profile etc. that were used to set up xxxxx_TOOLCHAIN_DIR and related build environment variables.
Remove any packages (that are no longer needed) that were installed in Install Linux Packages .
Copyright (C) Sierra Wireless Inc.