Installing Ubuntu LTE over serial console on APU board
Posted on
Installing Ubuntu on APU boards is easy if you know the steps. Other tutorials are recommending modification of the ISO file that is time-consuming and totally unnecessary.
Step 1:
Download Ubuntu Server LTS (amd64) image from here: https://ubuntu.com/download/alternative-downloads
At the time of writing, I'm using version 20.04.2. The full image name is ubuntu-20.04.2-live-server-amd64.iso
Step 2:
Flash the image on USB.
If you are using Linux, use dd:
sudo dd if=ubuntu-20.04.2-live-server-amd64.iso of=/dev/sdX; sync
sdX needs to be replaced with sdb, sdc, sdd or similar. Do not include a number. If you flash "sdb1" it won't work.
if you are using Windows, flash the image using Rufus: https://rufus.akeo.ie/
Step 3:
Insert the USB into the APU board, and use putty to connect over the serial cable, as described here.
Step 4:
Ubuntu installer will boot, but it will complain that the graphics card is not detected. The error will look similar to this
graphics initialization failed Error setting up gfxboot
This is expected because APU does not have a graphics card. The installation needs to be done through the serial console. You will get a boot: prompt. The command to type is
live console=ttyS0,115200n8
After you press enter, you may get two warnings similar to this
[ 4.441954] sd 0:0:0:0: [sdb] No Caching mode page found [ 4.447545] sd 0:0:0:0: [sdb] Assuming drive cache: write through
Don't be concerned. This is nothing to worry about. After a minute, you should get an installation menu similar to this, and you can proceed as you would on hardware that has a graphics card.
Continue in basic mode and follow the instructions on the screen. That's it.
Use Tab, Arrow Up, Arrow Down to switch between different options. Use the space bar to select/deselect checkboxes.
Toubleshooting
If you see "Sorry, there was a problem completing the installation", you probably have pfSense or OPNsense installed on the SSD drive.
For some reason, Ubuntu doesn't want to override filesystems it doesn't recognize. You will have to clean up the SSD before Ubuntu can be installed. Fortunately, the installer allows us to drop into shell to do just that. Use the Help menu in the upper right corner and choose "Enter shell". After that, you can type the following command to clean the SSD. This command will clean up the first 4MB of the drive, so it will look to the installer like a fresh SSD without any partitions.
dd if=/dev/zero of=/dev/sda bs=4M count=1; exit
And try again