[Bug 1341944] Re: 32-Bit UEFI bootloader support needed

Jay Davis fenwayjay at gmail.com
Tue Jul 15 17:19:25 UTC 2014


I can confirm this affects me as well. I have an Acer Switch 10 and an
Asus T100. Both of them have the same Intel Atom 64-bit processor, but
require a 32-bit bootloader in order to boot. These machines are UEFI
only and have no legacy BIOS support.

I was able to get Ubuntu 64-bit installed and running by following the
workaround detailed on http://www.jfwhome.com/2014/03/07/perfect-ubuntu-
or-other-linux-on-the-asus-transformer-book-t100/ but after careful
review, it seems that simply adding a 32-bit grubia32.efi or equivalent
to the 64-bit livecd alongside the 64-bit version of the loader, half
the problem is solved. Then it's just a matter of making grubia32 a
default part of the distribution alongside the 64-bit version. UEFI is
designed to load the appropriate .efi for the expected architecture, and
because these low-cost devices ship with 32-bit Windows 8.1 to save
space on the device by eliminating WoW64, the UEFI on these devices
expects a 32-bit bootloader. Linux (including Ubuntu 14.04 and possibly
earlier) supports booting a 64-bit OS from a 32-bit bootloader.

Anecdotally, I learned from a friend of mine that they weren't able to
install Ubuntu on their Core 2 Duo MacBook because the UEFI on their
MacBook wouldn't load the 64-bit version of grub. Turns out some
MacBooks are UEFI-only, have 64-bit CPUs, but require a 32-bit
bootloader just like these newer Atom tablets. I suggested he try
following the workaround listed above.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1341944

Title:
  32-Bit UEFI bootloader support needed

Status in “grub2” package in Ubuntu:
  Confirmed

Bug description:
  As of now, Ubuntu and other major Linux distributions do not support
  the use of a 32-bit EFI bootloader on UEFI machines. This has become
  extremely problematic due to the popularity of Intel Atom-based
  tablets and compact laptops. Atom-based devices are generally limited
  in storage space (32GB or 64GB eMMC is common), and as a result these
  devices almost universally ship with Windows 8.1 32-bit installed
  (winsxs consumes a significant amount of storage space in order to
  support 32-bit binaries in a 64-bit environment). By design, UEFI must
  use the same architecture used by the bootloader.

  While most modern computers indeed use a 64-bit UEFI implementation
  due to the fact that new computers generally ship with a 64-bit
  operating system (be it OS X or Windows 8.1), Atom-based devices do
  *not* use a 64-bit operating system or UEFI implementation. This is by
  design.

  Intel released a new Atom iteration (Bay Trail) in late 2013 and has
  indicated that they will continue to develop and release Atom CPUs due
  to consumer market demand. At the time of this filing there are a
  number of Atom-based tablets and compact laptops/netbooks being
  actively sold and marketed by major OEMs including Dell, HP, ASUS, and
  Acer. None of these devices have 64-bit UEFI firmware. It is also
  important to note that these Atom CPUs are 64-bit, but explicitly
  require a 32-bit UEFI bootloader.

  The current Linux kernel in Ubuntu 14.04 does support booting the
  64-bit signed kernel from a 32-bit Grub EFI bootloader. I can confirm
  this on at least two 32-bit UEFI devices, the ASUS Transformer T100TA
  and the Acer Aspire Switch 10. Unfortunately, the lack of official
  32-bit EFI bootloader support in Ubuntu makes accomplishing this far
  from trivial and beyond the capacity of many users new to Linux as an
  alternative to Microsoft Windows.

  This bug is currently marked as a security vulnerability due to the
  fact that as of now, it is necessary to compile Grub2 32-bit EFI
  manually in order to boot Linux. This negates the digital signature
  check that allows keeping Secure Boot enabled on modern UEFI-based
  machines.

  Considering the above, it is very important to include a 32-bit UEFI
  bootloader as an update to Grub2 in Trusty and all future releases of
  Ubuntu.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1341944/+subscriptions



More information about the foundations-bugs mailing list