A sorta-beginner’s guide to installing Ubuntu Linux on 32-bit UEFI machines.

  • BayTrail hardware has a 64-bit CPU, but 32-bit UEFI BIOS, compared to the more common arrangement of both the CPU and BIOS being the same.
  • Most common linux distributions now recommend / release as 64-bit.
  • Their UEFI BIOS files are also 64-bit.
  • The 32-bit BIOS can’t see these 64-bit files.

This is a newbies guide, and kind of verbose.

Some of the terms here aren’t strictly correct, and there may be faster ways of doing some of these steps, but the aim is to walk people through the process in a way that is most likely to succeed, while teaching them a few things along the way. Keep that in mind if any of it offends you as a more expert user!

The prep was done on macOS, but I’ll try and help out for Windows systems.

If I get a hold of a windows machine in future, I’ll update it with some extra content, but you’ll still be able to use this procedure either way. I’m assuming you’re not on Ubuntu already because…beginner’s guide.

The reference machine is a Lenovo 100S (100S-11IBY)

My reference machine here is the Lenovo 100S-11IBY, which has an Atom Z3735F processor and eMMC hard disk. It’s only seems to be fully supported as of Ubuntu 17+, earlier attempts failed with trackpad and WiFi issues.

Prerequisites

Linux choice, and some notes on compatibility.

Just get ubuntu.

I’ve based this guide around Ubuntu 17.10, Artful Aardvark, as pulled from the Ubuntu cdimage server in September 2017.

There will be issues, often fatal.

The diversity of linux distributions and hardware out there is really wild west territory. This guide might not work for you at all. Also, by the end of it, most of your hardware will work — but there will probably be at least a few issues with shortcut keys, sleep, display brightness, battery indication, and a host of other things common to linux, especially on laptops.

Don’t do this on your main computer!

Really, honestly, if you have a daily requirement for a fully supported and working computer, don’t use it for this — buy a cheap, second hand laptop or use the VM or Cloud approaches mentioned below to test. If you are a beginner with linux on your main machine, you need to be ready for some downtime and evenings spent resolving issues, even if you get it right the first time.

You could also just use a VM, Container or the Cloud!

On that note, if you want to learn about linux, but can’t afford a second machine to test things on — you still have options. You can use a virtual machine, such as Virtualbox, Vmware Player or Veemu for free and run it there.

A summary of the process

You’re going on a bit of a non-standard journey to a working Ubuntu install at this point, and there will be some parts where things look totally broken, so keep in mind the following sequence as we go:

  • We’re going to build a standard USB installer.
  • Then add an extra file to help it work with the 32-bit BIOS.
  • Setup your computer to let you boot from a USB.
  • We’re then going to boot to a “live desktop” and see how things look.
  • Then, we’ll do an install which is going to fail at the last step.
  • After that, we’ll start up the USB installer again with a few tricks to get us into the broken installation.
  • Finally, we’ll do a little work to fix things up so you can use your Ubuntu install without any hassle.

Building a USB installer.

Most linux-es install using a USB installer, which is made by loading an image file onto a USB stick and then booting from it. This is well covered, but I’m going to summarise here all the same.

Download the ISO

As I noted above, I’ve grabbed the latest ISO from the Ubuntu site. I’m always going to pick the current build of what’s called a “Daily-Live” image, which has the latest drivers and software. They can be less stable, but it gives you a better chance of having all of your hardware work.

Format your USB stick

This will change between operating systems, but you want to insert your USB stick and format it as FAT32 using a GUID partition scheme. The short version is, this is what’s required for the BIOS to be able to see the disk correctly.

Creating a bootable USB

The app choices are specific here as they “unpack” the install ISO onto a disk. There’s other utilities that load the image (such as Etcher, which is my favourite disk utility ever), but you won’t be able to easily change the disk after it’s written, which is important for what we’re doing here.

Adding the 32-Bit EFI file.

So, this next bit is important, and relates to the issues outlined at the start of the process. As it turns out, the workaround for the 32 vs 64 issue is pretty straightforward — we can just add the 32-bit EFI file to the Ubuntu installer files and the BIOS will be able to see it.

Setting up your BIOS for the install.

Here be dragons! This is the first step that is potentially destructive to your PC, especially if you’re using Windows and Bitlocker. This is also going to be different from machine to machine, so I’m providing generalisations here — you will need to do some googling for your own setup.

A Warning

From here on in, we start making changes to your PC that you might not recover from.

The process

Generally, you’re going to do the following:

  • Reboot your PC
  • Access the BIOS using a shortcut key.
  • Ensure UEFI boot is turned on (not legacy).
  • Disable secureboot.
  • Optionally, reset the BIOS to “install mode” as required.
  • Turn off the machine
  • Press the recovery button next to the HDD light.
  • Select BIOS Setup
  • In configuration, turn off Secure boot, select Reset to Setup Mode.
  • Press F10 to save and exit.
  • Turn off the machine again, press the recovery button.
  • Select Boot Menu
  • Select Ubuntu under EFI Boot Devices.

Booting to the live desktop.

Ok, so now we’re going to boot to the “Live Desktop” of Ubuntu, which is like a preview of what things will be like once it’s installed, without having changed anything yet.

Testing things out.

Now to test things out. Generally, you want to get a feel for if you’re happy with how everything works. Consider the following:

  • Keyboard and Keys.
  • Trackpad.
  • Wifi and Bluetooth.
  • Shortcut keys or other functions.
  • Battery life indication.
  • Sleep and Wake.
  • Etc.

Doing the install

A Final Warning — at this step, we really start breaking stuff.

There are way’s to “dual boot” a system between Windows and Ubuntu, but for this guide I want to keep it simple so we’re sticking with a lot of defaults in the installer — one of which involves wiping the existing Windows installation.

Installing Ubuntu

The live distribution has an installer link on the desktop:

The grub installer failure

Now, the majority of the time I’ve done this, the Grub installer fails, with something along the lines of “grub-efi-ia32 package failed to install to target”.

Finding some critical information before moving on

Now, we need one bit of information before we go any further — where Ubuntu actually installed to before things broke. We need this for the next step, and it’s just as easy to get it now before we move on.

  • Type “sudo gparted”, without the quotes, which is asking to run a disk management tool as an administrator. You can find out more about sudo here, but basically, it gives the command you’re running more permissions on your system. Use wisely!
  • Gparted will show you what your disks look like. We want to find the one with the Ext4 partition on it. It will look something like the screen below:
  • The device that the partition is on, which is /dev/sda in the above screenshot
  • The partition that hosts the ext4 file system, which is /dev/sda3

Fixing your new installation, and, what’s GRUB?

Ok, so there’s something interesting going on here. At a high level, when you start Ubuntu, you have two things going on

  • There’s a boot loader, called GRUB, which helps the system start up.
  • Then you have Ubuntu, the applications and desktop, as you’d expect.

Startup using the USB disk and hack grub.

As per the first round, you want to boot the PC and select the Ubuntu USB as the startup disk.

  • Exit this menu by pressing escape.
  • Press C for the Grub command line, which will drop you back to a prompt:

Tidying up grub once you’re in your real Ubuntu

Ok, so now we’re on the final step — we’ve made it back to our actual desktop (you should have had to login after the boot command above), and we can set things straight and ditch the USB.

Update Apt.

First up, we’re going to run the following command in the terminal:

Fix up GRUB install.

Now, we’re going to install / update some packages related to the 32-bit UEFI:

Voila!

The world being a kind place, now you can remove the USB and restart your machine and work through the normal boot process to arrive back at the login screen.

Addendum — Reinstalling windows.

Ok, so as promised, if everything goes horribly wrong or you run out of patience, here is the process for getting back to Windows again.

  • The windows ISO’s can be downloaded here, and if you’ve been following this guide you should get the 32 bit ISO.
  • Grab a copy of Etcher — it’s great for this kind of thing (swear I’m unaffiliated).
  • Select the Windows 10 ISO you just downloaded. Etcher may warn about the process to make the drive bootable — it’s ok to ignore this for the EFI installs.
  • Kick the process off and let it complete.
  • Once it’s ready, kick off the same process as you did for the initial Ubuntu install — booting up your PC and selecting the USB.
  • Start the installer and follow the prompts!

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
zedgoat

zedgoat

Documenting my mistakes in the hope I don’t repeat them.