Configuring and setting up the VSB and VIP is known as platform development.
VxWorks Directory Structure and Package Management
Learning Objectives
After this section you will be able to:
- Navigate the VxWorks file directory
- Understand what a layer is and its role in VxWorks
File hygiene is important on any project, so it is important to know where everything is. This section will guide you through the VxWorks file system.
The Journey through the file system
Step by step to learn about the VxWorks file structure.
Top of the Installation Directory
The top-level directory of your installation contains:
3pp-download/ | compilers/ | download/ |
etc/ | legal-notices/ | license/ |
maintenance/ | readme/ | setup/ |
utilities/ | vxworks/ | workbench-4/ |
Compilers
This directory contains the compilers installed with your VxWorks. Third party compilers are supported and would be installed here too. By default, it has two:
- lvm
- Rust
VxWorks supports multiple versions of the same compiler, so if errors are encountered, you can easily revert to the old compiler.
For details on how to port a third-party compiler, refer to the VxWorks Configuration and Build Guide.
Miscellaneous Directories
The top-level directory of your installation contains the following subdirectories for miscellaneous purposes:
- etc/ contains installation configurations
- license/ contains user license files
- maintenance/ contains the Wind River installer utility
- utilities/ contains various important binary utilities used by Workbench
- setup/ contains product installation scripts
workbench-4 Directory
In this directory you will find all the files pertaining to the Workbench IDE. Some notable paths from here are:
- Samples- This gives an example project for each of the VxWorks project types.
- Simulator and Simics- These contain the files for the VxWorks simulator and the Simics simulator.
- startWorkbench.bat- This is a startup script to launch Workbench.
vxworks Directory
This is the VxWorks release directory. In this course it is 22.06 but yours may be different. It can be found at vxworks/release, this directory contains the following subdirectories:
- docs/ contains product documentation
- host/ contains development host utilities
- man/ contains API references
- samples/ contains example and prebuilt projects
source Directory
Within the source directory you will find all the components that VxWorks uses to build the VSB. It can be found in vxworks/release/source and contain the following subdirectories:
- boot/ contains boot loader technology (such as BIOS, UEFI, and VxBL)
- build/ contains makefiles and build rules
- contrib/ contains third-party layers
- features/ contains feature CDF files
- installset_data/ contains a list of installed layers, BSPs, architectures, and compilers
- os/ contains the VxWorks kernel layers
VxWorks Layers Directory
The Layers directory contains VxWorks libraries and components. The directory is located at vxworks/release/source/os and contains the following subdirectories:
- arch/ contains architecture layers
- connectivity/ contains USB, FireWire, Bluetooth, and other layers
- container/ contains container runtime and management layers
- multimedia/ contains UI layers
- net/ contains the network stack
- security/ contains OpenSSL, crypto, and others
- storage/ contains file systems
Board Support Packages Directories
The BSP directory is located at vxworks/release/source/os/arch.
BSPs are categorized by their architecture (Arm, Intel, PowerPC, or RISC-V) and, in the subsequent board directory, their silicon vendor.
The Git Directory
By default, the VxWorks installer installs the kernel source code in a Git directory. The Git directory let you perform source code management on the VxWorks source code, such as:
- Commits
- Branches
- The use of remote Git Repositories
You do not need these source code management actives to build or use VxWorks. In essence, the kernel source code Git directory acts as a traditional, unmanaged file system directory.
You can also disable the Git option. In that case, the installer deploys the kernel sources as an unmanaged install tree directory.
Summary
Now that you have seen where all the different directories are located, take a look through them. Many projects require third-party plug-ins and custom libraries, and now you are equipped with navigating them.
With VxWorks, you can customize a feature... through layers.
Layers deliver features that a VSB project can build into VxWorks libraries.
Inside and Outside Layers
Inside Layer
An inside layer is located in the Wind River install directory, at installDir/vxworks/release/source/os/. All layers provided by Wind River are considered inside layers, and many custom layers are too.
Outside Layer
Outside layers are created and saved outside of the Wind River installation directory. As an example, board venders who write drivers or BSPs may want to deliver their software without modifying the install directory of VxWorks.
The workflow to create, use, and share custom inside or outside layers is as follows:
- Create a layer on a workstation.
- Add the layer to a VSB and test it with a VIP.
- Export the layer in an RPM.
- Import the layer RPM on another workstation containing a fresh VxWorks installation.
- You can uninstall custom layers without adversely affecting the Wind River installation, even if they are inside layers.