> For the complete documentation index, see [llms.txt](https://dev.solid-run.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.solid-run.com/amd/v3000/sbc-platform/bedrock-v3000-technical-documentation/software-bedrock-v3000/other-operating-systems-bedrock-v3000/installing-freebsd.md).

# Installing FreeBSD

## Installing FreeBSD

### Test setup

The installation was validated at SolidRun using the following setup:

* Freebsd 13.2-RELEASE
* Terminal software:
  * Putty
  * Alternatively, Tio can also be used.\
    **known TIO limitation**: in BIOS, the currently selected option is displayed in the same color as the background, which makes it not visible, yet it is still fully functional.
* USB flash disk: Kingston Data Traveler

## Installation process

### Download FreeBSD Image

* Go to: [FreeBDS AMD64 installer download](https://download.freebsd.org/releases/amd64/amd64/ISO-IMAGES/13.2/FreeBSD-13.2-RELEASE-amd64-disc1.iso)

### Creating bootable USB drive

Please follow instructions at [Creating bootable USB drive](/amd/v3000/sbc-platform/bedrock-v3000-technical-documentation/software-bedrock-v3000/creating-bootable-usb-drive-for-bedrock-v3000.md)

### Connecting serial console

Please follow instructions at [Using serial console with Bedrock V3000](/amd/v3000/sbc-platform/bedrock-v3000-technical-documentation/software-bedrock-v3000/using-serial-console-with-bedrock.md)

### BIOS settings

* Insert the USB media to the device
* Turn on Bedrock
* Repetitively press the DEL / ESC key to enter the BIOS setup
* In BIOS go to -> Save & Exit -> -> yes
* Device will reset and a PFsense boot screen will appear

### Boot

When you see the main boot menu:

* Press "esc" or the arrow buttons to go to the boot option shell
* Set the console redirection (copy to the terminal):

  ```
  set hw.uart.console="mm:0xfedc9000,rs:2"
  boot
  ```
* Kernel messages will start to spill out, wait until you see the following prompt:
* Select console type, press enter for default(VT100):

![image-20231102-125048.png](/files/OxM1b4WGE0poHClgqxhp)

* Choose install:

![](/files/dRCNPcvhD20mY8UQSsvA)

* Choose keymap:

![](/files/Xm45s19nags7KjnZtlkq)

* Choose host name for your device:

![](/files/oOwM0yDLDcPYzouJ00lJ)

* Choose system components, press enter for default:

![](/files/UnQWMUrjaqzqT8kMdzkL)

* Select Auto (UFS) Guided UFS Disk Setup:

![](/files/FAuVzSiN5EWSH2FSkb8b)

* Select installation disk:

![](/files/r3MiOyDbOlOSz7FkoMrK)

* Select Entire disk:

![](/files/vAesJ7dpCM5VFXGe3CMm)

* Confirm destructive action:

![](/files/1eW2TPUsp94BhjkEAocJ)

* Select partition scheme:

![](/files/Vn0zR3ozIXTtHp2bXAzI)

* Review disk setup and select Finish:

![](/files/TIHUS6KOFma1fVczlWB8)

* Confirm destructive action:

![](/files/6vls2vmTrmRsHKsgg6xN)

* Wait for the installation to finish:

![](/files/bLq6oGvn2sqloz5Wx6Fg)

![](/files/lfiDgjridmCUNJXd1Hqj)

* Select password:

![](/files/WQ0Vv38SHS8Unu4pv4hu)

* Select network interface to configure:

![](/files/9U4hIHQirgg5xNf4m9sC)

* Follow the istructions to configure the interface.
* Configure resolver, enter for default:

![](/files/EDjAnt8JQbkmFdwhpT7M)

* Select local time and time zone, select no:

![](/files/2klKwuVff0U5zLaJ2bPq)

![](/files/ljrfNJ75DEzqdxVjZkdG)

![](/files/9HSsWNUvmPYPf3bHaeXe)

![](/files/X2EOAzF0AYtEgMluSSRe)

* Configure your system:

![](/files/KfwMeokmC4u0y5SNC3Kv)

* Configure system hardening:

![](/files/7hDi3gDg366Ioye6Cp2D)

* Add users if needed:\
  Follow the istructions to add a new user

![](/files/MaGHytmNfr4joXuBgRSH)

* Apply the configurations and exit the isntaller:

![](/files/58ux06IPGNxQYwCZ0eVd)

* Open shell to further configure the system:

![](/files/nQwTlNWTV3Ql3iEzaXrD)

* Select yes because we will need to make the following modifications to enable console:
  * Create the `/boot/loader.conf.local` file, which will contain our changes and add:

    ```
    hw.uart.console="mm:0xfedc9000,rs:2" 
    ```

{% hint style="warning" %} Note: /boot/loader.conf recreates itself each boot or update, so this will override the changes. {% endhint %}

**Thats it, you can reboot the system and use it.**

### Tips

**Hididng kernel output**

* Add to /boot/loader.conf.local:

  ```
  boot\_mute="YES"
  ```

#### **Disabling Hyperthreading**

* Add to /boot/loader.conf.local:

  ```
  machdep.hyperthreading_allowed="0"
  ```
* To verify the change run:

  ```
  sysctl machdep.hyperthreading_allowed
  ```


---

# 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 dynamically by asking a question.

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

```
GET https://dev.solid-run.com/amd/v3000/sbc-platform/bedrock-v3000-technical-documentation/software-bedrock-v3000/other-operating-systems-bedrock-v3000/installing-freebsd.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.
