For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
GitHub
DocumentationREST API Reference
DocumentationREST API Reference
    • Home
  • Overview
    • What is NICo?
    • Key Capabilities
    • Operational Principles
    • Day 0 / Day 1 / Day 2 Lifecycle
    • Scope and Boundaries
  • Getting Started
    • Building NICo Containers
    • Quick Start Guide
  • Architecture
    • Overview and Components
    • Reliable State Handling
    • Networking Integrations
    • Key Group Synchronization
  • Provisioning (Day 0)
    • Ingesting Hosts
    • Ingesting Hosts (REST API)
    • Machine Validation
    • SKU Validation
    • Measured Boot Attestation
  • Configuration (Day 1)
    • Network Isolation
    • Tenant Management
    • Organization & Permissions
  • Operations (Day 2)
    • Tenant Lifecycle Cleanup
    • Network Isolation
    • Network Security Groups
    • InfiniBand Partitioning
    • NVLink Partitioning
    • Rack-Level Administration (RLA)
    • IP Resource Pools
    • BGP Peering
    • nicocli Reference
  • Reference
    • Hardware Compatibility List
    • Release Notes
    • FAQs
      • Codebase Overview
      • Bootable Artifacts
      • Local Development
      • Running a PXE Client in a VM
      • TLS and SPIFFE Certificates
      • SPIFFE and casbin policies with admin-cli
      • Re-creating Issuer/CA in Local Dev
      • Visual Studio Code Remote Development
      • Adding Support for New Hardware
      • Build Guide
    • Glossary
GitHub
NVIDIANVIDIA
Developer-friendly docs for your API
Privacy Policy | Your Privacy Choices | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact

Copyright © 2026, NVIDIA Corporation.

LogoLogo
On this page
  • 1. Install build tools
  • 2. Build IPXE image
ReferenceDevelopment

Generating bootable artifacts

||View as Markdown|
Previous

Codebase Overview

Next

Local Development

1. Install build tools

Install ‘mkosi’ and ‘debootstrap’ from the repository — for Debian it was

sudo apt install mkosi debootstrap

2. Build IPXE image

Run

cd $NICo_ROOT_DIR/pxe && cargo make build-boot-artifacts-x86_64

Because you cannot build aarch64 artifacts on an x86_64 host, we only create the necessary directories to satisfy the docker-compose workflow:

cd $NICo_ROOT_DIR/pxe && cargo make mkdir-static-aarch64

NOTE: Running NICo using docker-compose and QEMU clients only works with x86_64 binaries. CI/CD is used for testing on aarch64 systems such as a BlueField

or

download pre-built artifacts - ideal if the ipxe-x86_64 gives you errors. Extract the latest boot artifacts (available from your NICo distribution package) into $NICo_ROOT_DIR/pxe/static/blobs/internal/x86_64/ (you’ll need to create the hierarchy).

build-boot-artifacts-x86_64 will also rebuild binaries we package as part of the boot artifacts (like nico-scout), while the latter command will only package already existing artifacts. Therefore prefer the former if you change applications.

Note: the last step will exit uncleanly because it wants to compress for CI/CD and upload, but it’s not necessary locally. It’s fine as long as the contents of this directory look similar to:

$ exa -alh pxe/static/blobs/internal/x86_64/
Permissions Size User Date Modified Name
.rw-rw-r-- 44 $USER 18 Aug 15:35 .gitignore
drwxr-xr-x - $USER 24 Aug 09:59 .mkosi-t40tggmu
.rw-r--r-- 55M $USER 24 Aug 10:01 nico.efi
.rw-r--r-- 26k $USER 24 Aug 10:01 nico.manifest
.rw-r--r-- 298M $USER 24 Aug 10:01 NICo.root
.rw-rw-r-- 1.1M $USER 24 Aug 10:05 ipxe.efi
.rw-rw-r-- 402k $USER 24 Aug 10:03 ipxe.kpxe

Note: you’ll also need to chown the directory recursively back to your user because mkosi will only run as root; otherwise, your next docker-compose build won’t have the permissions it needs:

sudo chown -R `whoami` pxe/static/*