This guide provides a comprehensive walkthrough for installing the SigmaStar SDK on your Linux development environment. Whether you are working with the SSC335, MSC313E, or the latest SSD series, the setup process remains largely consistent. SigmaStar SDK Installation: A Step-by-Step Guide
SigmaStar (formerly part of MStar) has become a powerhouse in the IP camera and automotive dashcam SoC market. However, getting their SDK (Software Development Kit) up and running can be a hurdle for developers accustomed to more streamlined environments like Raspberry Pi.
This guide will help you prepare your host machine, install the toolchain, and compile your first project. 1. Prerequisites & System Requirements
SigmaStar SDKs are designed to be compiled on Ubuntu Linux. While newer versions might work, Ubuntu 16.04 or 18.04 (64-bit) are the most stable environments for these legacy-heavy build systems. Essential Packages
Before extracting the SDK, install the necessary build dependencies:
sudo apt-get update sudo apt-get install -y build-essential libncurses5-dev manual-node-auto \ bc u-boot-tools qemu-user-static python-pip recovery-mode-util \ liblzo2-dev zlib1g-dev libssl-dev libc6-i386 Use code with caution. 2. Extracting the SDK
SigmaStar SDKs usually arrive as a collection of compressed .tar.gz or .7z files. Typically, the structure includes: kernel: The Linux kernel source. project: The build scripts and configuration files. sdk: High-level libraries (MPI/Middleware). toolchain: The cross-compiler.
Move your files to a clean directory (e.g., ~/sigmastar) and extract them: tar -xvf sigmastar_sdk_version.tar.gz Use code with caution. 3. Installing the Toolchain sigmastar sdk install
The toolchain is the most critical component. It allows your x86 computer to compile code for the ARM-based SigmaStar chip.
Locate the toolchain folder (often named arm-linux-gnueabihf- or similar). Extract it to /opt/ or your preferred directory. Add the toolchain to your system PATH: export PATH=$PATH:/opt/sigmastar/toolchain/bin Use code with caution.
Note: To make this permanent, add the line above to your ~/.bashrc file. Verify the installation: arm-linux-gnueabihf-gcc -v Use code with caution. 4. Configuring the Project
SigmaStar uses a "Project" based build system. Navigate to the project directory to select your specific chip and board configuration. cd project/configs Use code with caution.
Find the config file that matches your hardware (e.g., nvr_ssc335_display_demo_defconfig). Run the configuration command:
# From the /project directory ./setup_config.sh configs/nvr_ssc335_display_demo_defconfig Use code with caution. 5. Compiling the SDK
Once configured, you can trigger the full build. This will compile the bootloader (U-Boot), the Kernel, and the root file system (RootFS). # Start the build process make all Use code with caution. 5) Configure SDK for your board / SoC
Tip: Use make all -j$(nproc) to utilize all your CPU cores and speed up the process. 6. Locating Output Images
After a successful build, your flashable images will typically be found in:project/image/output/ Common files include: IPL.bin: The Initial Program Loader. u-boot.bin: The bootloader. kernel: The Linux kernel image. rootfs.bin: The main file system. Troubleshooting Common Issues
Missing 32-bit Libraries: If the toolchain fails to run, you likely need libc6-i386.
Permission Denied: Ensure you have ownership of the SDK folder. Avoid running make as sudo unless necessary.
Python Versions: Some older scripts require Python 2.7 specifically. Use alias python=python2 if the build scripts throw syntax errors.
By following these steps, you should have a functional environment ready for SigmaStar development. From here, you can begin exploring the MPI (Media Process Interface) to handle video encoding and image processing.
setup_board.sh.Example kernel build config:
cd $SIGMA_SDK/bsp/linux
make <board>_defconfig
make -j$(nproc) CROSS_COMPILE=$CROSS_COMPILE ARCH=$ARCH
SigmaStar often requires proprietary blobs (Wi-Fi firmware, audio codecs). If the config complains about missing files, check:
sdk/3rdparty/$VENDOR/
Copy any missing .bin or .ko files from the extra/ folder provided by your module vendor.
From the project/ directory:
make clean
make all 2>&1 | tee build.log
The | tee saves output to build.log – essential for debugging failures.
| Issue | Solution |
|-------|----------|
| arm-linux-gnueabihf-gcc: command not found | Toolchain path not set – re-check export line |
| /opt/toolchains/ not found | Run install script with sudo |
| mkfs.ubifs: command not found | sudo apt install mtd-utils |
| gcc: error: unrecognized command line option '-m32' | Install multilib: sudo apt install gcc-multilib |
| can't find dtc | sudo apt install device-tree-compiler |
# Write a simple C file
echo '#include <stdio.h>
int main() printf("SigmaStar SDK OK\n"); return 0; ' > test.c
5. Compiling the SDK
The compilation process for Sigmastar is modular but generally follows a specific order.
Host System
- Ubuntu 18.04 / 20.04 LTS (recommended)
- 50GB+ free disk space
- Standard build tools installed:
sudo apt update
sudo apt install -y git wget make gcc g++ libssl-dev \
libncurses5-dev flex bison gawk perl sed \
cpio unzip bc openssl libc6-dev-i386 \
lib32z1 device-tree-compiler
Step 7.2: Incremental Builds
After the first success, you can build components individually: Locate config files: bsp/config, board/, or scripts like
make uboot # Only u-boot
make kernel # Only Linux kernel
make modules # Kernel modules
make filesystem # Rootfs
make image # Pack final firmware (image/ dir)