Manjaro usb with ia32 efi support


I am trying to install Manjaro in a netbook with an Atom CPU. So far, quite painful, with no success after 3-4 hours, and I am near to give up.

Trying to boot from the Uefi shell I discovered the incompatibility of ia32 efi. The CPU is x86_64, but the UEFI only 32bits.

I read some posts online, and the only thing I tried was to download the bootia32.efi and copy it to the EFI partition of the live usb. Then, using the uefi shell, executing it, allowing me to use a grub2 shell.

I don't know how to use properly the grub, but so far I achieve to start booting but with many errors, and finally, freezed (no GUI at all).

I did configfile (hd0)\loader\entries\manjaro-x86_64.conf, altough the title and options were not recognized. I also wrote those options after the linux line.

Oof.. I have dealt with these types of systems before... I will try to write up a guide soon. Just hang tight. It took me a few days to figure out how to install any type of Linux on these mixed systems... I was successful in the end!


The Manjaro x32 ISO is compatible with UEFI32. That should work well enough to see if you like Manjaro on your device. I've installed it on my Asus T100CHI (Atom baytrail). There aren't many distros that are compatible out of the box with UEFI32.

Most distros require hacking the ISO to add a boot strap (bootia32.efi) and the 32bit efi grub modules (/boot/grub/i386-efi/). See if this post from another forum helps you find those pieces for your liveUSB. Grub doesn't care if the distro is 32 or 64 bit, but grub's modules need to match the bit size of the device's UEFI.

1 Like

I would appreciate if you can just give some files/list of steps to modify the manjaro iso, in case it can help you to avoid writing a guide now.

Would be interesting to know which steps are necessary to modify/add/remove in a guide like this to be able to boot in a x86 EFI.

I have tried previously Manjaro, and I like it (I use it in other PCs). But I wouldn't move to Linux in a netbook if I have to use x86 in a x86_64 CPU. It degrades considerably the performance in many tasks.

1 Like

Like I said, my method is a hack. The main challenge is modifying Manjaro's ISO image on the liveUSB. Etcher (or dd) creates an ISO9660 format USB which is read only. So, I start by making the liveUSB (FAT32 formatted with boot flag set and labeled) with Unetbootin. The bootia32.efi from the Manjaro x32 will only read ISO9660 formatted liveUSB, so I took /EFI/BOOT/bootia32.efi from a debian based distro that does support UEFI32 OOTB. I also copied the /boot/grub/i386-efi/ folder from the same debian distro liveUSB. (The MX-Linux 19.3 ISO (64 bit) has the necessary UEFI32 files.) Once you boot the modified Manjaro liveUSB, check that efibootmgr is installed efibootmgr -v. Install it if it is missing. efibootmgr is necessary for installing grub at the end of the Manjaro installation.

Updated Steps: (Edits 2019/10/9 & 2020/05/19)
Download Manjaro (or derivative) 64 bit ISO of your choice and Manjaro32 (or MX-linux 19+)
Plug in a USB stick formatted FAT32 with boot flag set and labeled.
Burn the [Manjaro] 64bit ISO to USB stick with Unetbootin.
copy bootia32.efi* to /efi/boot/
copy folder /boot/grub/i386-efi (from Manjaro32 or MX-linux) to liveUSB /boot/grub/
Edit: Make sure that the liveUSB stick LABEL matches misolabel
... in /boot/grub/kernels.cfg (e.g. MJRO1810). Otherwise the error will be a device did not appear timeout.
A second edit is now needed on the liveUSB in /boot/grub/grub.cfg:
Find in efi_detect

for efi in (*,gpt*)/efi/*/*.efi (*,gpt*)/efi/*/*/*.efi (*,gpt*)/*.efi (*,gpt*)/*/*.efi ; do

and replace it with

for efi in (*,gpt*)/efi/*/*.efi (*,gpt*)/efi/*/*/*.efi (*,gpt*)/*.efi (*,gpt*)/*/*.efi (*,msdos*)/*/*/*.efi ; do

Without this edit, the modified liveUSB boots to the grub > prompt instead of the grub menu.

boot liveUSB
Note: Some devices will need additional BIOS settings enabled, such as booting from USB or possibly enabling legacy mode. Explore the BIOS setup if the boot menu does not show the USB as a boot option. (Make sure fast boot, secure boot, etc. are all disabled in firmware and any other OS's.)
[optional internet USB dongle]
check for efibootmgr
---make sure Calamares is pointing to the EFI drive before installing. It might default to an SD card instead of the on-board storage. On my baytrail system, Calamarres defaults to my SD card - mmcblk0. My built-in storage is mmcblk2 - just be careful. Use manual partitioning and set the EFI partition to mount at /boot/efi .

*Note: the bootia32.efi is from the old Google+ group for running Ubuntu on the Asus T100 2-in-1 baytrail laptop. Directions to roll your own can be found here, though these are not Arch instructions...

The proper way to fix this would be to spin an ISO. That involves learning curves I haven't mastered.

A number of these Atom devices lack full hardware support OOTB. A WiFi or Ethernet USB dongle can be very helpful. Also, a google search using "Linux [device name/model]" will usually lead to useful hints such as settings, configuration or useful hardware tips, like where to find drivers. Most of these tips will be Linux distro agnostic.


Great, this is another procedure I could try.

Upstream arch (for as much as, yes, I know, we aren't using the same boot chain anymore) is waiting on syslinux.

As for manjaro:

Ok. The guide is ready. If something does not work, feel free to leave a comment.


If you want to try it out, the tutorial I just posted should get you to 64 bit.

You would have to probably add the core repository from manjaro32, then build the ISO with the 32bit grub. I'm not sure whether this would cause issues as i've not tried this. What Manjaro needs to do if it wants to support this, is it needs to package the i386-efi folder in it's 64 bit grub package...

The difference between our methods is where to get the extra files and how to assemble the liveUSB. If the UEFI32 device can find /efi/boot/bootia32.efi and grub can find /boot/grub/i386-efi/ (it's 32 bit modules), the liveUSB will boot.

You are correct; the i386-efi folder is all that is necessary for the 64 bit ISO's to install grub for a UEFI32 system. I've done the transplant and Calamares succeeded installing grub for Manjaro 64 bit, as long as efibootmgr was installed before installing Manjaro.

1 Like

Since this seems to be used a lot in netbooks, I would not be surprised if such a config is heard of again in an upcoming device..

I've suggested supporting UEFI32 in various threads for quite a long time. Jonathon indulged me for Manjaro32 and I am grateful! Philm would need to be persuaded for 64 bit ISO's.

My guess is that the newly enabled devices would cause some additional support issues. Many Atom devices are not fully supported by the kernel. Some additional configuration and sometimes drivers are needed to get wifi or bluetooth working ... But I always point out that lot of these win32 devices were made by Asus, Lenovo, Toshiba, etc.

He is amazing. Taking on the whole Manjaro32 project, while being super active on the forum is dedication! Anyway, the guide is up... Feel free to make your own using your method, and link it to mine if you like, or suggesting edits to mine.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by