Introduction
Understand UltraEdge HPC-I architecture for edge AI and mixed workloads
Provision a Google Axion C4A VM for Yocto image builds on Arm
Build and install Yocto images for NXP S32G-VNP-GLDBOX3 with UltraEdge
Install UltraEdge on Debian and Ubuntu for Edge AI workloads
Run and manage UltraEdge HPC-I for AI and mixed workloads on Arm
Next Steps
Follow these steps to initialize and register your device within the Uncloud ecosystem:
Access the Platform:
Navigate to the Uncloud Dashboard and log in with your credentials.
Provision a New Device:



Install prerequisites:
Install the required prerequisites:
sudo apt update
sudo apt install -y curl jq
Retrieve installation command details:
Copy the generated device installation command or details from the Uncloud portal to your clipboard.

You should be able to locate and copy the specific installation command appropriate for your account. Here is an example:
sudo DEVICE_ID="5b3ff290-0c88-4cd9-8ef7-08de0bded9df" KEY="TB.ApiKey-mlBZgDFc7qyM6ztPjILBCbFEqnVlbvjUpM1Q1IqNP6tA7wNdi97AQ==" sh -c "$(curl "https://tinkerbloxdev.blob.core.windows.net:443/tinkerbloxdev/binaries/installer.sh?sv=2025-01-05&st=2025-11-03T06%3A31%3A55Z&se=2025-11-03T06%3A56%3A55Z&sr=b&sp=r&sig=HNS70HgJyHlhCVQrqvpGdCcaf8%2FtVjdW4RNiiiIPCSUA%3D")"
Run your specific installer command in your Ubuntu/Debian SSH shell and initialize the agent to install UltraEdge.
On the first boot, the agent will automatically generate a file named
activation_key.json at the path:
/opt/tinkerblox/activation_key.json
Share this activation_key.json file with the TinkerBlox team to
receive license key (which includes license metadata).
sudo systemctl stop tbx-agent.service
Replace the existing activation_key.json file in
/opt/tinkerblox/ with the licensed one provided by TinkerBlox.
Start the agent:
sudo systemctl start tbx-agent.service
Binary path: /bin/tbx-agent
To start:
tbx-agent
MicroPac is the core tooling used to build and manage MicroStack (general microservices) and NeuroStack (AI-native services).
Platform agnostic: MicroPac is not restricted to a specific operating system; it is fully compatible with both Debian and Yocto environments, providing a consistent execution layer across different Linux distributions.
Build system: To create a service, the system utilizes a MicroPacFile (the declarative configuration) and the MicroPac Builder (the high-performance packaging engine).
Validation: The ecosystem includes a MicroPac Validator, which verifies the integrity and security of the package created by the builder to ensure it is ready for edge deployment.
sudo apt-get update
sudo apt-get install -y tar curl qemu-user-static binfmt-support
The MicroPacFile is the central declarative configuration used by the builder to define the environment and behavior of your service. This configuration is essential for orchestrating both MicroStack (general microservices) and NeuroStack (AI/ML) services.
Multi-language support: You can configure MicroPacFiles for applications written in Python, C, and C++, making it highly versatile for both high-level AI workloads and low-level embedded system tasks.
Unified workloads: It bridges the gap between complex ML models and resource-constrained embedded software, ensuring consistent execution across diverse hardware.
To build MicroPac for different architectures: # Enable binfmt for armv7
sudo update-binfmts --enable qemu-armv7
The package is provided as a .deb file.
Install it on your host machine:
sudo apt install ./<package_name>.deb
For the MicroPac Builder to function correctly, the MicroPacFile must be placed in the root directory alongside your source code and dependency files.
Example Directory Structure (video_cv Project):
video_cv/
├── hooks/ # Lifecycle scripts
├── models/ # ML model weights
├── static/ # Static assets (CSS/JS)
├── templates/ # HTML templates
├── app.py # Main application entry
├── MicroPacFile # REQUIRED: Configuration file
└── requirements.txt # Python dependencies
Place a MicroPacFile in your project directory as mentioned in above example.
name: nginx
version: 1.0.0.0
target: aarch64
applicationType: custom
image: Alpine:3.21
createdBy: developer@tinkerblox.io
description: Nginx web server microservice
buildSteps:
# Install nginx and create necessary directories
- run: apk add --no-cache nginx
- run: mkdir -p /var/www/html /var/log/nginx /var/lib/nginx /var/tmp/nginx
# Copy configuration files
- copy: [nginx.conf, /etc/nginx/nginx.conf]
- copy: [index.html, /var/www/html/index.html]
- copy: [404.html, /var/www/html/404.html]
# Copy startup script
- workdir: /app
- copy: [nginx_start.sh, .]
- run: chmod +x ./nginx_start.sh
# Set proper permissions
#- run: chown -R nginx:nginx /var/www/html /var/log/nginx /var/lib/nginx /var/tmp/nginx
entry: /app/nginx_start.sh
mode: continuous-run
env:
NGINX_PORT: 8080
APP_ENV: production
network:
mode: host
name: nginx-net
Navigate to your project directory and execute:
sudo micropac-builder build
This generates a file named <project_name>.mpac.
To confirm that the Micropac has been generated properly, follow these steps:
.mpac extension..mpac file using a standard extraction tool (or rename it to .zip/.tar.gz if necessary to open it.manifest.yaml: contains the metadata and configuration for the package..tar format)..tar format).In this section, you:
Next, you can explore advanced MicroPac features, integrate with additional edge devices, or move on to Yocto-based installations for broader hardware support.