Ubuntu 22.04.1 Jammy LTS Base Release Notes

Ubuntu Base images offer our smallest and lightest images with just the bare essentials to manage the board hardware and connect to networks. It uses systemd for most basic system services. The default user credentials are as follows:

Username: root
Password: root

It will prompt you to change the password after login for security reasons.

Image Layout

  1. Board specific bootloader which not listed in partition table
  2. FAT32 EFI partition 1 with GRUB (/boot/efi)
  3. BTRFS root partition 2 (/)

Configuring System Settings such as First User or Hostname

To setup additional users:

adduser USERNAME
apt install sudo
adduser USERNAME sudo

Hostname: modify the hostname file

/etc/hostname

Configuring Network Settings such as WiFi or Wireless

The base images do not use an active network manager like the desktop images. Initial network configuration is set through Ubuntu’s default netplan.io which applies the network settings through systemd-networkd.

To modify the network settings on a booted system, modify /etc/netplan/eth0.yaml.

By default, the file looks like this:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: true
      optional: true

After plugging in a WiFi dongle, find the name via ip or iw commands. Change the netplan file /etc/netplan/wireless.yaml to something this:

network:
    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:

cat /proc/net/wireless

Reboot the system or sudo netplan apply.

To enable ssh, run sudo apt install ssh.

As a note, Grub appears to have a default 30s timer before selecting Ubuntu. Would be nice if it was shorter for headless systems.

For headless systems:

** Wait 45 seconds ***
type root enter
type root enter
type root enter
type new password enter
apt install openssh-server
now you should be able to access the system I believe. Ufw isn’t installed by default apparently in base so you shouldn’t have a firewall blocking you.

1 Like

Base means very barebone. You might be interested in the server version if you would like ssh. Also firewalld is preferred over ufw.

3 Likes

yes, please keep it very barebones.

It seems like there is no vi nor nano. How would you guys recommend us to edit file with Ubuntu base?

sudo apt install vim nano
Ubuntu base is meant to have very few packages to minimize the size of the image.

1 Like

Then you have a dependency problem per your directions – you can’t configure a wireless adapter if you don’t include a text editor. At least not via the notes you’ve provided. And what if you needed to modify the eth0 adapter?

nano is 760kB installed. Is that really worth leaving out of your image? (it’s not).

You can use vi or ed which should be included in most base images from Ubuntu.

I tried base 22.10 (rather than 22.04.1) https://distro.libre.computer/ci/ubuntu/22.10/ubuntu-22.10-preinstalled-base-arm64%2Baml-s905x-cc.img.xz and it did NOT include vi nor vim.

sensible-editor was installed but when ran, failed to find/load an editor.

It looks like an editor requires a network connection and install. The Server image does have a usable editor.

You can use echo or cat heredoc.

1 Like

To get wifi working on this Base image with netplan, I also had to install wpa_supplicant with:

sudo apt install wpasupplicant

you may also need iwconfig which can be installed with the wireless-tools package.

netplan should work for WPA networks.

You should not need wpasupplicant for WPA networks. iwconfig uses the deprecated WEXT extension and will not be supported in the future in Linux.

Just wanted to say that using Le Potato that comes with USB wifi (GenBasic 2A4M1) and this Ubuntu release I had the follow experience:

  1. cat /proc/net/wireless did not list the wireless device interface until it was actually working.
  2. To get the wireless device interface (logical name) I had to use lshw -C network (not sure if I had to apt install it first)
  3. Created wireless.yaml per directions and it would not connect to my to my router (made sure I was using 2.4GHz SSID since this wifi dongle does not support 5GHz) after sudo netplan apply
  4. Still at this point cat /proc/net/wireless did not list anything
  5. The minute I did sudo apt install wpasupplicant the wifi connected and … finally cat /proc/net/wireless listed the device
  6. Using either “lshw -C network” or “ip add” can show you the IP it obtained.
  1. Thanks for reporting. Updated the instructions.
  2. ip or iw
  3. Post the file you used.

I found references to ‘/sbin/wpa_supplicant not found’ in the journal. Installed wpasupplicant package (over eth0) and everything worked perfectly. Maybe that package should be included in the base image?

Whenever I try to update the hostname, it resets to the device model. Tried the following:
Edited hostname file (As sudo and as root), it deletes the first line and replaces it. I have comment beneath so I know it’s not a new file.

nmtui (As sudo and root)

raspi-config (As sudo and root)

Solved: This allowed me to update it:

  1. Set preserve_hostname true in /etc/cloud/cloud.cfg
  2. Update hostnamesudo hostnamectl set-hostname ubuntu-1
  3. reboot
1 Like

This is only relevant to Ubuntu server images. Ubuntu base does not feature cloud-init.