> For the complete documentation index, see [llms.txt](https://docs.gxc.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gxc.io/hw/lte/4g-mesh-nodes/gm01/gm01-mesh-node-installation-guide/update-the-firmware-and-bootloader.md).

# Update the Firmware and Bootloader

The GM01 Firmware and Bootloader should be updated after the Mesh Node is installed to ensure that it is running the latest version. The Firmware and Bootloader update files are in tar.gz format.

{% hint style="info" %}
**NOTE:** Once the Mesh Node has been updated with the required firmware version via the LCI, future updates should be performed using the Onyx Portal.
{% endhint %}

## Update the Firmware

{% stepper %}
{% step %}
Get the latest firmware from your GXC representative or GXC partner and download it onto the laptop that you will be using to update the GM01.
{% endstep %}

{% step %}
Compare the version number of the firmware tar file and the firmware currently running on the GM01 to determine if an update is required.

* The firmware version number of the tar file is part of the file name, for example, “tr0\_fw\_pkg\_1.3.544.tar.gz”.
* The firmware version currently running on the GM01 is displayed at the top right side of the Mesh Node’s Status webpage, for example “1.3.544”.
  {% endstep %}

{% step %}
Click the **FW UPDATE** link at the top right side of the web page.
{% endstep %}

{% step %}
Click to select the **Firmware** checkbox and then click **Select File**.
{% endstep %}

{% step %}
Navigate to the location on your laptop where the appropriate firmware tar file is located, click to select it, and then click **UPLOAD**.
{% endstep %}

{% step %}
A progress bar will indicate the status of the upload and **Upload Completed** will appear below the **UPDATE** button once the upload is complete.
{% endstep %}

{% step %}
Once the file is uploaded, click **UPDATE** and a prompt will appear (“System will be automatically rebooted after the update. Are you sure to update?”). Click **Yes** to update or **No** to abort.

The update process should take several minutes to complete and will automatically reboot the unit when it’s done following a brief countdown.

{% hint style="info" %}
**NOTE:** Do not navigate away from this page while the update is in progress because this will stop the firmware update process.
{% endhint %}
{% endstep %}

{% step %}
After the GM01 reboots, you must manually refresh the browser to get back to the Mesh Node’s Status webpage.

Check the firmware version number at the top right side of the page to confirm that the GM01 is running the correct firmware version.
{% endstep %}
{% endstepper %}

## Update the Bootloader

{% stepper %}
{% step %}
Get the latest Bootloader tar file from your GXC representative or GXC partner and download it onto the laptop that you will be using to update the GM01.
{% endstep %}

{% step %}
Compare the version number of the Bootloader tar file and the Bootloader currently running on the GM01 to determine if an update is required.

* The Bootloader version number of the tar file is part of the file name, for example, “tr0\_xxxxxx.tar.gz”.
* The Bootloader version currently running on the GM01 is displayed on the System page. Click the **System** link at the top right side of any of the Mesh Node’s webpages. The Boot Loader version is shown in the Firmware Version section of the page; for example, “v1”.
  {% endstep %}

{% step %}
The Bootloader update process is the same as the firmware update process as described in the previous section.
{% endstep %}
{% endstepper %}

## Switch Firmware Version

The Mesh Node’s memory has multiple partitions. Initially, the contents of all partitions are identical, and the GM01 system boots from the primary partition.

When the first firmware update occurs, the new image is written to the secondary partition (because the system cannot overwrite the partition from which it booted). The partition with the new firmware update image is set to “Active” and the system reboots. At that point, the “primary” partition becomes the backup system (previous image) and the system will revert to it if the new image fails to reboot.

When the second firmware update occurs, the “Primary” partition is overwritten with the new image, set to “Active” and then system reboots. At this point, the “Secondary” partition becomes the backup. Further updates repeat this cycle.

You have the option to switch between the most recently installed version of the firmware and the previous version. A manual reboot is required after activating a different version of the firmware.

To switch between firmware versions:

{% stepper %}
{% step %}
Click the **System** link at the top right side of any of the Mesh Node’s webpages.
{% endstep %}

{% step %}
In the **Firmware Version** section of the page, click the **Activate** button beside the version of the firmware that is not currently running.
{% endstep %}

{% step %}
On the **Firmware** page, click **Reboot** to manually reboot the GM01.
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.gxc.io/hw/lte/4g-mesh-nodes/gm01/gm01-mesh-node-installation-guide/update-the-firmware-and-bootloader.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
