39

I recently purchased a Dell Venue 8 Pro. I have read online about what it needs in order to boot into Ubuntu or any other Linux distro. From what I have gathered, what really needs to happen is 32-bit UEFI support. I got information from several sites, but where it was really summed up was in this previous post:

http://ubuntuforums.org/showthread.php?t=2187204

"Ubuntu has no 32-Bit Uefi installer, ask them to add support, they may listen."

That thread was specifically about getting the Dell Venue 8/11 Pro to boot Linux. However, there are a slew of new tablets coming out running 32-bit UEFI, and I think this is a trend that is going to continue to grow:

mjg59.dreamwidth.org/26734.html

"UEFI on IA32 isn't going away. It will show up on more embedded systems as time goes on."

Others have tried this before with mixed success, but haven't gotten things to work quite right:

https://www.happyassassin.net/2013/11/24/the-fedlet-revived-or-fedora-linux-on-a-dell-venue-8-pro-bay-trail/

"It doesn’t really work. But it’s interestingly close."

I'm trying to start a thread dedicated thread on 32-Bit UEFI support, because that is the piece that is missing (from what I understand). I don't really know how to work with this stuff, but I'm hoping that some people who do will read this and either contact canonical or somehow patch Ubuntu (or any other distro, really) to work this way. Again, I don't really know how to do any of this...I'm just hoping someone can help!

Dell Venue 8, 11 Pro, Toshiba Encore, Acer w3, w4, Lenovo miix, and the asus transformer a100 are all tablets that will be affected by this...I think these are going to be incredibly popular tablets once their prices go down, and I think people are really going to get interested in putting linux on these. Any help is appreciated, and thank you all so much!

EDIT 4/1/14: Just booted into Ubuntu on my DV8Pro! All you have to do is follow the instructions here:

http://www.jfwhome.com/2014/03/07/perfect-ubuntu-or-other-linux-on-the-asus-transformer-book-t100/

To summarize, what you need to do is download the latest Ubuntu 14 daily build (AMD 64 is what worked for me) and put that on a USB drive via Rufus. 'For “Partition scheme and target system type”, choose “GPT partition scheme for UEFI computer.”' You can get the latest daily build here: http://cdimage.ubuntu.com/daily-live/current/

You will need to put the file found below into your EFI/Boot directory: https://github.com/jfwells/linux-asus-t100ta/raw/master/boot/bootia32.efi

Disable Secureboot and such--follow the original instructions link if you don't know how. Then set the USB to boot first in BIOS. This should get you to GRUB.

The rest I'll quote the original author, it's real straightforward:

In the GRUB menu, highlight “Try Ubuntu”, and press “e” to edit it. In the editing screen, scroll down to the command line options, where it says “quiet splash”. Delete “splash” and replace it with: video=VGA-1:1368x768e reboot=pci,force [EDIT: For those of us using the Dell Venue 8 Pro, you need to use this line instead: video=VGA-1:800x1280e reboot=pci,force That accounts for the different resolution of screen.]

Then press F10 to boot. You should get all the way to the Desktop.

There you have it! This got me to the Unity Desktop. Problems: Wifi is not working, but I used an Ethernet adapter and that seems to work.

I tried rotating the screen, but it throws your touch input off to one side, so I left it.

Make sure to read the tutorial mentioned earlier, it is more comprehensive, even though it is made for the ASUS T100. If nothing else, the instructions I have provided should be enough just to get you to the Unity Desktop, which for me was amazing! Hope you too can have the same success and keep building on it!

For what it's worth, someone else did this and posted a youtube video here: https://www.youtube.com/watch?v=1WrRngZ4giE#t=94

2
  • Presumably 1366x768, not 1368x768 (that's the common "laptop resolution")
    – Cosine
    Mar 17, 2017 at 21:38
  • How can I mount my drive after dd? I get mount: block device /dev/sdc1 is write-protected, mounting read-only.
    – Cosine
    Mar 17, 2017 at 21:39

4 Answers 4

16

Ubuntu 15.10 supports 32-bit EFI. The 32-bit version will, in fact, automatically install a 32-bit EFI bootloader. Unfortunately, Canonical doesn't offer a bootable 32-bit ISO that has an EFI bootloader in the DVD image. So, we must create the install disk ourselves.

Other instructions try getting 64-bit Ubuntu to run and install. This probably comes from a misconception that EFI requires a 64-bit OS. This is false. In fact, the bitness of the EFI is meant to be tied to the bitness of the OS. Most PCs are designed for 64-bit OSes and therefore have 64-bit EFIs. However, cheap PCs designed for a 32-bit OS have 32-bit EFI.

Keep in mind, however, that Ubuntu (or rather, its Linux kernel) doesn't fully support the hardware in the systems which typically ship with 32-bit EFI BIOSes (cheap Intel Atom SoCs). WiFi, sound, and power management often do not work. Patched third-party kernels that fix some of the issues do exist, such as those made available here.

To prepare an Ubuntu 32-bit install drive with an EFI bootloader:

  • Download both 32bit and 64bit Ubuntu ISOs. (Tested with Ubuntu 15.10)
  • Download a multi-arch Debian ISO. (Tested with Debian 8.2.0 netinst ISO)

  • Format your USB disk as FAT and mount it

    • In Gnome Disks, select the USB drive in the left list, go to the "Hamburger Menu" in the upper-right corner, choose Format Disk, select MSR/DOS partitioning, and Format. Then click '+' and accept defaults which should create a FAT partition. Finally, click the "play" triangle to mount it.
  • Extract installation files from the Ubuntu 32-bit ISO while copying the contents of the symlinks
    • In Gnome Disks, open the Disks menu (up where File and Edit normally are), choose Attach Disk Image, select ubuntu-15.10-desktop-i386.iso, and mount the biggest partition.
    • In Terminal, rsync -rL --exclude=/ubuntu <path to Ubuntu 32-bit install disk>/ <path to usb disk>/
      • Replace <placeholders> with the correct paths
      • Don't forget the slash at the end of the source path
  • Copy /boot and /EFI directories from an Ubuntu 64-bit ISO
    • Mount the iso
    • rsync -r <path to Ubuntu 64-bit install disk>/boot/ <path to usb disk>/boot/
    • rsync -r <path to Ubuntu 64-bit install disk>/EFI/ <path to usb disk>/EFI/
      • Again, the slashes at the end are significant
  • Copy 32-bit GRUB from a Debian multi-arch ISO
    • Mount the iso
    • cp <path to Debian multi-arch install disk>/efi/boot/bootia32.efi <path to usb disk>/EFI/BOOT/
    • rsync -r <path to Debian multi-arch install disk>/boot/grub/i386-efi <path to usb disk>/boot/grub/
      • Watch those slashes (this time the source doesn't end in a slash)
  • Rename vmlinuz to vmlinuz.efi
    • mv <path to usb disk>/casper/vmlinuz <path to usb disk>/casper/vmlinuz.efi
  • Unmount everything
  • Disable Secure Boot on target system and boot from the USB drive.
  • Install Ubuntu! (I've tested with "Erase disk and encrypt it with LVM" option and the install works automatically--unless the kernel doesn't support the flash chips in the device.)
  • System should be "ready." It will boot, but actually it may not be very functional due to lack of drivers (as of Ubuntu 16.04). Check out this Google+ group for more advice and latest patched kernels.
9
  • Thanks for the update! It's awesome to see things become more streamlined as people continue to contribute to open source. Jan 12, 2016 at 3:01
  • 1
    @spideyclick No problem! It took me ages to discover this by trial and error. There's shockingly little information in a Google search, but now I know there's groups (on Google+ strangely enough) that are working on this full time. Considering how much effort Canonical put into 1) touchscreen-happy Unity and 2) Ubuntu Touch, you'd think they'd try to support common x86 tablets which have been on the market for years. Canonical is odd. Jan 13, 2016 at 3:08
  • Ubuntu will fail to install if the kernel doesn't support the flash storage used in the tablet. I'm not sure how often that happens. Jan 13, 2016 at 3:10
  • Also worked on a Trekstor Wintab 10 out of the box in the described way for me. Apr 27, 2016 at 20:19
  • In fact, the bitness of the EFI is meant to be tied to the bitness of the OS. — this is false. I found this technical blog post about the idiosyncrasies of 32/64 bit UEFI/OS, and this patch, dated by 2014, enabling a possibility to load 64 bit Linux kernel from a 32 bit UEFI.
    – Hi-Angel
    Jun 6, 2016 at 5:23
13

Broadly speaking, if you need to install Ubuntu (or any other Linux distribution) on a computer with a 32-bit EFI and no BIOS/CSM/legacy-mode boot support, the way to do it is:

  1. Use unetbootin or something similar to prepare an installation USB flash drive. (It's possible to get it to work with a CD-R, but this takes more work.)
  2. Choose an EFI-mode boot loader for Linux. I recommend ELILO, Fedora's patched GRUB Legacy, rEFInd, or gummiboot because they're relatively easy to set up manually. GRUB 2 is far too difficult to configure manually, and SYSLINUX is too new.
  3. Research your chosen boot loader's configuration file format and its needs in terms of kernel location.
  4. Check the original CD image to find its boot loader configuration. You need to know what options are being passed to the kernel by the boot loader.
  5. Add an EFI/BOOT directory to a FAT partition on the USB flash drive that now holds your Linux image. Ideally, this partition should be an ESP (that is, have a "boot flag" set in parted or have a type code of EF00 in gdisk if the disk uses GPT; or have a type code of 0xEF in fdisk if the disk uses MBR), but some ESPs can cope without that. If the disk doesn't have a FAT partition, you'll need to create one
  6. Copy your chosen boot loader's binary file (with a name that ends in .efi) to the EFI/BOOT directory on the USB flash drive, and rename it to bootia32.efi -- that is, it should be EFI/BOOT/bootia32.efi. Be sure to copy the 32-bit version of the boot loader!
  7. Install any support files that the boot loader needs, such as drivers, images, modules, and configuration files. In some cases (such as ELILO and gummiboot), you'll need to copy your kernel and initrd file to the FAT partition that holds the boot loader.
  8. Edit the configuration file(s) for your boot loader so that it can launch the kernel with the options you identified earlier by examining the BIOS-mode boot loader's configuration.
  9. Reboot to test the boot loader.

With any luck it will work and you'll be able to install everything. I can't guarantee that Ubuntu will install a 32-bit EFI boot loader, though. If not, you'll need to boot an emergency system and set that up manually, too. You may also need to debug something, particularly if unetbootin (or whatever you use) doesn't set up the flash drive in the optimal way.

Of course, this description is fairly vague about the critical detail of configuring the boot loader. This is because I haven't done it recently (although I have in the past), and the details vary depending on what boot loader you choose.

4
  • 2
    @user2887850 So have you tried it?
    – s4m0k
    Apr 24, 2014 at 7:42
  • Here are some Links that may help some more: happyassassin.net/fedlet-a-fedora-remix-for-bay-trail-tablets Custom Fedora for your device specifically jfwhome.com/2014/03/07/… Instructions for Ubuntu on a very similar device (couldn't replicate this yet on an Odys Windesk X10 with a similar hardware platform) Dec 1, 2014 at 18:59
  • @spideyclick Did you try it? Did you succeed? I want to buy a similar item and I need to know if it was successful or not.
    – Panayotis
    Apr 23, 2015 at 12:23
  • @Panayotis I never did do the EFI booting process on my tablet (although I have done something similar on a UEFI-locked desktop). What I did do that worked with some success was trying one of the images provided here. This guy is great, he has uploaded several versions of the images with updates. It is Fedora based, which may or may not be your thing, but I was amazed by the progress he has already made. Hope that helps! Apr 24, 2015 at 13:42
1

Although Fedora does indeed support 32bit EFI so does MX Linux as direct install and Debian via a net install.

Also I have had success using the methods below for intel baytrail/cherrytrail based devices.

http://linuxiumcomau.blogspot.com/2017/06/customizing-ubuntu-isos-documentation.html https://www.ianrenton.com/guides/install-linux-on-a-linx-1010b-tablet/ https://concretedog.blogspot.com/2018/04/linux-on-linx1010b.html?m=1

I am currently on Ubuntu Mate 19.04 on my Linx 1010b a everything works fine except the cameras, I am working on that.

1
  • Welcome to Ask Ubuntu, please include essential parts here. Besides, here we talk only about Ubuntu.
    – user833907
    Jun 6, 2019 at 13:00
1

If you create a bootable ISO on a USB drive with "unetbootin" it is possible to place the bootia32 efi image into efi/boot of the ISO you created. This enables booting of a 64 bit Ubuntu ISO on a machine with a hybrid setup i.e. 32 bit uefi and a 64 bit CPU. I have successfully installed Ubuntu Budgie 19.10 on my Linx 1010b (baytrail) and have to say I have not had to tweak anything. Auto-rotation works, touchscreen alignment works, WiFi works I have not checked the webcam yet, although I think that it will be nonfunctional. Onboard is already installed and just has to be configured to get the virtual keyboard working. Performance is acceptable as Budgie is a little lighter on memory than Gnome, the ISO comes with Geary installed as the email client this is good as it it lighter and faster than others I have tried for this device.

All in all I am pleased with the result.

1
  • Seems like the easiest solution, but I can't understand how the distro-installer copies the 32 bit EFI from unetbootin. Is this default behaviour (to copy EFI from boot drive)? Dec 12, 2023 at 10:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .