This is about #8471.

Test reports

This is for what we're shipping in Tails 1.5. Please include:

  • exact Tails version
  • exact installation method
  • exact hardware brand and model
  • what's happening
  • what was happening with Tails 1.4.1

Misc. notes

Regarding the success seen with bootia32.efi: why would a 32-bit GRUB2 EFI boot loader automatically chainload to our syslinux?

Or is it that bootia32.efi is actually from another El Torito image, that ships syslinux?

Debian's relevant code lives in the debian-cd, grub2 and debian-installer Git repositories. Look for bootia32.efi.

Maybe also copy to EFI/BOOT/boot.efi: grub2's changelog says that grub-install copies bootia32.efi to boot.efi, to better support old Macs:

  • doesn't work for me on a MacBook Air original 1.8 GHz A1237

Risk of regressions

Here we discuss the risk of regressions, for hardware that previously booted Tails just fine, if we shipped a 32-bit UEFI boot loader in our hybrid ISO image.

XXX: I (intrigeri) am waiting for answers by an expert in this domain.

What we know so far:

  • Early Intel Macs cannot boot from a DVD with more than one El Torito boot record. But we're not considering supporting EFI boot off DVD yet, so for now it's a non-issue. And when we'll have to consider supporting this feature, chances are that most such machines are dead anyway.

Test results and ideas

32-bit GRUB2 EFI chainloading 32-bit syslinux EFI

  • syslinux 32-bit EFI installed in EFI/TAILS32
  • GRUB 32-bit EFI installed in EFI/BOOT/bootia32.efi

=> did not manage to chainload 32-bit syslinux EFI from GRUB. On Tails/Jessie (GRUB 2.02~beta2-22), I get error: unknown error. after typing boot. This likely comes from grub-core/loader/efi/chainloader.c.

32-bit GRUB2 EFI reading the syslinux configuration at runtime

With current feature/8471-32-bit-UEFI, one can choose the syslinux: liveamd64.cfg menu entry, that basically load syslinux' /efi/boot/liveamd64.cfg, converting it to GRUB on the fly.

Then, add nomodeset if needed, and Tails boots.

Note that:

  • Support for {vesa,}menu.c32 was added in GRUB upstream, but didn't make it into Debian yet as of 2.02~beta2-22. so feature/8471-32-bit-UEFI installs a 2.02~beta2-22tails1~bpo70+1 package with that new code in it, and indeed it successfully loads our syslinux configuration.
  • We'll need to load the cpuid module to make our ifcpu64 directives work.

32-bit GRUB2 EFI with native configuration

If syslinux_configfile is not good enough, should not be too hard to write/generate and maintain a GRUB2 configuration, either automatically (e.g. with grub-syslinux2cfg) or by hand.

That's what feature/8471-32-bit-UEFI currently does, as a way to quickly get things going.

Potential hardware

Current selection

  • in the cheapest range: WinBook TW700
  • with 2GB of RAM: Toshiba Encore 2

Boots GNU/Linux from USB

All of the following tablets are based on the Intel Bay Trail platform with 32-bit UEFI firmware and ship with Windows 8.1 except where noted. LCD resolutions are generally 1,280x800 pixels, except where noted.

They have all been reported to run GNU/Linux from USB with the right boot code, but device drivers are sometimes a problem.

There are significant variations in specific firmware features among these devices. For example, it's unclear if all of these models can cold-boot from USB, or if some may need to start Windows and then use the "boot from USB" feature. Most have Secure Boot enabled by default, but this feature can usually be disabled.

  • Acer Aspire Switch 10

    • $300
    • 2 GB RAM, 10", hybrid
  • Asus T100

    • $290
    • 2 GB RAM, 10", hybrid
    • hardware support on Linux was not entirely awful a year ago, but requires proprietary firmware; not sure where things are at now
  • Asus T100TA

    • $300
    • 2 GB RAM, 10", hybrid
    • 1 USB + 1 micro USB
    • does the T100's hardware support status apply here too?
  • Dell Venue 8 Pro 3000

    • $170
    • 1 GB RAM, 8"
    • cold-boot from USB: seems possible
      1. Requires a USB OTG converter (full-size USB female port on one end, micro-USB male connector on the other end)
      2. "press the power button and hold down the 'volume down' key for a couple of seconds (this is how you get into the firmware), go to the Boot tab, disable Secure Boot, and promote the USB stick to #1 in the boot order"
  • Dell Venue 8 Pro 5000

    • $210
    • 2 GB RAM, 8"
    • cold-boot from USB: likely the same as the Dell Venue 8 Pro 3000
  • Dell Venue 8 7000

    • Ships with Android KitKat; Lollipop due later in 2015
    • $400
    • 2 GB RAM/16 GB flash
    • Notable for high-res 8.4" 2,560x1,600 OLED display
    • Also includes Intel RealSense multiple-camera subsystem
    • No cold-boot nor warm-boot from USB, according to png. Perhaps it's possible after unlocking its bootloader
  • HP Stream 7

  • HP Stream 8

    • $150
    • 1 GB RAM, 7"
    • Includes 4G WWAN modem with limited free T-Mobile Internet service
    • Believed to be generally similar to the HP Stream 7 otherwise
    • Can cold-boot from USB:
      1. Hold down Vol-, press Power for about a second, and release Vol- when the boot options screen comes up.
      2. That screen gives access to a Boot Device Options menu, BIOS Setup, and other functions including an on-screen keyboard.
      3. In the Boot Options Menu, one can select Boot from EFI File and push the soft Enter key… and then, with a Tails boot drive, it goes to a File Explorer screen to allow the user to choose between booting from the Tails volume and the NO VOLUME LABEL volume on the USB thumb drive. Sadly, there's no way to press Enter! The Stream 8 has a capacitive Windows button on the bezel, and that just isn’t active at this point. There isn’t a timeout autoselect for the first (presumably correct) option, either.
      4. This should all work fine by plugging an OTG-Type A adapter cable, a USB hub, a USB thumb drive, and a keyboard. This should be good enough for development, but not for actual users.
  • Lenovo Miix 2

    • $220
    • 2 GB RAM
  • Toshiba Encore 2

    • many models with 1 GB RAM, 8"
    • WT8-B264 with 2 GB RAM/32 GB flash, 8"
    • 10" LCD models also available
    • can cold-boot from USB: hold down the Vol+ button, then hold down the Power button, until the boot selection menu appears. Select the desired boot device and press the Windows key.
  • Toshiba Encore 2 Write

    • Includes Wacom Feel pen/touch digitizer; unusual among low-cost x86 tablets, enables good handwriting recognition and artistic drawing
    • Otherwise apparently similar to Encore 2
    • 8-inch version retails for $350
    • 10.1-inch model priced at $400
  • WinBook TW700:

    • $60
    • 1 GB RAM/16GB flash, 7"
    • To cold-boot from USB:
      1. Configure the UEFI BIOS to put "USB HD" above the Windows Boot Manager or the internal eMMC storage.
      2. Plug the USB device in the Type A port, not the Micro USB OTG port.
      3. Then the tablet will boot from USB without pushing any buttons, and one can still use the OTG port to power the tablet while running from Tails.

Needs more research

  • ASUS VivoTab 8
    • $190
    • Bay Trail, 2 GB RAM, 8"
    • 32-bit UEFI?

Boots current Tails and thus uninteresting here

  • HP Slate 500
  • Samsung Series 7 Slate
  • Microsoft Surface Pro