Build from Source#

This guide covers Phase 1 of the provisioning workflow: building bootable USB artifacts on the developer system.

Before starting, confirm your system meets all System Requirements.

For Windows Subsystem for Linux (WSL), follow the steps in the Windows WSL Guide.

Phase 1: Build Artifacts on the Developer System#

1. Clone the Repository#

git clone https://github.com/open-edge-platform/edge-node-infrastructure-blueprint.git -b main
cd edge-node-infrastructure-blueprint

2. Build Bootable USB Artifacts#

From the repository root, run one of the following build modes.

Note: If your development environment is behind a firewall, add proxy configuration to the proxy.env file in the edge-node-infrastructure-blueprint directory. To skip the proxy settings, pass skip-proxy=true to the make command.

Option 1: Build from a Standard 24.04 Minimal desktop image#

Build the Ubuntu image, including the required tools and packages, from an Ubuntu minimal desktop image:

Before building, update the default user credentials in infrastructure/host-os/Dockerfile. Replace the default USERNAME and USER_PASSWORD hash with your own values:

ARG USERNAME=<your-username>
ARG USER_PASSWORD='<SHA-512-hashed-password>'

Generate the password hash using one of the following methods:

# Using openssl (requires `openssl` to be installed)
openssl passwd -6 'your-password-here'

# Using mkpasswd (requires `whois` to be installed)
mkpasswd --method=sha-512 'your-password-here'

Note: The output changes on every invocation because the salt is randomly generated. All outputs verify against the same password.

make build

Or explicitly specify the standard mode:

make build MODE=standard-image

Option 2 (Advanced): Build with Image Composer Tool Image#

This path is intended for advanced users who need fine-grained control over disk layout, installed packages, and package repositories. Most users can start with Option 1.

To generate an image using Image Composer Tool, refer to:

Build Output#

With any of the above build options, expect the following output:

  • usb-installation-files.tar.gz in infrastructure/build-artifacts/out

Once the build completes, continue to Prepare USB and Validate.