Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This guide will allow you to install linux on Bedrock PC (follow all instructions without the ones marked in red).

text in red are remarks to change or further investigate

Tested versions:

  • Ubuntu server 20.04.2

  • Ubuntu server 22.04.1

Tested serial platforms:

  • Tio

  • Putty

Tested NVME disks:

  • Micron 7450 pro 960GB

  • Samsung 980 pro 980 GB

Create bootable usb drive:

  • download a linux server iso

  • sudo dd if=${path/to/iso/file.iso} of=/dev/sdX status=progress

Note X is the letter marked by your computer when running lsblk (usually a or b)

  • Insert the usb media to the device

  • In bios enable uart support (ASK RON HOW TO DO IT)

  • Boot from inserted usb media

Putty settings:

  • If keyboard input doesn’t work change XON\XOFF to none

Grub settings:

  • In grub press “e” to enter into setparams mode

  • You will be prompted with a window like this:

setparams 'Install Ubuntu Server'
set gfxpayload=keep
linux        /casper/vmlinuz   quiet  --- 
initrd        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

Anchor
Setup
Setup
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

Anchor
Installation
Installation
Installation process
Anchor
bootable
bootable
Creating bootable USB drive

Please follow instructions at https://solidrun.atlassian.net/l/cp/m9Reo11r

Anchor
serial
serial
Connecting serial console

Please follow instructions at Using serial console with Bedrock V3000

Anchor
BIOS
BIOS
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 -> <your bootable USB device> -> 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

Anchor
grub
grub
Configure grub

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

  • You'll encounter a window resembling:

    Code Block
    setparams 'Install Ubuntu Server'
    set gfxpayload=keep
    linux        /casper/vmlinuz   quiet  --- 
    initrd        /casper/initrd
  • Remove the quiet parameter and change line 3 to:

Change below command to the correct ttyS#

...

  • linux        the entry that starts with ‘linux’ to look as follows:

  • Code Block
    linux /casper/vmlinuz
      console=tty0 console=ttyS4,115200n8  ---

...

  •  console=tty1 console=ttyS4,115200n8 systemd.

...

  • wants=

...

Note: the text in bold may be different for you, you just need to add the parameters after that.

  • Now press ctrl+x to boot

  • A message saying “Booting a command list” will appear

  • It might take a while to start showing more output

  • After the output stops running you will see one or more of  the following messages:

    • Welcome to Ubuntu Server Installer!

    • Cloud init is ready

    • Some encryption keys

You have 3 options to proceed from here (choose ONE):

1. Install from serial console:

Check if we can make it work through uart input

  • IMPORTANT: Connect a keyboard to the device (serial input will not work here)

  • Press ctrl+z

  • Type the commands in bold:

    • systemctl status getty@ttyS4.service

    • systemctl enable getty@ttyS4.service

    • systemctl start getty@ttyS4.service

Check console redirection or start service automatically
Note: you will not see what you're typing but just continue

  • After the last command, a console line  will appear (switch back to uart input)

  • Run the following file: /usr/bin/subiquity-shell 

2. Install from ssh: this option enables yopu to connect throuth SSH (wasnt tested yet).

3. Install from cloud init: this option uses network boot

Installation process:

  • Choose language

  • If prompted to update the installer choose the desired option

  • Choose keyboard configuration

  • Configure network interface (not mandatory)

  • Configure proxy (not mandatory)

  • Configure ubuntu archive mirror (not mandatory)

  • Choose installation disk

  • Choose on which partition to install linux, or choose the whole disk

Note: chosen disk will be formatted so be careful when choosing, so you will not lose your data.

  • Choose what snaps you want to install

  • After install finishes select reboot now

      

After installation is done:

  • run: systemctl start getty@ttyS4.service

  • And : systemctl enable getty@ttyS4.service

  • After that the device's console will appear and that's it.
    serial-getty@ttyS4 —
  • Wait for the live USB to boot

Info

might take some time for the installer to run, so just give it some time

Anchor
Live
Live
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

Anchor
ttyS4
ttyS4
Enable ttyS4 service

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:

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

        • Code Block
          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 quiet
        • 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

      Code Block
      GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty1 console=ttyS4,115200n8"
    • save the file and run: update-grub