Linux Distribution Overview
- Dec 12, 2017
- Author: Sierra Wireless
General information on Sierra Wireless' Linux Distributions
This page contains general information about Sierra Wireless Linux based distributions. Each module maintains it's own reference platform which includes a customized Linux Distribution. For specific information on the Linux Distribution for your module, please visit the module's firmware page or talk to your Field Application Engineer.
Overview
Sierra Wireless provides embedded Linux BSPs that include customizations that take advantage of the the AirPrime module features. The Linux BSP was created using the tools, templates and methods developed by the Yocto Project. Sierra Wireless maintains 2 layers in the BSP called meta-swi and meta-swi-extras; these layers provide build scripts and proprietary data, meta data and device specific sources.
Our Linux based distribution is open source, and we provide our source files for use as a reference to create your own Linux based distribution by adding your own layer on top of our distribution. The Yocto Project provides a system and tools to build custom embedded Linux based distributions based on layering principles and provides documentation and instruction on creating your own Linux based distribution.
Source Code and Binary Images
To obtain a copy of the source code, binary image or the BSPs toolchain for the Linux Distribution see the Firmware Component section for your AirPrime module.
The tarball unpacks into the following directory structure:
yocto --+-- poky
|
+-- meta-openembedded
|
+-- downloads
|
+-- kernel
|
+-- lk
|
+-- meta-swi
|
`-- meta-swi-extras ---- meta-swi-<chipset>-src
|
`-- meta-swi-<chipset>-bin
| Directory | Contains |
| poky |
the implementation of the bitbake build service and bitbake core recipes. |
| meta-openembedded |
recipes which define the open embedded core distribution created with the Yocto Project. |
| downloads |
pre-downloaded source code archives of open source packages. |
| kernel |
Linux kernel tree provided by Qualcomm and customized by Sierra Wireless. |
| lk |
Little kernel based android bootloader. |
| meta-swi |
recipes that define the customizations done by Sierra Wireless for the BSP. |
| meta-swi-extras/meta-swi-<chipset>-src |
Source files to build Sierra Wireless software (non-proprietary). |
| meta-swi-extras/meta-swi-<chipset>-bin |
Binary files for pre-built packages in which we are not able to release source code because of licensing agreements. |
Once you've downloaded an expanded the source code you can create your own images by running from the base directory (running make image_bin may take up to an hour depending on your development machine):
make image_bin
Once the images have been created they can be found here:
cd build_bin/tmp/deploy/images/swi-<chipset>/
Linux Distribution Image: boot-yocto.cwe
Implimentation instructions for rebuilding images and the toolchain are contained within the file /meta-swi-extras/README.build within the Linux Distribution.
Before using any of the Yocto tools you will need to setup the appropriate environment variables for the Linux Distribution, we have included a script to do this for you within the Linux Distribution:
. ./poky/oe-init-build-env
Update Linux Image
Once you have built your images you can update your Linux Distro on your target by using the Sierra Wireless swicwe tool. To build a new firmware image you must include the Modem Firmware, MCU Firmware the Linux Distribution and the Base Legato System, you can download the images from the modules firmware components page.
Example swicwe command:
swicwe -o custom-firmware.spk -c modemFW.spk mcuFW.cwe boot-yocto.cwe legatoz.cwe
Note 1: you may decide to generate a custom Device Image without the full list of components (e.g. without Modem Firmware or without the Linux Distribution). If you do so, when you will flash this image later, only the components included within the custom Device Image package will be updated, the others will remain untouched. By doing this, you shall insure that the untouched components are compliant with the ones you are updating through the custom Device Image.
Note 2: if your custom Device Image is including a Base Legato System, when you will flash this image later, the Overlay Legato System will be erased and reinitialized with the same content as the Base Legato System.
Linux Distribution Customization
The following articles help you navigate some of the common configuration that you may need to do with your Module:
| Document | Description | Module(s) |
| Out-of-tree Kernel Modules |
How to prepare, builld and load out-of-tree kernel drivers with Legato AF | ALL |
| Customize UART | How to customize a UART port to configure it as an application serial port | WPX5XX |
| Customize USB | How to customize USB behaviour | AR755X, AR8653, WPX5XX |