Debian Build Release Flexbuild: Difference between revisions

From Variscite Wiki
No edit summary
No edit summary
Line 1: Line 1:
<!-- Set release according to "release" parameter in URL and use mx8mm-yocto-scarthgap-6.6.52_2.2.0-v1.0 as default
<!-- Set release according to "release" parameter in URL and use mx8mm-yocto-scarthgap-6.6.52_2.2.0-v1.0 as default
--> {{INIT_RELEASE_PARAM|mx8mm-yocto-scarthgap-6.6.52_2.2.0-v1.0}}<!--
--> {{INIT_RELEASE_PARAM|mx8mm-yocto-scarthgap-6.6.52_2.2.0-v1.0}}<!--
--> {{#lst:Debian_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{PageHeader|{{#var:HARDWARE_NAME}} - Debian {{#var:DEBIAN_NAME}} {{#var:DEBIAN_VERSION}} based on Yocto {{#var:YOCTO_NAME}} {{#var:YOCTO_VERSION}} with {{#varexists:FSLC_BSP_VERSION|FSL Community BSP {{#var:FSLC_BSP_VERSION}}|NXP BSP {{#var:FSL_BSP_VERSION}}}} {{DocImage|category1=Debian|category2={{#var:HARDWARE_NAME}}}} }}__toc__
== FlexBuild Overview ==
== FlexBuild Overview ==



Revision as of 20:29, 26 May 2025

Warning: This page is designed to be used with a 'release' URL parameter.

This page is using the default release mx8mm-yocto-scarthgap-6.6.52_2.2.0-v1.0.
To view this page for a specific Variscite SoM and software release, please follow these steps:

  1. Visit variwiki.com
  2. Select your SoM
  3. Select the software release
- Debian based on Yocto with NXP BSP

FlexBuild Overview

FlexBuild is a component-oriented lightweight build system and integration platform with capabilities of flexible, easy-to-use, scalable system build and distro deployment.

Users can use FlexBuild to easily build Debian-based RootFS, Linux kernel, BSP components and miscellaneous userspace applications (e.g. graphics, multimedia, networking, connectivity, security, AI/ML, robotics, etc) against Debian-based library dependencies to streamline the system build with efficient CI/CD.

With flex-installer, users can also easily install various distros to the target storage device (SD/eMMC card or USB/SATA disk) on the target board or on a host machine.

Build Environment

  • Cross-build in Debian Docker container hosted on x86 Ubuntu or any other distro for arm64 target
  • Cross-build on x86 host machine running Debian 12 for arm64 target
  • Native-build on ARM board running Debian for arm64 target

Host System Requirement

  • Docker hosted on Ubuntu LTS host (e.g. 22.04, 20.04) or any other distro. Refer to docker-setup. User can run 'bld docker' to create a Debian docker and build it in docker.
  • Debian 12 host. Refer to host_requirement.

Supported Distro for Target (arm64)

  • Debian-based userland (desktop, server)

FlexBuild Usage

$ cd flexbuild
$ . setup.env          (in host environment)
$ bld docker           (create or attach to docker)
$ . setup.env          (in docker environment)
$ bld host-dep         (install host dependent packages)

Build Desktop Debian Image

After the FlexBuild setup, you can skip the full setup and just run:

$ var_build_image {{#var:MACHINE_NAME}} debian:desktop "uboot linux"

Example usage:

Usage: var_build_image <machine> <components> <distro> [options]

Options:
  --clean     Clean the specified distribution
  --cleanall  Clean all build environments
  --config    Specify custom config file (default: sdk-var.yml)

Supported Debian distributions:
  debian:base    - Minimal Debian installation
  debian:server  - Debian with server packages
  debian:desktop - Debian with desktop environment

Examples:
  var_build_image {{#var:MACHINE_NAME}} debian:desktop "uboot linux"
  var_build_image {{#var:MACHINE_NAME}} debian:desktop --clean
  var_build_image --cleanall

More Info

Please refer to the following resources:


Internal Documentation: