In the headless setup of Ubuntu on Raspberry Pi 4, you don’t need a keyboard, a mouse, and a monitor. You can directly access the Ubuntu operating system installed on your Raspberry Pi 4 remotely via SSH.
In this article, I am going to show you how to install Ubuntu Server 20.04 LTS on your Raspberry Pi 4 in headless mode and configure SSH access. So, let’s get started.
Things You Will Need:
To follow this article, you need the following things:
- A Raspberry Pi 4 single-board computer
- A USB Type-C power adapter for your Raspberry Pi 4
- A 16 GB or 32 GB microSD card
- A laptop or a computer for flashing the Ubuntu Server image on the microSD card and accessing your Raspberry Pi 4 via SSH
- Raspberry Pi Imager or Balena Etcher installed on your laptop or computer for flashing the Ubuntu Server image on the microSD card.
If you need any assistance on installing Raspberry Pi Imager on your Linux operating system, check my article How to Install and Use Raspberry Pi Imager.
If you need any assistance on installing Balena Etcher on your Linux operating system, check my article Install Etcher on Linux.
In this article, I will use Raspberry Pi Imager for flashing the Ubuntu Server operating system image on the microSD card. You can use Balena Etcher if you want.
Downloading Ubuntu Server 20.04 LTS Image for Raspberry Pi:
To install Ubuntu on Raspberry Pi 4, you need to download the Ubuntu Server 20.04 LTS image for Raspberry Pi.
The Ubuntu Server 20.04 LTS Raspberry Pi image is available on the official website of Ubuntu.
Visit the official website of Ubuntu from your favorite web browser.
Once the page loads, click on Download and click on Raspberry Pi 2, 3, or 4 from the Ubuntu for the IoT section as marked in the screenshot below.
Once the page loads, scroll down a little bit and click on either the Download 64-bit or Download 32-bit button from the Ubuntu 20.04.1 LTS section as marked in the screenshot below.
If you’re using the 2GB or 4GB version of Raspberry Pi 4, then download the 32-bit Ubuntu 20.04 LTS image.
If you’re using the 8GB version of Raspberry Pi 4, then download the 64-bit Ubuntu 20.04 LTS image. Otherwise, you won’t be able to use the full 8GB RAM of your Raspberry Pi 4. A 32-bit operating system can address only 4GB of RAM.
Your browser should start downloading the Ubuntu Server 20.04 LTS image for Raspberry Pi shortly.
Once your browser prompts you to save the Ubuntu Server 20.04 LTS image for Raspberry Pi, select the location where you want to save the image, and click on Save.
Your browser should start downloading the Ubuntu Server 20.04 LTS image for Raspberry Pi. It may take a while to complete depending on the speed of your internet connection.
Flashing Ubuntu Server 20.04 LTS Image to MicroSD Card:
Once the Ubuntu Server 20.04 LTS image is downloaded, you can use Raspberry Pi Imager to flash the Ubuntu Server 20.04 LTS image to the microSD card.
Insert the microSD card on your computer. Then, open the Raspberry Pi Imager and click on CHOOSE OS.
Scroll down a little bit and click on Use custom.
Select the Ubuntu Server 20.04 LTS image that you’ve just downloaded and clicked on Open.
The Ubuntu Server 20.04 LTS image should be selected. Click on the CHOOSE SD CARD button as marked in the screenshot below.
Click on the microSD card from the list that you want to flash the Ubuntu Server 20.04 LTS image.
To write the Ubuntu Server 20.04 LTS image on your selected microSD card, click on WRITE.
To confirm the operation, click on YES.
This will remove all the existing data from the microSD card and copy the Ubuntu Server 20.04 LTS image file to the microSD card.
Ubuntu Server 20.04 LTS image is being flashed on the microSD card. It may take a while to complete.
Once the Ubuntu Server 20.04 LTS image is flashed on the microSD card, click on CONTINUE and close Raspberry Pi Imager.
Configuring Wi-Fi Connectivity:
NOTE: If you want to use Wi-Fi for network connectivity on your Raspberry Pi 4, then this section is for you. If you want to use a wired connection, then you can skip this step.
For the headless configuration of Ubuntu Server 20.04 LTS, you must configure the network (Wi-Fi or wired).
To do that, eject and re-insert the microSD card on your computer. You should see a boot partition as you can see in the screenshot below.
You should find a network-config file in the boot partition.
Open the network-config file in a text editor. The file should have the following contents by default.
Remove the # character from the marked lines (to uncomment the code). Then, change the <WiFi-SSID> and <WiFi-PASSWORD> with the SSID and password of the Wi-Fi network you want to connect to.
Once you’re done, save the network-config file.
Powering on the Raspberry Pi 4:
Connect the microSD card and the USB Type-C power cable on the Raspberry Pi 4.
If you want to use a wired network, connect the RJ45 network cable to the Ethernet port of the Raspberry Pi 4 as well.
Once you’re done, power on the Raspberry Pi 4.
Finding the IP Address of your Raspberry Pi 4:
Login to your Router’s admin panel from a web browser and you should find the IP address of your Raspberry Pi 4 that is assigned to it via the DHCP server running on the Router of your home network.
As you can see, the IP address of my Raspberry Pi 4 is 192.168.0.104. It should be different in your case. So, make sure to replace it with yours from now on.
Accessing the Ubuntu Server 20.04 LTS Remotely via SSH:
To remotely access the Ubuntu Server 20.04 LTS operating system running on your Raspberry Pi 4 via SSH, run the following command:
To accept the fingerprint, type in yes and press <Enter>.
The default password is ubuntu. Type in ubuntu and press <Enter>.
The first time you log into Ubuntu Server 20.04 LTS on your Raspberry Pi 4, you will be asked to change the default password ubuntu.
Type in ubuntu and press <Enter>.
Type in a new password and press <Enter>.
Retype the password and press <Enter>.
The password should be changed and the SSH session should be closed.
You can SSH into your Raspberry Pi 4 again with the following command:
Type in the new password and press <Enter>.
You should be logged into the Ubuntu Server 20.04 LTS operating system installed on your Raspberry Pi 4.
As you can see, I am running Ubuntu 20.04.1 LTS on my Raspberry Pi 4.
Now, you can run any command you want on your Raspberry Pi 4 remotely via SSH.
Conclusion:
In this article, I have shown you how to install Ubuntu Server 20.04 LTS on your Raspberry Pi 4 in headless mode (without a monitor, a keyboard, and a mouse connected to your Raspberry Pi 4). I have also shown you how remotely manage your Raspberry Pi 4 via SSH.