Infrastructure Setup#
Covers building the OS image, flashing it to a bootable USB, and validating the provisioned platform for the Uncrewed Aerial Vehicle Blueprint.
Step 1: Clone the repository#
git clone https://github.com/open-edge-platform/edge-node-infrastructure-blueprint.git -b main
cd edge-node-infrastructure-blueprint
Note: If your development environment is behind a firewall, add proxy settings to
proxy.envin the repository root before building. To skip proxy entirely, passskip-proxy=truetomake.
Step 2: Build the OS image#
Export credentials and run the server-oriented UAV build:
export USERNAME='<your-username>'
export PASSWORD="$(openssl passwd -6 '<your-password>')"
make build MODE=server-image
Output: infrastructure/build-artifacts/out/usb-installation-files.tar.gz
For a customized UAV image using the Image Composer Tool, see Advanced Image Customization UAV companion OS template:
infrastructure/host-os/ict/work-generic-companion-os-server-template.yml
Step 3: Prepare the bootable USB#
On the developer system, extract the artifacts:
cd infrastructure/build-artifacts/out
sudo tar -xzf usb-installation-files.tar.gz
Extracted files: usb-bootable-files.tar.gz, config-file, bootable-usb-prepare.sh, ven-deployment.sh.
Edit config-file and set:
ssh_key— SSH public key for passwordless access to the targethost_type—container(default) orkubernetesSRIOV— enable or disable Single Root I/O Virtualization (SRIOV)Proxy values — if required on your network
Additional system parameters
Debug Mode (
false)
Identify the USB device with lsblk, then flash:
# Replace /dev/sdX with the correct USB device
sudo ./bootable-usb-prepare.sh /dev/sdX usb-bootable-files.tar.gz config-file
Safely disconnect the USB, attach it to the target system, and boot from USB. The OS installs automatically without any user intervention.
Step 4: Validate post-boot bring-up#
After first-boot provisioning completes, verify services on the target system.
For container mode (host_type=container, default):
docker info
docker ps
For Kubernetes mode (host_type=kubernetes):
sudo kubectl get nodes
sudo kubectl get pods -A
Expected pods include:
intel-device-plugins intel-gpu-plugin-xxxxx 1/1 Running
intel-device-plugins intel-npu-plugin-xxxxx 1/1 Running
node-feature-discovery nfd-master-xxxxx 1/1 Running
node-feature-discovery nfd-worker-xxxxx 1/1 Running
Verify SR-IOV and driver bring-up:
sudo cat /sys/kernel/debug/dri/0000:00:02.1/sriov_info
sudo dmesg | grep xe
sudo dmesg | grep vpu