Releases: open-edge-platform/os-image-composer
OS Image Composer 2026.0 Release
Key New Features
Include Packages from Multiple Repositories :
Seamlessly integrate packages from multiple repositories into your target images, supporting both RPM and Debian package formats. This flexibility allows you to leverage diverse software ecosystems within a single, unified workflow.
Package Dependency Visualization:
Gain unprecedented insight into your package relationships with our new graphical dependency visualization tool. Navigate complex package dependencies through intuitive graph charts directly in the GUI, making troubleshooting and optimization more efficient than ever.
Setting Pre-Deployment Configuration:
Streamline your deployment process by embedding configuration settings/binaries directly into target images. Configure system settings, application parameters, and deployment-specific configurations before image boot, ensuring your systems are deployment-ready from first startup.
Intel Open Edge Platform Integration:
Effortlessly incorporate Intel's Open Edge Platform components and AI libraries into your target images. This native integration simplifies the process of building AI-enabled edge solutions with Intel's optimized software stack.
Embedded Software Bill of Materials (SBOM):
Enhance security and compliance with automatic SBOM generation and embedding. Each target image now includes a comprehensive software bill of materials, providing complete visibility into all components for security auditing and compliance requirements.
EMF-Compatible Image Composition:
Expand your deployment options with support for EMF-compatible Ubuntu and EMT OS image generation. This capability ensures broader compatibility across diverse edge computing environments and deployment scenarios.
What's Changed
- Disable also run_version_dev since VERSION file is not present by @adimoft in #427
- [gha] Bump open-edge-platform/orch-ci/.github/workflows/pre-merge.yml from 2026.0.8 to 2026.0.10 by @dependabot[bot] in #433
- [gha] Bump open-edge-platform/orch-ci/.github/workflows/post-merge.yml from 2026.0.8 to 2026.0.10 by @dependabot[bot] in #432
- docs: add copilot instructions and PR documentation checklist by @arodage in #425
- fix ssh issue in other os by @samueltaripin in #434
- [gha] Bump open-edge-platform/orch-ci/.github/workflows/post-merge.yml from 2026.0.10 to 2026.0.12 by @dependabot[bot] in #437
- [gha] Bump open-edge-platform/orch-ci/.github/workflows/pre-merge.yml from 2026.0.10 to 2026.0.12 by @dependabot[bot] in #438
- Added more comprehensive support to inspect bootloader configuration by @magerstam in #404
- Added Retry Logic for Ubuntu download and updated M9 for RC2 changes by @srmungar in #435
- docs: fix versions, provider lists, and broken internal links by @arodage in #439
- Add zizmor fix by @elvin03 in #442
- M9 docker fix by @srmungar in #453
- fix bug on elxr ISO and fix rpm dlstreamer version by @samueltaripin in #445
- ptl bronze for EMT and Ubuntu by @samueltaripin in #436
- efibootmgr to configure boot device selection at runtime by @srmungar in #441
- Validation error debugging by @samueltaripin in #460
- docs: add comprehensive field-by-field template reference by @arodage in #446
- Remove redundant trivy and zizmor workflow by @elvin03 in #463
- Fixing package name with numeric issue in top level package resolving by @yockgen in #456
- docs: deduplicate index.md by removing content covered in guides by @arodage in #461
- fix index.md formatting by @kblaszczak-intel in #465
- Enabling RCD DLStreamer by @yockgen in #459
- Revert "Enabling RCD DLStreamer (#459)" by @samueltaripin in #467
- Enabling dlstreamer and ssh for RCD by @yockgen in #468
- Build optimization by @samueltaripin in #455
- fix emt ptl rt image wrong package by @samueltaripin in #470
- Remove duplicate packages emt3 emf rt by @rpandya28 in #473
- [gha] Bump open-edge-platform/orch-ci/.github/workflows/post-merge.yml from 2026.0.12 to 2026.0.17 by @dependabot[bot] in #475
- fix emt build issues by @samueltaripin in #476
- doc update for multirepo features update by @samueltaripin in #454
- [DOCS] Update file structure and references by @sgolebiewski-intel in #472
- Enabling RCD network by default by @yockgen in #474
- Support to extract and compare image SBOM by @magerstam in #458
- Ssh issue by @samueltaripin in #479
- fix(pkgfetcher): encode + as %2B in download URLs by @arodage in #477
Full Changelog: 2026.0-Code-Freeze...2026-0-Release
2026.0-Code-Freeze
What's Changed
- DOCS fix TOC by @kblaszczak-intel in #331
- Remove unused --dotfile CLI flag from build command by @arodage in #330
- Re-arrange SBOM export to provider level to avoid confusion on the build flow by @yockgen in #333
- Fixed IPAS security scan reported CVE issues by @srmungar in #334
- Update README.md by @swpng in #335
- Trim elxr packages by @samueltaripin in #336
- SPDX BOM to sync with final installation packages by @yockgen in #337
- add ubuntu minimal cloud, fix grub bootloader not able to boot by @samueltaripin in #339
- fix ubuntu missing package for dlstreamer by @samueltaripin in #344
- Dot file generation support by @arodage in #317
- Adding user input image configuration for Intel PTL Ubuntu customization by @yockgen in #345
- ADR: Dependency analyzer tool by @arodage in #343
- feat(scripts): add dep-analyzer.sh for DOT graph analysis by @arodage in #346
- The image inspect / compare ADR by @magerstam in #342
- ADR: Template-Enriched RAG for AI-Powered Template Generation by @arodage in #340
- Initial commit of image inspection functionality by @magerstam in #348
- Enabling gpg key ignoring for debian repo marked as [trusted=yes] by @yockgen in #351
- Separate image build to each workflow by @elvin03 in #352
- Refactor: Coverage Script Cleanup & Auto-Ratchet by @arodage in #350
- Adding tutorial on custom actions configuration by @yockgen in #354
- Added command for image inspect by @magerstam in #355
- fix: coverage threshold handling and status display by @arodage in #357
- Improved bootloader parsing (#356) by @magerstam in #358
- Adding multirepos configuration doc included trusted feature by @yockgen in #360
- Update imageos.go to bypass access EFI variable by @elvin03 in #363
- Add CodeQL code scanning workflow by @elvin03 in #359
- Added image comparison functionality by @magerstam in #361
- Updated CLI documentation by @magerstam in #366
- Update image build workflow to show log when fail by @elvin03 in #364
- Fixing Immutability flag is false but the log shows enabled by @yockgen in #367
- [DOCS] Fix references in docs by @sgolebiewski-intel in #365
- Enhanced comparison - introduced an equalityClass by @magerstam in #368
- Enabling Robot Operating System 2 on Ubuntu by @yockgen in #371
- Added support for automatic image detection by @magerstam in #372
- feat(ai): Phase 1 - AI-Powered Template Generation with RAG by @arodage in #362
- Detect dm-verity for EMT based images by @magerstam in #376
- Support to build ARM64 Images targeting elxr12 and Ubuntu distros on Ubuntu ARM host platform by @srmungar in #373
- Minor enhancements to image format detection logic by @magerstam in #378
- fix: Improvements to DOT dependency graph generation by @arodage in #377
- ubuntu with PTL BKC packages by @samueltaripin in #353
- Fix: trim RPM package names in DOT file visualization by @arodage in #380
- fix: use RPM XML metadata names instead of parsing filenames by @arodage in #382
- Add fix for codeql security issue by @elvin03 in #381
- Create dependabot.yml by @daveroge in #386
- Remove old codeql workflow by @adimoft in #402
- Revert to previous rpm downloader logic by @yockgen in #408
- Revert "fix: use RPM XML metadata names instead of parsing filenames" by @srmungar in #406
- Fixing latest format of azl repo package file name prefix by @yockgen in #409
- Added initial version of Pre, Post merge by @adimoft in #387
- [gha] bump astral-sh/setup-uv from 6.0.0 to 7.3.0 by @dependabot[bot] in #393
- [gha] bump actions/checkout from 4 to 6 by @dependabot[bot] in #398
- [gha] bump actions/upload-artifact from 4 to 6 by @dependabot[bot] in #390
- [gha] bump actions/checkout from 4.3.1 to 6.0.2 by @dependabot[bot] in #410
- [gha] bump actions/setup-go from 4 to 6 by @dependabot[bot] in #401
- Add Ubuntu EMF template by @elvin03 in #384
- Update CODEOWNERS by @srmungar in #413
- dlstreamer build workflows by @arodage in #405
- EMT PTL and UBUNTU PTL RC2 by @samueltaripin in #407
- Redhat Compatible Distro enabling and rpm resolver fixing by @yockgen in #379
- docs: streamline README as concise landing page by @arodage in #412
- PTL M9 Support by @srmungar in #411
- [DOCS] Toc fix for publishing by @wiwaszko-intel in #417
- templates: add ROS2 Jazzy visual demo template for QEMU VM testing by @arodage in #421
- Ubuntu PTL with DLS and Fixes for apt update not working by @samueltaripin in #418
- Mac identifier true dhcp network file by @rpandya28 in #424
- Update CODEOWNERS by @daveroge in #416
- Do not run version check if versioning file is not present by @adimoft in #426
- Ssh immutable issue by @samueltaripin in #428
- Update robotics-demo-ubuntu24-x86_64.yml by @rpandya28 in #429
- Update ubuntu.go for bootctl installation for Ubuntu 24.04 by @rpandya28 in #431
New Contributors
- @daveroge made their first contribution in #386
- @adimoft made their first contribution in #402
- @dependabot[bot] made their first contribution in #393
- @wiwaszko-intel made their first contribution in #417
Full Changelog: 2025.2_Release...2026.0-Code-Freeze
OS Image Composer Release 2025.2
What's Changed
- Added vdi support to image template schema by @arodage in #307
- Align default config template with config init by @arodage in #306
- Adding additional cmdlines command to fix EMF failed on first boot issue by @elvin03 in #308
- Fixing EMT failed to boot issue on latest code by @elvin03 in #310
- Coverity - Comment default user in ELXR cloud template by @arodage in #311
- Add unit tests for chroot and increase coverage threshold by @feiyu11859661 in #314
- Increase unit tests code coverage by @arodage in #312
- Fix Earthly version override for deb builds by @arodage in #316
- Update validate.sh for dynamic permission setting by @elvin03 in #315
- Set the loglevel in the logger at the correct position by @srmungar in #313
- Dev ubuntu internet issue by @samueltaripin in #321
- Add openssh-server to default image configurations by @feiyu11859661 in #319
- make openvino version 2 by default in dlstreamer recipe by @samueltaripin in #322
- Add hostname merging logic to system config by @feiyu11859661 in #318
- A fix to support verbose flag correctly by @srmungar in #320
- docs: clarify PATH requirement for shell completion by @arodage in #323
- Restructure completion command: move install-completion to completion… by @arodage in #324
- add intel gpu firmware to elxr dlstreamer by @samueltaripin in #326
- Fixing SBOM missing in final image by @yockgen in #327
- Add kernel command line parameters for console and i915 force probe by @feiyu11859661 in #325
- lock kernel version to ecg 6.12 for all dlstreamer images by @samueltaripin in #328
- Fix regression defect - config file loading and nil provider panic by @arodage in #329
Full Changelog: 2025.2_Rel_Candidate_11212025_CodeFreeze...2025.2_Release
2025.2 Release Candidate - Code Freeze
Major features of this release include
- Multi-Repo support for RPM packages
- ISO installer with text-based UI
- Ubuntu OS Image composition (Base OS)
- EMF Compatible EMT OS Image Composition
What's Changed
- fix broken unit test by @samueltaripin in #251
- Change SHA256 to SHA384 for secure boot signing by @divneil-intel in #253
- Added logic for automatic version detection from git tags by @arodage in #250
- [DOCS] Preparing docs for publishing by @sgolebiewski-intel in #252
- Updating badges for main branch status by @magerstam in #255
- [DOCS] Update image composition diagram by @sgolebiewski-intel in #254
- Fix test coverage script to fail on test failures and continue through all tests by @arodage in #256
- [DOCS] Fixing minor issues in documentation - pass 1 by @sgolebiewski-intel in #257
- [DOCS] Architecture graphs by @mpytlik-intel in #248
- Update validate.sh to run QEMU boot test when flag is on by @elvin03 in #259
- Enables multirepo support for azl and emt by @samueltaripin in #261
- Updated install-completion command o/p to refer README.md for further steps by @arodage in #258
- Quick README.md update to remove vhd and img image formats. by @stevenhoenisch in #260
- Update network config paths to use centralized additionalFiles directory by @feiyu11859661 in #263
- Updated CLI spec to match the current implementation by @arodage in #262
- fix emt repo xml url not match with base url by @samueltaripin in #264
- add user creation based on template by @samueltaripin in #265
- [DOCS] Release notes for OS Image Composer by @sgolebiewski-intel in #266
- Design documentation update: Architecture, Build Process, and Caching by @arodage in #267
- Rpm openvino by @samueltaripin in #272
- Update elxr, azl and emt to read from repo.yml by @elvin03 in #271
- Address the iso image bootable issue by @feiyu11859661 in #269
- Moved SPDX SBOM file to same location as final image by @arodage in #273
- Stored SPDX SBOM files in /usr/share/sbom/ inside the final image by @arodage in #275
- Clear specify host execution path with shell cmd by @feiyu11859661 in #274
- Make chroot work with host env & enable auto login for initramfs by @feiyu11859661 in #276
- Add ISO config and package copying functionality by @feiyu11859661 in #277
- Display all image artifacts after build completion by @arodage in #280
- Add block device types and improve imagedisc functions by @feiyu11859661 in #279
- Remove password from default initrd configs by @feiyu11859661 in #281
- Add Debian package build target to Earthfile by @arodage in #278
- Address the read-only repo cache not able to generate repo metadata issue in the iso initramfs system by @feiyu11859661 in #282
- docs: Clarify version information behavior for different build methods by @arodage in #283
- Add Cache Management Command by @arodage in #285
- Update validate.sh to have cleanup by @elvin03 in #287
- add configurable kernel module enablement, add usb module as default enabled by @samueltaripin in #290
- Address multiple issues for live-installer by @feiyu11859661 in #292
- os composer ubuntu support by @samueltaripin in #293
- Update image configs by @feiyu11859661 in #284
- Address build & unit coverage issues and enable iso installer for Ubuntu by @feiyu11859661 in #296
- Enabled manual triggering of the PR_Tester workflow and updated the coverage threshold by @srmungar in #297
- Add zstd compression support and improve command detection by @arodage in #294
- Align build artifacts version handling by @arodage in #289
- Update validate.sh for ubuntu qemu test by @elvin03 in #298
- Create ELXR cloud AMD64 template by @arodage in #299
- update validate.sh for cleanup disk in qemu boot test by @elvin03 in #301
- Support sudo flag and ensure group creation for user configuration by @arodage in #300
- Address the ubuntu iso installed image not able to boot issue by @feiyu11859661 in #302
- Add EMT-EMF template and required cmdline parameter by @elvin03 in #304
- Enable edge AI DL streamer in ubuntu and elxr by @samueltaripin in #303
- Add configurable file logging with CLI override by @arodage in #305
New Contributors
- @divneil-intel made their first contribution in #253
- @sgolebiewski-intel made their first contribution in #252
- @mpytlik-intel made their first contribution in #248
Full Changelog: 2025.2-preview1...2025.2_rel_candidate_11212025_code_freeze
OS Image Composer Release
Features in this release:
Image composition with Intel specific OOT Kernel packages
Seamless enablement of AI SW stacks with Intel AI libraries (including user space) on the OS distro image
Declarative paradigm: User template driven and multiple OS distro image compositions (including WindRiver eLxr)
Minimal effort to support new operating system images
Multi repository support (custom repos)
Image generation in RAW, ISO, VHD and QCOW2 formats.
Native handling of Deb and RPM based OS distros
OS image configuration with user supplied system config files
Unified Kernel Image with systemd over UEFI BIOS or Legacy BIOS
Supports generation of immutable OS images (read only rootfs with dm-verity)
Signed OS image generation using user supplied keys for secure boot
Package dependency and conflict resolution, caching for consistent and faster composition
Verbose and filtered logging based on severity enabling easy trouble shooting
Known Issues/Bug Fixes:
Support for Ubuntu OS Image composition being considered based on VBU feedback
ISO OS Image installation on NVMe and via USB not functional on RPL platform; (Will fix in the next release)
AI Library Application Face Detection and Recognition Application output video not displayed locally (missing graphics packages, investigating)
On certain host platforms composition of OS images with dlstreamer are failing due to intermittent network connection issues during package download. Recommended workaround is to reduce the number of workers from 8 to 1 in the top level os-image-composer.yml config file.
Pre-Release_Code_Freeze
Merge pull request #219 from elvin03/update_trivy_generateSBOM Update trivy-scan.yml to generate SBOM
Sprint5 Release
Sprint5 Snapshot Release
Sprint4 Release
This release supports composition of AZL,EMT, WRE RAW and ISO (with legacy BIOS) OS images bootable on PC hardware
Sprint3_Release_072225
This is to tag the main branch as Sprint 3 Release so that we can retrieve the snapshot in the future if required.
This release has the following covered
- Users would be able compose AZL Raw Image, ISO Image and Immutable Image.
- Users would be able to compose EMT Raw Image
- Robust CLI and User Template support is available
- Github actions to build, compose and run the composed images in a VM is available
Image Composer Toolkit v0.1 - Initial Preview Release
Release Date: July 9, 2025
Important Note:
This is an Initial Preview Release (v0.1.0). It is under active development, and many features are still being implemented. Expect changes, potential bugs, and missing functionality in future updates. This release is primarily for early adopters and testing.
Key Features in this Release:
- Azure Linux Base Build: Capable of generating a foundational Azure Linux distribution.
- User-Selected Package Integration: Allows for the inclusion of a user-defined set of packages during the build process, enabling basic customization.
- Unified Kernel Image (UKI) Support: Builds are configured to use UKI for streamlined kernel and initramfs management.
- Systemd-boot Integration: The resulting OS is designed to boot via systemd-boot for a modern and efficient boot experience.
Known Limitations & Future Plans:
- Immutability Feature Not Yet Enabled: The functionality to build immutable OS images is not yet implemented.
- eLxr and EMT Linux Builds Not Yet Enabled: Support for building eLxr and EMT Linux distributions is not available in this release.
- Stability: As an alpha release, stability is not guaranteed.