Installing ZorinOS Lite x64 on old tablets and netbooks having 32bit EFI (IA32)

Hi everyone.

I have an old notebook (2in1) (Asus Transformer Book T100TA) which originally shipped with Windows 8 x86 (32bit), which is pretty much overkill for this tablet (you can barely open anything), which had only 32GB MMC flash, 2GB RAM and a weird Intel Atom CPU (Baytrail). So I needed a light and good GNU/Linux system which plays nice on a touch screen equipped old device.

What makes this 2in1 notebook weird is that the CPU is 64bit (x64) but the EFI is 32bit (IA32) which makes it impossible to use ZorinOS (or any other x64 OS) on this device normally. Because naturally 32bit EFI cannot start a 64bit operating system. In fact it won't even recognize the ZorinOS installation media, and even if you install ZorinOS on this device with a tool that has 32bit EFI support (like Ventoy), it will actually succeed but when you restart, you will see that your device won't even recognize its internal MMC drive in the boot list.

Reading a few other experiments on the internet and trying some theoretical implementations, I managed to install ZorinOS Lite on it and it works pretty good. (I also installed Alpine x64 before, if you are interested, you can check this guide on Github, it was very smooth for me but I couldn't get around a good desktop environment, maybe you can try others for experimenting.)

This method applies not only to this model only but also should apply to all other similar devices.

What you need at hand first:

1- A Ventoy multiboot USB
2- ZorinOS Lite ISO
3- Debian Netinstall ISO (I used 12.9)
4- Debian repo keyring (Download from here. (It must comply with Debian ISO version you downloaded.))

Debian is only for helping us fix bootloader. Why I chose Debian is that because it easily mounts ZorinOS partition and the boot partition and sets the chroot environment automatically. (And since ZorinOS is Ubuntu based and in turn Ubuntu is Debian based, it makes it easier.)

When you downloaded the keyring package (.deb) open it with an archive manager, then open data.tar.xz in it and copy /usr/share/keyrings directory from this archive to the Ventoy's EFI partition. This USB will have two partitions, one of which is the EFI boot partition and the other is the partition where you put your ISO files. You should copy ZorinOS and Debian ISO files here.

1- Disable secure boot.
2- Boot into Ventoy -> ZorinOS Lite and do a normal installation.

3- Restart and boot into Ventoy -> Debian this time, but not the installation. Boot it into Rescue mode (in the Advanced options of Grub menu) (During rescue mode initialization, you have to connect to WiFi.)

4- When rescue mode initialization finished, select execute shell on partition and select the ZorinOS installed partition (which would be usually mmcblk1p2). It will tell you that it recognized the /boot partition and ask if you wanted to mount it automatically, select yes.

5- Now you are in ZorinOS chroot environment on Debian shell. You need to add Debian repos to your ZorinOS repo list. (Because the package we need doesn't exist in ZorinOS repos.) To do this, edit repo file (/etc/apt/sources.list) and add Debian sources like:

deb https://deb.debian.org/debian/ bookworm main
deb-src https://deb.debian.org/debian/ bookworm main

And copy keyrings from the Ventoy USB into /etc/apt/trusted.gpg.d/ directory. To do this, you will need to mount the Ventoy EFI partition. List block devices in
/dev to see the block device name for this partition. (ls /dev) It is probably sda2. So it should be something like this:

mount /dev/sda2 /media
# if it fails saying the resource is busy,
# unplug the Ventoy USB, plug it again and type:
mount /dev/sdb2 /media
cp /media/keyrings/*.* /etc/apt/trusted.gpg.d/

Now run "apt update" to see it if can connect to Debian repo, but do NOT update anything (you can press CTRL + C to stop update process). (Also do NOT install or remove anything.) If it failed, you did something wrong or you are not connected to WiFi, try those steps again.

6- Now install the Debian package grub-efi-ia32-signed.

apt install grub-efi-ia32-signed

If it complains about the zsys service and fails, edit the zsys config file and comment everything out and reinstall the package. (/etc/apt/apt.conf.d/90_zsys_system_autosnapshot)

7- Type exit to get back to rescue menu. Select "Reinstall Grub" and then "Force install grub on removable media". If it succeeds, rebooting your system will probably boot into ZorinOS directly and you are done!

8- If the 7th step results in fatal error, enter into the shell again, you will try running the commands manually.

# depending on which drive it first recognized,
# yours could be mmcblk2
grub-install /dev/mmcblk1 --target=i386-efi --efi-directory=/boot/efi --boot-directory=/boot --removable --no-nvram

If it complains about non-existent files, copy them from the Ventoy EFI partition to where it says the files didn't exist. Like for example:

cp /media/grub/i386-efi /boot/efi/EFI/grub/i386-efi
cp /media/grub/i386-pc/. /boot/efi/EFI/grub/i386-efi/

Now run the grub-install command again as shown above. If it succeeds, then run:

grub-mkconfig -o /boot/grub/grub.cfg

Now a reboot should get you into ZorinOS Lite!

9- After the reboot, don't forget to enable zsys back and remove the Debian repos from your /etc/apt/sources.list

All devices except webcam are working. (This webcam doesn't have a GNU/Linux driver.) Touchpad is sometimes freezing for me, I don't know why; but touch screen handles everything for a mouse. You better enable the screen keyboard for tablet mode and remove the packages you don't need for optimization. Because you know, this device is very low on resources.

5 Likes

Although I love Zorin I have found that on some mixed 32/64 systems, Linux distros like Q4OS Linux 32 bit version (https://q4os.org/downloads1.html) work much better and you can use the Plasma desktop instead of the default Trinity desktop. Since you're only working with 2GB you might get better results.

There are also Windows 10 and XP lookalike versions called Free10 and XPQ4 here https://xpq4.sourceforge.io/

1 Like

Thank you! But I think 32bit software support is dramatically declining. I mean you might not find the daily tools you use supporting 32bit. Nevertheless, having KDE Plasma for tablet mode is a big plus.

1 Like

Here are the steps I followed to install latest Zorin OS on clean Disk and resolved the uefi 32bit boot problem:

  1. Files required
  • Zorin OS Lite ISO
  • Ventoy installed on a USB drive
  • bootia32.efi from lamadotcare/bootia32-efi GitHub repository
  • grubfm_multiarch.iso from: a1ive/grub2-filemanager GitHub repository
  1. Prepare the Ventoy USB

  2. Copy the following files to the Ventoy USB drive:

  • Zorin-OS-18-Lite-64-bit.iso
  • bootia32.efi
  • grubfm_multiarch.iso
  1. Install Zorin
  • Boot the Zorin installer from Ventoy.
  • Select Safe Graphics Mode.
  • Install Zorin normally.
  • Choose Erase disk and install Zorin if you want to wipe the entire internal drive.

After installation completes, the machine will typically show a Boot Failed error. This is expected because the firmware cannot boot a standard 64-bit EFI loader.

  1. Boot using GrubFM
  • Reboot the machine.
  • Boot grubfm_multiarch.iso from the Ventoy menu.
  • Using the file manager, copy bootia32.efi from the USB drive to the internal EFI partition under:
  • /boot/efi
  • Reboot again.
  • Boot from the GRUB console

After reboot you should arrive at a grub> prompt.

  1. Determine the correct partition containing the Zorin installation:

ls
ls (hd0,gpt1)/
ls (hd0,gpt2)/

On my installation, the Linux partition was:

(hd0,gpt2)

  1. Load the normal GRUB menu:

set root=(hd0,gpt2)
set prefix=(hd0,gpt2)/boot/grub
insmod normal
normal

The normal GRUB menu should appear and Zorin should boot successfully.

  1. Make the fix permanent

Once Zorin has booted, open a terminal and run:

sudo apt update
sudo apt install grub-efi-ia32-bin

sudo grub-install --target=i386-efi --efi-directory=/boot/efi --bootloader-id=Zorin --removable

sudo update-grub

The --removable option installs the bootloader to the fallback path used by many 32-bit UEFI devices: EFI/BOOT/BOOTIA32.EFI

  1. Reboot the machine.

The system should now boot directly into Zorin without requiring any manual GRUB commands.

This method was successfully tested with Zorin Lite 18 x64 on a device with 32-bit EFI firmware.

1 Like

So hang on, how did you install Plasma on 32-bit? Q4OS only makes 32-bit TDE (Trinity).

I thought so too because its kind of hidden away.

  1. Choose Desktop Profiler, then Desktop environment at the top right of the dialog box; it shows Trinity by default.
  2. Click on the > icon and a Choose desktop environment dialog box will popup.
  3. Click on the drop down box, choose KDE Plasma and check the Yes, I really want to install additional DE.
  4. Click on OK and it will install the chosen DE.

Easy peasy!

The available DEs are: KDE Plasma, LXQT, XFCE, LXDE, Mate, Bungie, Cinnamon, Gnome and of course, Trinity.

1 Like

Have you tried their excellent snapshot tool yet? You can even create a snapshot from a VM! But you must make sure you use the slowest compression option. You can choose between Personal, or create a Corporate snapshot for deployment.

I did a search on whether Q4OS has ever been installed by Enterprises. Whilst there are no specific details, the Devs helped a company migrate by using one branded snapshot used on a few hundred machines. They also converted Chromebooks (300 in all) for a Library, as it was the only GNU/Linux that worked out of the box.
They are a private bunch and only give quotes if contacted directly.