As I started traveling a bit more recently, I went into search for a small laptop I can carry with me. As an alternative to my 17" work and 15" personal laptop, I wanted to go much smaller. Here comes Surface Go.
It's not a powerful device by a long shot and any heavy load is out of question. That is doubly so for the one I selected - with 4 GB RAM and only a 64 GB disk. What worked in its favor was a really cheap price (Craigslist) and reasonably mainline components ensuring Linux compatibility. Yep, I wanted to use this as my portable Linux machine.
The first step was to create a bootable media. I personally use Rufus if doing it from Windows. For those doing it from Linux, there is an excellent page with other options available. What you want is MBR-based FAT32 format. If you use GPT, all you'll get is GRUB command line.
The easiest way to install Ubuntu is if you start from Windows. Go to
Recovery Options and select
Restart now. From the boot menu then select
Use a device and finally use
Linpus lite. If
Linpus lite doesn't appear, select
EFI USB device and repeat the process. For some reason Linpus option appears every second boot for me. If you are using Ubuntu, there is no need to disable secure boot or meddle with USB boot order as 19.10 fully supports secure boot (actually Microsoft signs their boot apps).
From there on, you can proceed with Ubuntu installation as you normally would do. For me that meant going with
Minimal and no other changes. If you select third party drivers, you will have to setup UEFI password but I've found that Surface doesn't need such special treatment.
One issue that you will face is misbehaving wireless driver. For this you can either follow the guide on Reddit or install a custom package. I personally go with the package as it will restore driver every time system gets updated.
sudo apt install ./surface-go-wifi_0.0.3_amd64.deb
That's it. Your Surface Go will boot Ubuntu now.
PS: If you do want to mess with boot order, start with the Surface Go powered off. While holding
Volume Up button, press
Power button, and then release
Volume Up. This will give you UEFI menu. There you can change boot order and/or disable
Secure Boot. To reset BIOS settings to the default values, use
PPS: Between the time I wrote this post and its publishing time, any further travel became unlikely due to COVID-19. There goes my reason for getting this laptop. :)