How To Install Ubuntu Desktop on ARM Architecture
Currently Ubuntu Desktop has no support for ARM architecture, but you can still install it ๐
Written on December 03, 2024 ยท 2 min read
If you have a desktop PC or laptop with an ARM architecture and want to install Ubuntu Desktop, you may find that the official desktop image isn't available, at least for now.
But don't worry! Here's a simple workaround to get Ubuntu Desktop running on your ARM-based device.
Steps to Install Ubuntu Desktop on ARM
-
Download the Ubuntu Server Image
Make sure to choose the LTS (Long Term Support) version for stability. You can download the ARM image from the official website. -
Install Ubuntu Server
Follow the installation steps and reboot your system after completing the installation. -
Login to Your Ubuntu Server
Once the server is running, log in using your credentials. -
Install the Desktop Environment
Run the following commands to install Ubuntu Desktop:
sudo apt update
sudo apt install ubuntu-desktop
sudo reboot
- Enjoy Ubuntu Desktop on ARM After rebooting, you'll have the Ubuntu Desktop environment ready to use.
Fixing Slow Boot Times After Installation
After setting up Ubuntu Desktop, you might notice that booting takes an unusually long time. This issue is likely due to conflicting network management services.
Understanding the Problem
Ubuntu uses one of two services to manage networking:
systemd-networkd
: Default for servers.NetworkManager
: Default for desktops.
If both services (or the wrong one) are enabled, the boot process may timeout, causing delays.
Check Enabled Services
Run the following command to see which wait services are enabled:
systemctl is-enabled NetworkManager-wait-online.service systemd-networkd-wait-online.service
If both services are enabled, it may cause a conflict. You can also check which network service is active:
systemctl is-enabled NetworkManager.service systemd-networkd.service
On desktop systems, NetworkManager
is typically the correct service.
Resolving the Conflict
-
Inspect
netplan
Configuration Check the configuration files in/etc/netplan/
. Ifnetworkmanager.yaml
exists, it confirms thatNetworkManager
is being used. -
Disable the Unnecessary Service If
systemd-networkd
is enabled, disable it:
systemctl disable systemd-networkd.service
This command also disables associated services like systemd-networkd-wait-online.service
and systemd-networkd.socket
.
- Stop Active Sockets (if needed)
If you encounter the message:
Disabling 'systemd-networkd.service', but its triggering units are still active: systemd-networkd.socket
Run the following command to stop the socket:
systemctl stop systemd-networkd.socket
After disabling the unnecessary services, your boot time should reduce dramatically.
This note is written by Diky Hadna โ Software Engineer & Digital Nomad Mentor. Read my story and get in touch with me!