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 /casper/initrd
Remove the quiet parameter and change line 3 to:
Change below command to the correct ttyS#
linux /casper/vmlinuz console=tty0 console=ttyS4,115200n8 ---
Automatically enable ttyS4 (still testing):
linux /casper/vmlinuz console=tty1 console=ttyS4,115200n8 systemd.unit=getty@ttyS4.service ---
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.