> 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/linux-bedrock-v3000/installing-ubuntu-server-using-console.md).

# Installing Ubuntu server using console

## Installing Ubuntu server using console

Bedrock V3000 lacks an integrated display adapter. Consequently, to install Ubuntu, users must connect Bedrock to a host PC using a console, facilitated by serial over USB.

This document describes Ubuntu installation process on Bedrock V3000.

### **Table of Contents**

* [Test Setup](#setup)
* [Installation Process](#installation)
  * [Creating a Bootable USB Drive](#bootable)
  * [Connecting to Serial Console](#serial)
  * [BIOS Boot select](#bios)
  * [Configuring Grub](#grub)
  * [Live USB Settings](#live)
  * [Enable ttyS4 Service](#ttys4)

### Test setup

This installation process has been validated by SolidRun with the following configurations:

* Ubuntu versions:
  * Ubuntu server 22.04
  * Ubuntu server 23.04
  * Ubuntu server 24.04
* Terminal software:
  * Putty
* USB flash disk: Kingston Data Traveler

## Installation process

Creating bootable USB drive

Please follow instructions at [/amd/v3000/sbc-platform/bedrock-v3000-technical-documentation/software-bedrock-v3000/creating-bootable-usb-drive-for-bedrock-v3000.md](/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 Boot select

You need to choose your USB bootable device to start the installation.

* 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 grub menu screen will appear
  * If you dont see a grub menu, reboot and press the “arrow down” key repetitively right after you pressed enter to boot from BIOS

### Configure grub

At the grub menu (displaying "try or install Ubuntu"),Press ‘e’ to set the boot parameters.

* You'll encounter a window resembling:

```
setparams 'Install Ubuntu Server'
set gfxpayload=keep
linux        /casper/vmlinuz   quiet  --- 
initrd        /casper/initrd
```

* Remove the quiet parameter and change the entry that starts with 'linux' to look as follows:

```
linux /casper/vmlinuz console=tty1 console=ttyS4,115200n8 systemd.wants=serial-getty@ttyS4 —

```

* Wait for the live USB to boot

{% hint style="info" %}
**might take some time for the installer to run, so just give it some time**
{% endhint %}

### Live USB settings

* After live USB boots
* Run `sudo subiquity`
  * NOTE: On newer Ubuntu versions the installer might run automatically, so you can skip this step.
* If you see a “waiting for cloud init” message, wait until it times out and opens the installer (could take some time since some services should finish starting in the background).
* Proceed with your preferred installation settings and await completion
* Wait until installation is complete
* When prompted, remove the installation media and press enter
* Device will be rebooted

### Enable ttyS4 service

{% hint style="info" %}
On Ubuntu 24+ this step is not required, installer does this on its own.
{% endhint %}

Enable the ttyS4 console to be able to interact with the system.

* Boot into BIOS
* Boot from the disk you installed linux on
* If you don't get a grub menu automatically, press the “arrow down” key repetitively right after you pressed enter to boot from BIOS
  * If you dont get the grub menu after pressing shift, connect a keyboard to the device and hold shift on the connected keyboard when booting
* In the grub menu choose:
  * Advanced options for Ubuntu
  * Select the line that says recovery mode
  * Press ’e’
  * In the line that says: linux /boot/vmlinuz-5.15.0-43-generic root=UUID=4c58e5aa-6443-4fb2-84e7-4ac2265a7b9e ro recovery nomodeset dis\_ucode\_ldr
  * Add the console parameters to grub after the ‘ro’ parameter

    * from this:

      ```
      linux        /boot/vmlinuz-6.2.0-27-generic root=UUID=1dfc1a94-6289-4b15-9f4f-0fb36c083841 ro
      ```
    * to this:

    ```
    linux        /boot/vmlinuz-6.2.0-27-generic root=UUID=1dfc1a94-6289-4b15-9f4f-0fb36c083841 ro
    console=tty1 console=ttyS4,115200n8 systemd.wants=serial-getty@ttyS4
    ```

    * Note: if you want to see the boot logs remove the `quiet` argumentPress ctrl+x to boot
* Type to enable the ttyS4 service automatically when you boot: `systemctl enable serial-getty@ttyS4`
* edit grub config file: `nano /etc/default/grub`
  * add the console redirection to the grub default options (same as above):\
    on line: `GRUB_CMDLINE_LINUX_DEFAULT` add the following

```
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS4,115200n8"
```

* save the file and run: `update-grub`


---

# 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/linux-bedrock-v3000/installing-ubuntu-server-using-console.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.
