# OS package settings

This document is the OS package setting guide. It provides the OS package installation guide required in order to build the FirmaChain binary.

## Update OS package

{% hint style="info" %}
If you choose the Linux server, it might contain old versions of the OS package. We recommend you run the update package command in order to securely install the OS package (GoLang, gcc, make).
{% endhint %}

Using the command below, you can call the latest version of the OS package and upgrade to the latest OS package version. Check the latest version of the package using update and upgrade to the latest package version using upgrade.&#x20;

```bash
sudo apt-get update && sudo apt-get upgrade -y
```

## Install GoLang

{% hint style="info" %}
The minimum version of GoLang required to build the FirmaChain binary is v1.21. If the GoLang version is older than v1.21, you will not be able to build the FirmaChain binary.\
When installing the past Release, please install a version higher than v1.21.
{% endhint %}

Install the latest version of GoLang using the snap command.

```bash
# Install the latest version of GoLang
sudo snap install go --classic
```

When downloading the Release version instead of the latest version, please use the command provided in the example below. Please refer to [this link](https://go.dev/dl/) for a more detailed instruction on downloading the Release version.

```bash
# Install GoLang using the Release version
wget https://go.dev/dl/<Release file name>

# ex) go1.21.1.linux-amd64.tar.gz
```

## Install Build package

Install gcc (compiler tool) and make (FirmaChain binary build tool).

```bash
# Install gcc and make
sudo apt install gcc && sudo apt-get install make
```


---

# 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.firmachain.org/master/node-and-validators-guide/run-a-full-node/os-package-settings.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.
