# Automate Board Provisioning

## Pre-requisites

Before we start this tutorial, you will need:

* An AMD x86-64 or ARM device to act as a remote proxy device
* A board to be provisioned
* USB cable to connect the board to the remote proxy device
* A Remote Proxy [Fleet](/user-guides/fleet-user-guide.md)

{% stepper %}
{% step %}

### Enroll a Remote Proxy Device

Navigate to the **Remote Proxies** tab on the Fleet panel. If you haven't already, create a Remote Proxy Fleet to manage all of your upcoming proxy device enrollments. Make sure that the *Proxy Fleet* checkbox is ticked. Detailed instructions on how to create a fleet and enroll devices can be found at [Creating a Fleet](/user-guides/fleet-user-guide/creating-a-fleet.md) and [Enrolling Machines](/user-guides/fleet-user-guide/enrolling-machines.md) guides respectively.

{% hint style="warning" %}
Several NVIDIA-required packages must be present on the Linux host serving as the Remote Proxy. Install them by running the following command once in a terminal.

```
curl -sfL https://cdn.chassy.io/test/provision-dependencies | bash -
```

{% endhint %}
{% endstep %}

{% step %}

### Set Up a Provisioning Workflow

Create a new [Workflow](/user-guides/workflow-user-guide/creating-a-workflow.md) to set up your provisioning details. Utilize the [Find Package](/reference/workflow-components/steps.md#find-package) and [Import Package](/reference/workflow-components/steps.md#import-package) steps to upload files into Chassy Index when needed.

Add a [Provision Setup](/reference/workflow-components/steps.md#provisioning) step to select your remote proxy device, and provide details on how you want the connected boards to be set up. Run the workflow when completed.

<figure><img src="/files/mwQFFeESOtaAa4cAbTfU" alt="A screenshot of the Provision Setup step and its details"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Connect a Board to your Remote Proxy

Going back to the **Remote Proxies** tab on the Fleet panel, you should see your remote proxy machine and its status.

Put your board into recovery mode, then connect it to your remote proxy machine using a USB cable. The provisioning process will automatically begin. On the Chassy Console, you can see which provisioning phase the connected board is on: `Attached`, `Flashing`, `Configuring`, `Verifying`, `Succeeded`, `Error`, `Terminated`, or `Timed out`.

For connected boards that got `Error` , `Terminated` , or `Timed out` , you can restart the provisioning process by clicking on the restart button.

{% hint style="info" %}
Jetson boards have to be in recovery mode for it to be auto-detected and flashed by the remote proxy.
{% endhint %}
{% endstep %}

{% step %}

### Success! Your connected board is booting up.

The connected board will automatically reboot once the process is complete.
{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chassy.io/tutorials/automate-board-provisioning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
