Bedrock V3000 does not have a display, so Ubuntu installation requires connecting Bedrock to a host PC using a console (serial over USB).

This document describes Ubuntu installation process on Bedrock V3000.

It is recommended to install ubuntu server 23.04 since it has kernel version 6.2 which includes all required drivers

Test setup

The installation was validated at SolidRun using the following setup:

Installation process

Creating bootable USB drive

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

Connecting serial console

Please follow instructions at Using serial console with Bedrock V3000

BIOS settings

You need to enable some configurations in BIOS before starting the installation.

Configure grub

A grub menu will appear saying try or install Ubuntu. Press ‘e’ to set the boot parameters.

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

Live USB settings

echo enabling services
sudo systemctl start apport.service > /dev/null
sudo systemctl start blk-availability.service > /dev/null
sudo systemctl start cloud-final.service > /dev/null
sudo systemctl start cloud-init-local.service > /dev/null
sudo systemctl start cloud-init.service > /dev/null
sudo systemctl start console-setup.service > /dev/null
sudo systemctl start cron.service > /dev/null
sudo systemctl start dbus.service > /dev/null
sudo systemctl start finalrd.service > /dev/null
sudo systemctl start irqbalance.service > /dev/null
echo "20% done"
sudo systemctl start keyboard-setup.service > /dev/null
sudo systemctl start kmod-static-nodes.service > /dev/null
sudo systemctl start lvm2-monitor.service > /dev/null
sudo systemctl start ModemManager.service > /dev/null
sudo systemctl start multipathd.service > /dev/null
sudo systemctl start networkd-dispatcher.service > /dev/null
sudo systemctl start plymouth-quit-wait.service > /dev/null
sudo systemctl start plymouth-quit.service > /dev/null
sudo systemctl start plymouth-read-write.service > /dev/null
echo "40% done"
sudo systemctl start polkit.service rsyslog.service > /dev/null
sudo systemctl start polkit.service > /dev/null
sudo systemctl start rsyslog.service > /dev/null
sudo systemctl start setvtrgb.service > /dev/null
sudo systemctl start snap.subiquity.subiquity-server.service > /dev/null
sudo systemctl start snap.subiquity.subiquity-service.service > /dev/null
sudo systemctl start snapd.apparmor.service > /dev/null
sudo systemctl start snapd.hold.service > /dev/null
sudo systemctl start snapd.seeded.service > /dev/null
sudo systemctl start snapd.service > /dev/null
sudo systemctl start ssh.service > /dev/null
sudo systemctl start systemd-journald.service > /dev/null
echo "60% done"
sudo systemctl start systemd-logind.service > /dev/null
sudo systemctl start systemd-modules-load.service > /dev/null
sudo systemctl start systemd-modules-load.service > /dev/null
sudo systemctl start systemd-modules-load.service > /dev/null
sudo systemctl start systemd-networkd-wait-online.service > /dev/null
sudo systemctl start systemd-networkd.service > /dev/null
sudo systemctl start systemd-random-seed.service > /dev/null
sudo systemctl start systemd-remount-fs.service > /dev/null
sudo systemctl start systemd-resolved.service > /dev/null
sudo systemctl start systemd-sysctl.service > /dev/null
echo "80% done"
sudo systemctl start systemd-sysctl.service > /dev/null
sudo systemctl start systemd-remount-fs.service > /dev/null
sudo systemctl start systemd-tmpfiles-setup.service > /dev/null
sudo systemctl start systemd-tmpfiles-setup-dev.service > /dev/null
sudo systemctl start systemd-user-sessions.service > /dev/null
sudo systemctl start udisks2.service > /dev/null
sudo systemctl start unattended-upgrades.service > /dev/null
sudo systemctl start ufw.service > /dev/null
echo "100% done"

sudo subiquity

Enable ttyS4 service

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