Ubuntu Server images use cloud-init to setup the system on first boot including setting up the user password. Please wait a minute after the console appears to login with the following crudentials:
Username: ubuntu
Password: ubuntu
If you attempt to log in before cloud-init has finished, you will get an incorrect login response. It will prompt you to change the password after login for security reasons.
Image Layout
- Board specific bootloader which not listed in partition table
- FAT32 EFI partition 1 with cloud-init settings and GRUB (/boot/efi)
- BTRFS root partition 2 (/)
In the first partition, there are two files, user-data and network-config that will be applied only on first boot of the image.
Configuring System Settings such as First User or Hostname
File: user-data
Default user is ubuntu. To change the password and expiration, edit the lines below:
chpasswd:
expire: true
list:
- ubuntu:ubuntu
Setup additional users and groups by editing the lines below:
## Add users and groups to the system, and import keys with the ssh-import-id
## utility
#groups:
#- robot: [robot]
#- robotics: [robot]
#- pi
#
#users:
#- default
#- name: robot
# gecos: Mr. Robot
# primary_group: robot
# groups: users
# ssh_import_id: foobar
# lock_passwd: false
# passwd: $5$hkui88$nvZgIle31cNpryjRfO9uArF7DYiBcWEnjqq7L1AQNN3
Hostname: uncomment and change the desired hostname
#hostname: ubuntu
Configuring Network Settings such as WiFi or Wireless
The server images do not use an active network manager like the desktop images. Initial network configuration is set in the network-config file on the first partition which is FAT32 and accessible on Mac/Windows machines. The image network settings can preconfigure by modifying this file after burning it and before booting the system for the first time.
- cloud-init renders a netplan file once on the image’s first boot
- netplan applies the network settings through systemd-networkd
To modify the network settings on a booted system, modify /etc/netplan/50-cloud-init.yaml.
By default, the file looks like this:
network:
ethernets:
eth0:
dhcp4: true
optional: true
version: 2
After plugging in a WiFi dongle, find the name via cat /proc/net/wireless
. Change the netplan file /etc/netplan/50-cloud-init.yaml to something this:
network:
ethernets:
eth0:
dhcp4: true
optional: true
wifis:
NETWORK DEVICE:
optional: true
access-points:
"NETWORK SSID":
password: "NETWORK PASSWORD"
dhcp4: true
version: 2
Replace NETWORK SSID with the wireless network name you would like to connect to. Replace NETWORK PASSWORD with the password to the wireless network. Change NETWORK DEVICE to your wireless device interface name. To get a list of wireless device interface names:
iw dev
Reboot the system or sudo netplan apply
.
Server images include weston for testing advanced board graphical capabilities on wayland. We recommend trying the following:
- weston
- chromium-browser
sudo snap install chromium
2.a. 720P60/1080P30 YouTube playback (active cooling recommended)
2.b. ad block recommended for reduced resource use - gstreamer (gst123) for HW accelerated playback of 4K videos
- glmark2-es2-wayland OpenGL ES2 demo