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.

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.