Installing 64-Bit Linux on the Asus Transformer Book T100

In a previous post (Installing Linux on the Asus Transformer Book T100) I provided details of how to install a specific 32-bit distro of Ubuntu Linux on the T100. Subsequently, many people have spent a lot of time improving the available software in order to get most of the T100’s hardware features (e.g. touch screen, battery monitor) to work. In particular, it is possible to install a 64-bit version of Ubuntu, with a 32-bit bootloader, on the T100. This includes the current release, Utopic Unicorn (Version 14.10), or even the development version of Vivid Vervet (Version 15.04). However, the steps required to do this are somewhat different than for the custom ISO, so this posting attempts to consolidate all the required instructions in a single place.

As before, a highly-recommended (almost required) step is to make a backup of the system that can be restored in the event of a meltdown when following the following guidelines. Steps 1 and 2 in the earlier posting provided details of how to make a disk image on the T100’s drive and how to update the system BIOS. Step 3 is also desirable in order to provide an area of unallocated disk space that can be used to create an Ubuntu partition on the T100.

We need to disable Secure Boot Support, and set the machine to boot from the USB drive (see Step 7 in the earlier post for details).

If (like me) you are one of the “lucky ones”, your T100’s SSD will produce a whole bunch of timeout errors during boot-up and installation. Patience is required. There is currently no distro that has a fix for this issue. However, once we get through the initial install, we can update the system with a kernel that has been patched to work around this problem. (See: Replacing the kernel)

Wi-Fi connectivity on the T100 is a problem under Linux. A workaround for the installation is to use a wireless USB adapter plugged into a USB hub. We can fix this issue once we have a working Linux system (see: Establishing Wi-Fi connectivity on the T100)

Finally, we will use Rufus (http://rufus.akeo.ie/) to create a bootable USB drive as the installation medium. The detailed instructions for this process are listed in Step 4 in the earlier posting. We will follow the same build procedure, but will use a different ISO file.

Assuming that all of the above are already in place, to install a 64-bit version of Ubuntu on the T100, do the following:

(1) Download a 64-bit Ubuntu distro. For example, use the “64-bit PC (AMD64) desktop image” link from:
Ubuntu 14.10 (Utopic Unicorn)   http://releases.ubuntu.com/14.10/ or
Ubuntu 15.04 (Vivid Vervet) Daily Build   http://cdimage.ubuntu.com/daily-live/current/

Use Rufus to create a bootable USB drive using the downloaded ISO file.

(2) Download the following additional file: Unpackit.tar.gz  Extract the boot and EFI folders from the archive file. Copy these to the bootable USB drive (I find it easier to delete the existing folders on the USB drive and then copy the extracted folders to the drive).

(3) Navigate to the casper folder on the USB drive and remove the .efi extension from the file vmlinuz.efi (otherwise, you will see a vmlinuz not found error).

(4) Boot the live-USB. The machine will boot into a grub menu. Select “Try Ubuntu without installing” and press Return.

(5) Establish a Wi-Fi connection by left-clicking on the network icon, selecting your wireless network, and entering the security password.

(6) Press Ctrl-Alt-T to launch a Terminal window and enter the following commands:
sudo apt-get update
sudo apt-get install grub-efi-ia32
sudo umount /dev/mmcblk0p*

[Note, in the above, “…0p*” is zero-p, not the letter “o”.]

(7) Navigate to System Settings – Brightness & Lock. Uncheck “Dim screen to save power” and set “Turn screen off when inactive” to “Never”. Select “All Settings” and “Power”. Set “Suspend when inactive for” to “Don’t suspend”.

(8) Double click on the desktop icon labelled “Install Ubuntu 14.10”. Install Ubuntu, using the “Something Else” in the disk partitioner and setting the unallocated space as the / (root) partition.

Make a note of the disk partition that has been used for root (e.g. on my system this was /dev/mmcblk0p5)

Don’t try to create a swap area as this will cause the installer to fail.

Leave the “Device for boot loader installation” set as the default value [something like “/dev/mmcblk0 MMC HCG8e (62.5 GB)”]

(9) The machine will reboot and display the dual-boot grub menu; however, do not try to boot into Linux just yet. Instead, press the letter “C” on the keyboard to enter grub’s command system. We now have to enter a few grub commands to set up the Ubuntu system for booting.

In the subsequent commands, “hd1” proved to be the correct hard drive designator for my system. If this is not the case, try a different number until grub is happy! The “gpt5” designation comes directly from the number of the hard disk partition where Ubuntu was installed (see Step 6 above).

At the grub> prompt, type:

linux (hd1,gpt5)/boot/vmlin

Press Tab. If the numerical designations were not correct, the same text that you typed will be repeated on a new grub command line. In this case, you would need to edit this line and try a different “hd#”.

If the hard drive designation was correct, grub will autofill the name of the vmlinuz file and you will have something like:

grub> linux (hd1,gpt5)/boot/vmlinuz-3.16.0-25-generic

Continue the same command by typing a space and then the following:

root=/dev/mmcblk0p5 video=VGA-1:1368x768e reboot=pci,force

Once again, in the above string, the “5” in “mmcblk0p5” is the number of the hard disk partition where Ubuntu was installed.

The command line now reads something like:

grub> linux (hd1,gpt5)/boot/vmlinuz-3.16.0-25-generic root=/dev/
mmcblk0p5 video=VGA-1:1368x768e reboot=pci,force

Press the Return key, the command will be executed, and a new grub prompt displayed.

On the new command line, type:

initrd (hd1,gpt5)/boot/initrd

Press Tab, and grub should once again complete the file name giving something like:

grub> initrd (hd1,gpt5)/boot/initrd.img-3.16.0-25-generic

Press Return once more. At the new grub command line, type boot and press Return.

(10) The machine will now boot to the Linux desktop. Press Ctrl-Alt-T to launch a Terminal window and enter the following commands:
sudo apt-get update
sudo apt-get install grub-efi-ia32

(11) Reboot the machine. The grub menu will be displayed with options for booting into either Ubuntu (as default) or Windows Boot Manager (which will load Windows 8.1). This time – finally! – you can select your operating system of choice.

References:

Installing Linux on the Asus Transformer Book T100
https://linuxnorth.wordpress.com/2014/08/23/installing-linux-on-the-asus-transformer-book-t100/

Replacing the kernel
https://linuxnorth.wordpress.com/2014/12/12/replacing-the-kernel/

Establishing Wi-Fi connectivity on the T100
https://linuxnorth.wordpress.com/2014/08/28/establishing-wi-fi-connectivity-on-the-t100/

Asus T100 Ubuntu
https://plus.google.com/communities/117853703024346186936

Backup, backup, backup…
https://linuxnorth.wordpress.com/2014/08/11/backup-backup-backup/

Updating the Asus T100’s BIOS
https://linuxnorth.wordpress.com/2014/08/17/updating-the-asus-t100s-bios/

Advertisements
This entry was posted in Asus T100, Installation and tagged , , , . Bookmark the permalink.

37 Responses to Installing 64-Bit Linux on the Asus Transformer Book T100

  1. AlixB says:

    Dear Alan,
    I followed your advice (strictly!) from disk image to rescue stick and bios-update (also to version 307) and I also established 12GB room on the OS-partition and everything went very well. But when I tried installing 64-bit Linux (Utopic) I came until step (6), where I got some strange error messages after typing “sudo apt-get install grub-efi-ia32”:

    E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/g/grub2/grub-efi-ia32-bin_2.02-beta2-15_amd64.deb Size mismatch

    E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/g/grub2/grub-efi-ia32_2.02~beta2-15_amd64.deb

    E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?

    So I tried “sudo apt-get update” again, which gave me (as before):

    E: GPG error: http://security.ubuntu.com utopic-security InRelease: Clearsigned file isn’t valid, got ‘NODATA’ (does the network require authentication?)

    Then I typed “sudo umount /dev/mmcblkop*”, but he just told me:

    umount :/dev/mmcblkop* : No such file or directory

    After that I didn’t dare to install Ubuntu 14.10. Could you please please help me? Everything went so well until that step and I’m so grateful for your advice!
    I made a screenshot of the terminal, so I could send it to you if required.

    Greetings from Germany to Alan German 😉
    AlixB

    • Alan German says:

      AlixB:

      All I can think of is that you experienced a temporary Internet glitch. I have used this sequence of commands for many installations of Ubunto Linux on the T100 and have never had a problem. In fact, I just tried the two commands and they functioned normally. My only suggestion is to try again.

      For the current process, the “sudo apt-get install” command merely goes out to the web and downloads the current package lists for Ubuntu’s repositories so that these are up to date. Since it is accessing standard Ubuntu repositories, there is no reason that these should not normally be available.

      The “sudo apt-get install grub-efi-ia32” command installs packages from the same repositories, one of which is grub-efi-ia32-bin. Obviously, it needs to be able to access the repositories in order to work. “Failed to fetch” seems to suggest that this was not the case when you tried.

      One thing in your error message that does seem odd is the “Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/g/grub2/grub-efi-ia32-bin_2.02-beta2-15_amd64.deb“. In my most recent use of the “install” command, one of the outputs is for a get command in the form “Get:1 http://archive.ubuntu.com/ubuntu/ utopic/main grub-efi-ia32.bin amd64 2.02-beta2-15 [613 kB]” Note that this is accessing a “utopic” folder rather than a “pool” folder. However, this may just result from the repository that was being accessed not being on-line, I don’t really know.

      As noted earlier, the only thing I can suggest is to try the installation and commands again.

      For the umount issue, it appears (from the specific text in your comment) that you have used the letter “o” rather than the “0” (zero) character in mmcblk0p*. [In reading this on WordPress, I see the problem – there is almost no difference in the two characters in the font used – sorry about that.] If you simply type mount as a Terminal command you will see a list of all mounted volumes. “/dev/mmcblk0p2 on /media/ubuntu/Recovery…” (and other similar listings) should be displayed.

      Hope this helps – and your repository issue is indeed transient.

      Grüße aus dem hohen Norden (Great White North)

      Alan

      • AlixB says:

        Alan,

        I had indeed a problem with my surfstick, but I solved that one, thanks for that! Eventually I installed Utopic but the system didn’t shut down properly, so in order to continue I had to switch the power off. When I started the system again, there was no dual-boot grub menu, only Windows. I found Ubuntu as boot option (3 times), but it didn’t boot, not even when I put Ubuntu in the first 3 boot ranks (4th was the Windows Boot Manager). So I rebooted with the stick and tried step 9. Ubuntu was installed at mmcblk0p6 in my system, so I started with “linux (hd1,gpt6)/boot/vmlin”. Grub didn’t like that (disk ‘hd1,gpt6′ not found’) and told me the same for hd2, -3 and -5.
        “linux (hd0,gpt6)/boot/vmlin” gave me: ‘invalid sector size 65535’ and most interesting
        “linux (hd4,gpt6)/boot/vmlin” told me: file ‘/boot/vmlin’ not found.
        Then I wanted to see my options for vmlin (I pressed TAB after “linux (hd4,gpt6)/boot/vmlin” and GRUB told me: ‘possible files are: vmlinuz-3.16.0-23-generic vmlinuz-3.16.0-28-generic vmlinuz-3.16.0-28-generic.efi.signed’. So I exited and hope for the best – your advice!

        I swear I changed the boot and efi folders on the Ubuntu-stick with the ones in Unpackit.tar.gz and also removed the .efi extension from the file vmlinuz.efi! (Does that have anything to do with my problem?)

        Do I have to reinstall Utopic or should I better take Vivid as you did? That would have been my next question: would the replacement of the kernel as you described it also work with Utopic?

        You see, I’m a novice to Linux in that depth of the system. Although I’m using Ubuntu since more than 8 years, everything worked just fine and I could fix minor problems with a little help of the ubuntu community. Installing Ubuntu on this shitty little T100 really is a challenge for me but I’m eager to continue trying!

        Greetings from the deepest South of Germany,

        AlixB

      • Alan German says:

        AlixB:

        Have you tried setting each of the various Ubuntu boot options as the first boot option. I have two instances of Ubuntu in my T100’s boot options menu; however, only the first instance boots into grub. The second instance doesn’t seem to do anything and the machine boots directly into Windows (presumably using the second boot option in the list which is Windows Boot Manager). I haven’t yet researched how to eliminate the redundant entry in the boot options menu or even if this can be done. I am still experimenting with new versions of the distro being developed by the Google+ group. Once there is a “real” working version, I will take a look at the boot menu issue.

        I chose the “generic” option for vmlinux (something like your vmlinuz-3.16.0-23-generic vmlinuz-3.16.0-28-generic) rather than the “signed” file, mainly because I have seen generic kernel names previously and don’t know what the signed version indicates.

        The first time I installed Ubuntu, I hadn’t changed the vmlinuz.efi file name, but this gave an error to the effect that vmlinuz couldn’t be found. Removing the file extension solved this problem.

        My current installation is 14.10 (Utopic). I chose this because it is a release version and so should be reasonably stable. The kernel essentially manages the hardware so, if a given kernel supports the T100’s hardware, there should be no problem in swapping to it. I am currently running 3.18.0-rc7+ which is one of Brain Wreck’s patched kernels (from the Google+ group).

        Your Linux experience seems to pretty much mirror my own. Certainly, installing Linux on the T100 is the most difficult challenge to date.

        Alan

  2. zhangweiwu says:

    installer crashed without creating swap

    Just got my T100 deliverred to me 3 day ahead of schedule. I was able to follow all the steps for 14.10-64bit until this one:
    “Don’t try to create a swap area as this will cause the installer to fail.”

    In my case I did not try to create a swap area, by-passed the warning that the installer will go on without swap, and installer still crashed. At its last moment the UI display
    “Installing grub2 package”

    Since the target (/dev/mmcblk0p5) remain mounted, I poked in and found user is already created. I bind-mounted /dev|/dev/pts|/proc|/sys|/boot/efi and chroot into it, installed grub-efi-ia32 just like I did before running the installer (at the cost of removing conflicting grub-pc), did ‘update-grub2’, and tried:

    # grub-install /dev/mmcblk0
    grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won’t be possible.
    grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
    grub-install: error: will not proceed with blocklists.

    Any hint to go on from here? Now the machine still boots directly into Windows. Thanks!

    • Alan German says:

      I have had problems with the installer not completing properly; however, this was with some of the early distros. My current installation is 14.10 and this has worked correctly for me on a couple of tries. I haven’t tried installing a swap area recently so don’t know if this problem is fixed. However, skipping the creation of a swap area shouldn’t affect the installation. I would simply try re-installing Ubuntu. I know that the process *should* run exactly the same as before, but my experience has been that re-running the installer sometimes produces different results! If the problem persists, post a note on the Google+ group. There are several people much more knowledgable than me working on the installation/kernel issues.

      • zhangweiwu says:

        Posted on google-plus group and cross post result back here: I switched to 14.10 32-bit then the installer works. I had no preference over 64-bit, the reason I start with it is because the latest comprehensive guide was written for it – and after a second thought I think I can apply the 64-bit guide to 32-bit distro with only small tweaks.

  3. AlixB says:

    Alan,

    were you able to fix the sound problem? I tried John Wells’ advice (http://www.jfwhome.com/2014/03/07/perfect-ubuntu-or-other-linux-on-the-asus-transformer-book-t100/):

    “First, you’ll need some more firmware. For now, you can grab it from ChromiumOS, here. Unpack the archive and copy the files to /lib/firmware/intel .

    The drivers are in a bit of a raw state — they expose about a hundred oddly-named mixer and DSP devices to ALSA. We can set some defaults. Grab the defaults file here, and copy it to /var/lib/alsa/asound.state .

    Reboot, and force-load the state file into alsa with :
    sudo alsactl -f /var/lib/alsa/asound.state restore”

    But nothing happened, I couldn’t even generate a test sound in the sound settings. Did you manage that?

  4. It won’t boot for me. I just get either the BitLocker recovery or a blank screen. So this does not work with BitLocker active? Also I take it I can forget installing Linux with LUKS yet?

  5. Grant says:

    Hey Alan,

    Once you install Ubuntu, will I be able to keep updating it to newer versions or will I have to clean install to update to new versions?

    Thanks

    • Alan German says:

      Grant:

      Ubuntu on the T100 remains a work in progress. At present, it seems installing a baseline version and then replacing just the kernel is useful as more functionality becomes available in the latter. Eventually, I anticipate that the Ubuntu installation for the T100 will become the same as for any other machine – a long-term support (LTS) version for those who don’t need to be on the cutting edge – and the regular six-month updated versions for those who must have the latest and (possibly) greatest.

      Alan

  6. tibo says:

    Hello And thanks for the post !
    I just can’t figure how you can update and download EFI with an USB adaptor with the USB stick plugged, as you have only one USB slot… Thanks in advance for the help !

  7. braintool says:

    i have only a question: is it possible to install ubuntu on a micro sd, since the free space on my t100 is just 2 gb? I’m sorry if this is a stupid question, but it’s my first time approaching linux, and i just wanted to be sure before starting follow the guide. thanks in advance, and eventually pardon my bad english.

  8. nodnerb says:

    Thank you for your very well documented blog! Using this guide I have my Asus Vivotab Note 8 dual booting Ubuntu 14.10. I ended up using my Android phone as a usb tether to get networking during install.

    Now, to get the wifi / touch screen / stylus working…

    • diplo says:

      It would have been nice as an Ethernet linux deported desktop to begin with testing if the baytrail is well optimised… BUT the USB port is really tricky on this little weapon.

  9. Leroy says:

    ok i have made it through all the steps up to where i push c for the grub and type the commands which i assume are for video and i get no display upon boot i believe that linux is running in the background i just cant see anything… also i am installing only linux on my t100 due to system crash that corrupted my recovery drive(damn viruses). What am i doing wrong as i did everything step by step word for word. a little help please. im new to linux but let me know what you need from my end and ill post asap

  10. Pingback: Linux on ASUS T100ta. | SOPEE.NET IT KNOWLEDGE BASE

  11. Edward says:

    I’ve looked at a couple of different tutorials like this one and there is one point in the discussion that I become confused. That is the best partitions. I want to wipe Windows completely away and have a total Linux machine, but it seems that just letting the installer just wipe the disk is not possible, and that the EFI partition has to be left and the Swap has to be blocked from creation?

    • Alan German says:

      Edward:

      I don’t know what the “best” partitioning scheme might be, just what has worked for me in the past. I have always dual-booted (Windows/Linux) my machines and used a dedicated data partition that both Windows and Linux can access. This way, I can use precisely the same set of data files with both operating systems. So, for my purposes, I just carve out a bunch of free space from the Windows partition and split this up into a data partition, a partition for the Linux OS, and (usually) a swap area.

      On the T100, at least for the early installs (I haven’t installed Linux on the T100 recently), I was never successful in implementing swap so opted to leave this out.

      In principle, I don’t see why for your requirements, you can’t just delete the Windows partition and use the entire space for Linux (and swap if possible). That is essentially what I have done previously, except that I only used part of the Windows’ space.

      I have used a bootable version of Gparted to set up my partition scheme, or have simply set the partitions manually in the Linux installer. For example, see: https://linuxnorth.wordpress.com/manual-partitioning/

      Hope this helps

      Alan

    • Ol'e says:

      Hey Edward. I wanted to know if you had any success and, if not, encourage you to try again. My ONLY partitions are the efi boot partition (needed to get a Linux only install to show up in the BIOS) and the ext4 partition for the actual Ubuntu install. I only had luck installing 14.10 btw.

  12. Tian Ye says:

    I install OS version Ubuntu 14.04 LTS.
    Partition
    /boot/efi FAT32 mmcblk0p1
    / ext4 mmcblk0p2
    How to do this step?
    Press Return once more. At the new grub command line, type boot and press Return.

    • Alan German says:

      >Press Return once more. At the new grub command line, type boot and press Return.

      Ye:

      When you press the final Return, grub will move to a new command line and wait for further input. You need to use grub’s boot command to reboot the computer. Simply type the word “boot” (with no quotes) and press Return to reboot the machine.

      Alan

      • Tian Ye says:

        Thank you! I can boot into OS.

        (10) The machine will now boot to the Linux desktop. Press Ctrl-Alt-T to launch a Terminal window and enter the following commands:
        sudo apt-get update
        sudo apt-get install grub-efi-ia32

        I finish the last step, but I can’t boot up from BIOS option.
        I delete the all partitions.

  13. Ol'e says:

    Thank you for the guide. It was very useful and although I ran into several problems that were not listed here, this guide acted as my structure for getting Ubuntu up and running. I just want to say, I had no luck installing 15.04. It kept freezing on the “Copying Files” piece of the install (the same thing happened with 14.04). Luckily, I got 14.10 to work. A word to anyone who might need help with this because this was my first time messing with a uefi install and I could not find anything on the internet about this: If you are having problems getting the partition to show up in the bios after boot there are two things to check (that I am aware of):
    -Make sure you have an efi boot partition (can be created by Ubuntu)
    -Make sure your partitions are bootable

  14. Royce Choo says:

    Perfect!,,managed to installed dual boot Wily Werewolf 15.10 64bit with windows 10 32bit,,Thank You for the guide!

  15. Robert says:

    Hi there! I have a problem on install process.
    I see the installer window with the three ckecks (space on disk, internet conection and connected to charger)

    But when I press “Next”, then this error is showed and the t100 gets freeze after a few seconds:

    Error fsyncing/closing /dev/mmcblk0rpmb: Input/output

    This message appears installing Linux Mint 17.3 xfce. When try to install Xubuntu the error is not showed but the t100 gets freezed too.
    I have to hard power off the pc to turn it on again.

    Any idea to solve this problem?
    Thanks in advance

    • Alan German says:

      Robert:

      I haven’t played with Linux on the T100 for quite some time. I see that you are using Linux Mint 17.3. Are you following a set of instructions specifically for installing this Linux distro on the machine? Simply trying to install a regular distro on the T100 is likely still an issue due to some of the hardware not being supported yet. You probably need a custom kernel.

      The Asus T100 Ubuntu Google+ group is still going strong on the issues relating to installing Linux, and I think getting close to a real solution. See: https://plus.google.com/communities/117853703024346186936

      In addition, John Wells, who posted some of the early instructions for Linux on the T100 is now back at work on the process. See: http://www.jfwhome.com/2016/01/04/latest-steps-to-install-ubuntu-on-the-asus-t100ta/

      Hope this helps.

      Alan

      • Robert says:

        Thanks Alan!
        Don´t ask me why but, if I use Linux Mint 17.2 installer instead of 17.3, there is no error in the installation process. Can upgrade to 17.3 from there.
        But now, I have some other issues to solve. If I use default old Kernel (3.16) and install soundcard drivers, speakers comes to live but… wifi have problems to make connections and I can’t turn off device (keeps showing Mint icon forever on shutdown).
        If I install a newer Kernel (from the google+ community), wifi works quite well, can turn it off and battery is detected but… no sound, no sound card detected.
        Also bluetooth icon is there but no device detected.
        Install Linux in this device is driving me crazy!!!.

        Well, will keep trying.
        Thanks a lot!

  16. Flávio de Melo says:

    You can force “luck” on the SSD access (which generates the multiblock access errors you are talking about) by booting the Live USB kernel with the additional option
    sdhci.debug_quirks2=0x2.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s