Skip to main content

Board Support Package

The Board Support Package (BSP) is the low-level software that brings a SiMa.ai board from power-on to a usable Linux userspace. Higher-level workloads, including perception pipelines, ROS 2 nodes, and custom C/C++ applications, run on top of it.

A SiMa.ai BSP contains:

  • Bootloader (U-Boot) — initializes DRAM, reads boot media, loads the kernel.
  • Kernel — Linux kernel with SiMa.ai drivers for the MLA, CVU, ISP, PCIe, networking, and storage IP on the SoC.
  • Device trees — describe board-specific peripherals (MIPI cameras, GMSL2 deserializers, GPIO headers, M.2 slots) so the kernel can probe them at boot.
  • Root filesystem — userspace tools, system services, and the SiMa.ai runtime libraries that talk to the on-chip accelerators.
  • Firmware blobs — for the security processor (tRoot) and other co-processors.

Modalix BSP​

The Modalix BSP targets the Modalix DevKit, Modalix Early Access kits, and the Modalix PCIe card. It is built on eLxr, a Debian-derived distribution. Userspace is managed with apt, so customizing Modalix images is closer to packaging Debian software than to writing Yocto recipes. To convert an existing Yocto DevKit to eLxr, see Convert to eLxr.

Sources: simaai-linux (kernel and device trees), sima-ai-uboot (U-Boot), and meta-simaai (Yocto layer).

eLxr or Yocto​

eLxr is the preferred path for board bring-up. You can also bring up a board with Yocto, using the meta-simaai layer and its image build manual. Both build from the same kernel and U-Boot sources with the same kernel configuration, so driver and device-tree work carries over.

TaskeLxr (preferred)Yocto
Build the kernel, U-Boot, device trees, overlays, and kernel modulesBuild the BSP from SourceImage build manual
Add userspace softwareAdd Packages and Services on eLxrWrite recipes
Build a complete image from sourceNot yet documentedBuild a Complete Image with Yocto
Build an update packageNot yet documentedBuild and Apply an Update Package
Secure boot and provisioningNot yet documentedNot yet documented

Choose Yocto if you need to build a complete image from source today. Otherwise, use eLxr.

What You Can Do with the BSP Sources​

The sources are useful when you need to:

  • Add a custom peripheral — write a device-tree overlay for a new MIPI camera, GMSL2 sensor, or HAT board.
  • Enable kernel features — turn on a kernel option (e.g., a filesystem, network protocol, or USB gadget driver) that isn't in the stock image.
  • Replace or extend the rootfs — bake in your own application, library, or system service.
  • Reproduce a release locally — rebuild the exact image that ships on a DevKit for auditing or modification.

To get a custom build onto your boards, see Deploy Your Build. Firmware Update installs the stock SiMa.ai image, not your own build.

Sources and Manuals​

Everything below is public. Building an image, flashing a board, and adding your own drivers do not require an NDA or a sales enquiry.

WhatWhere
Build steps — build environment, kernel and U-Boot build, device trees, kernel modulesBuild the BSP from Source
Which source commit matches each platform releaseRelease Compatibility
Modalix build containerDockerfile.modalix
Linux kernel sourcesimaai-linux
U-Boot sourcesima-ai-uboot
Yocto layer, with board-specific overlay sourcesmeta-simaai

In This Section​

For the hardware topics that BSP work depends on, see Carrier Board Bring-up and Low-Speed I/O.

Start with Build the BSP from Source: it covers the Docker build environment, fetching and configuring the kernel and U-Boot, building both, installing the results on a board, and working with device trees, overlays and out-of-tree kernel modules.