Latest steps to install Ubuntu on the Asus T100TA


A year and a half on, it’s much easier to get a fully-working Linux install on the Asus Transformer T100TA. Remember when nothing really worked, and we had to jump through hoops just to get battery monitoring, or power off working? And wifi was just a pain? How things have changed…

Much of the work testing and patching new kernels has been done by Brainwreck and the guys over at the Asus T100 Ubuntu Google+ group. I’ve been away moving house (and job, and country), so sorry for not being around.

I recently did a full reinstall, and here are the latest steps I took to get an almost fully-working machine.

This post refers heavily to the original installation post from 2014. for more detail on any of the steps, you might want to take a look there or in the many helpful comments from other users.

Current status (updated 04/01/2016)

  • Graphics: Working with accelerated (3D) graphics 8/10
  • Wifi: Working well with stock Ubuntu and later kernels, some patching needed in latest 4.3 & 4.4 kernels 6/10
  • Touchscreen: Working out of the box (no multitouch though) 10/10
  • Sound: Working, minor configuration needed 9/10
  • SD card reader: Working out of the box 10/10
  • Battery monitoring: Working out of the box 10/10
  • Tablet keys (Volume up/down etc): Working out of the box 10/10
  • Power management (Suspend/resume): Not yet working reliably — following suspend, tablet keeps suspending. Shutdown/restart works fine though.5/10
  • Orientation sensor: fully working, auto-rotation working 10/10
  • Backlight & ambient light sensor: Fully working, auto backlight adjustment possible with custom script10/10
  • Touchpad: Working, no multitouch yet 8/10
  • camera: Not yet working, but similar mt9m114 driver exists, playing to get it to recognise correct i2c ID 2/10
  • Bluetooth: Needs patching with recent kernels 5/10

1. First steps: Preparing for the Ubuntu Install

As before, prepare a bootable USB stick, but you can use the Ubuntu 15.10 amd64 release — no need for a latest daily build.

Prepare the stick any way you like, but when done, browse to the EFI/Boot directory, and place this bootloader (named bootia32.efi) there. This bootloader was compiled from source using the latest Grub2. If you don’t trust random downloaded files from the Internet (and you shouldn’t), you can find the instructions for building it yourself here.

2. Booting the Live Image

As before, ensure SecureBoot is disabled and boot to the USB stick (see the old post for detailed instructions if you don’t know how). You can jump straight to “Install Ubuntu” once the Grub menu pops up — no need to edit anything any more.

3. The Ubuntu installer

In the installer, the partitioning scheme you choose is up to you — but you will need to preserve the EFI partition, so don’t just partition the entire disk for Ubuntu.

In addition to the EFI partition, I prefer separate /, /home and /boot mount points; but that is up to you. You could squish down the Windows partition and create the additional partition(s), or just delete the Windows partition altogether if you don’t need it. It’s up to you if you want to blow away Windows or not.

The installer might fail when installing the bootloader. That doesn’t matter — even if it didn’t fail, it wouldn’t work.

When the installer completes, reboot, leaving the USB stick in.

4. First boot

Ubuntu won’t boot yet. We’ll need to install the bootloader properly. So we’ll have to manually bootstrap Ubuntu the first time.

Boot back to the Grub welcome screen on the USB stick. Hit ‘c’ to drop to a Grub command line.

You’ll need to provide Grub with the path to your kernel and initrd to boot. These are both in your /boot directory. First, the path to the kernel:

linux (hd2,gpt5)/boot/vmlinuz-3.13-xxxx root=/dev/mmcblk0p5

Here, (hd2, gpt5) refers to the fifth partition on the third disk (Partition numbering begins at 1 and disk numbering begins at 0). This will vary depending on how you installed and your T100 model. On my 32GB model, Grub assigns the USB stick as hd0, the read-only recovery flash chip as hd1, and the main internal flash as hd2. gpt5 is the fifth partition, but it will depend on how you installed (specifically, where /boot is).

Fortunately, grub has good auto-completion features, so you can hit twice as you type, and grub will list possible completions for you — just keep trying until you see the various vmlinuz kernels.

The root=/dev/mmcblk0p5 will also depend on the partition you installed to. It will be your root partition. Unfortunately this can’t be auto-completed, so if you can’t remember your partition setup, you’ll need to try by trial and error. Only the number after the ‘p’ will change — and it will probably be p5, p6 or p7.

To complete the line, press Enter.

Then you need to specify the location of your initrd. This is easy, it’s in the same place as the kernel:
initrd (hd2,gpt5)/boot/initrd-3.13-xxxx

Then Enter.

Then boot with:

With luck after hitting Enter, you’ll boot through to Ubuntu. If it boots but you get dropped to a Busybox prompt, you got everything correct apart from the root location. Don’t be disheartened — keep trying.

5. Enabling wifi

To get further, we’ll need wifi. This is much, much easier than before — the driver is included with stock Ubuntu. We just need to copy across an nvram file from our firmware to the driver firmware, so open a terminal and type (replace XXXXXX with the real name — just press tab to autocomplete):

sudo cp /sys/firmware/efi/efivars/nvram-XXXXXX /lib/firmware/brcm/brcmfmac43241b4-sdio.txt

(Just a year ago we were custom compiling whole kernels just to get those efivars mounted, how times have changed…)

Then reload the brcmfmac driver:

sudo modprobe -r brcmfmac
sudo modprobe brcmfmac

And your wifi should come up.

6. Completing the installation

Time to fix the bootloader. To do this, we can just install grub-efi-ia32:

sudo apt-get update
sudo apt-get install grub-efi-ia32

We need to add a line to the kernel boot options to prevent disk corruption.
Edit the grub configuration file:

sudo nano /etc/default/grub

Find the line starting GRUB_CMDLINE_LINUX_DEFAULT and add intel_idle.max_cstate=0 before quiet splash".

Then ctrl-o, ctrl-x to save & exit, and type:
sudo update-grub to update Grub.

Remove the USB stick and reboot, and you should now have a self-sufficient booting system.

7. Sound

I killed my speakers playing with early sound drivers (fortunately I replaced them with speakers that came along when I had to replace a broken touch screen). Things are much better now though.

The driver is already loaded and working in stock ubuntu, we just need to load an Alsa state file:

Grab the file here, and copy it to /var/lib/alsa/asound.state .

Load the state file into alsa with:
sudo alsactl restore.

Sound should start working.

8. Upgrading to a newer kernel

To get backlight, hotkeys, tablet keys, etc working, we’ll need a newer, patched kernel. I haven’t played too much with the latest kernels yet, but there seem to be a few regressions. I found the this, compiled kernel to be the best available.

(The usual warnings apply about trusting stuff other people have compiled).

Download the amd64 linux-image, linux-firmware and linux-headers files, and install them one by one using:

sudo dpkg-i linux-xxxxx

… and reboot when done.

9. Other scripts

I have made (and/or borrowed) some additional support scripts to improve usability.

Download and save all the raw files somewhere (I put mine in ~/scripts). they all need to be in the same place.

Set them all to be executable:

chmod ugo+x ~/scripts/*.sh enables/disables the Onboard on-screen keyboard when you undock/dock the tablet. Set up the onscreen keyboard first in System Settings → Accessibility (or type “onboard” in the terminal, and set it to automatically run on system start), then the scripts will enable/disable they keyboard for text fields. A nice notification is also displayed when the dock status is changed. Add it to your user’s startup scripts (type ‘Startup Applications’ in the dash) so it runs on login. Don’t add it to /etc/rc.local — it needs to run as the current user). (via Kirill Belyaev) auto-rotates the screen/touchscreen. Again, add it to Startup Applications (NOT /etc/rc.local). automatically adjusts the backlight using the ambient light sensor. Ensure the light sensor driver is loaded (sudo modprobe cm3218x) and add the following line to your /etc/rc.local file, before the ‘exit’ line:

/path/to/script/ &

Test it by shining a torch on the light sensor.

And that’s it… by this point, you should have a fairly workable installation, provided you avoid using suspend and hibernation, and don’t need to use the webcam.

224 thoughts on “Latest steps to install Ubuntu on the Asus T100TA

  1. Clummf

    Fedora 29 is working well for me, though have not tested SD slot.

    One big issue is suspend when closing. When the magnet on the keyboard activates the lid switch the system rotates the display to the default vertical and inhibits suspend. Suspending first and closing just makes it switch the screen on and rotate and device does not then suspend. Tried disabling the lid switch completely but still occurring currently.

  2. Hello Internet!
    I just followed this article to install Linux Mint 19.1 on my Asus T100TA and so far I have been successful but I’m stuck with the Sound. I’m new to Linux this is what I put in the Terminal:

    root@DomsMintTablet:/home/dominik# sudo cp Downloads/t100_B.state /var/lib/alsa/asound.state
    root@DomsMintTablet:/home/dominik# sudo alsactl restore
    No state is present for card Audio
    Found hardware: “HdmiLpeAudio” “” “” “” “”
    Hardware is initialized using a generic method
    No state is present for card Audio
    No state is present for card bytcrrt5640
    Found hardware: “bytcr-rt5640″ “” “” “” “”
    Hardware is initialized using a generic method
    No state is present for card bytcrrt5640

    Any help or ideas will be greatly appreciated!

  3. I read your writing. I think your writing is very good. I use dropmylink too. It’s very userful to find many places to put comment. Thanks for sharing.

  4. I see you don’t monetize, don’t waste your traffic, you can earn extra bucks every month with new monetization method.
    This is the best adsense alternative for any type of website (they approve all
    websites), for more details simply search in gooogle:
    murgrabia’s tools

  5. qidon

    After 4 months of distro hopping, I finally decided to try Ubuntu Mate 19.10 daily build on my T100ta. Kernal 5.3 has baytrail fixes. Had to add bootia32 file to the live usb EFI/boot folder and EVERYTHING works out of box! No c-state errors, no random freezing, backlight controls work, sound works, wifi, blutooth, EVERYTHING! No issues at all after 4 days of trying to break this install. Mate is very fast and aesthetically pleasing. If you want a completely functional Transformer, this is by far the best and simplest to install distro.

  6. Test

    Hi QIDON,

    Thanks so much for your amazing discovery! :-) It helps bring back life to my little T100TAM.

    However, have you been able to figure out how to make that camera LED from turning off? It’s always on even when the device is suspended or its lid is closed. I don’t need the camera functionality, but I just hate seeing that LED being constantly on.

    Also, what’s your average battery life when running with the new Ubuntu Mate?

    Thanks again!

  7. mihai

    @QIDON: have you tested the bluetooth? because I’ve installed ubuntu mate 19.10 on my T100TAF. almost everything works except bluetooth and camera. Bluetooth is active, but it doesn’t find any bluetooth devices for pairing. I’ve made the tests using an bluetooth mouse and my phone, with no success. Any help will be highly appreciated!
    Thank you!

  8. Gabriel

    Did first 3 steps, boots fine without USB and wifi/sound/touchscreen/screen rotating – eveything works pefect on t100h

  9. Georgehed

    Хитрая и властная соседка Щепочкина Татьяна выжила инвалида из собсвенного жилья на Васильевском острове СПб

    Вы можете написать слова поддержки Анатолию в группу ВК

  10. Chris L

    Thanks! Mate works well! Tried MX Linux, but too few drivers i.e. wifi, sound, would not work. Pretty interface, but that’s about it. Ubuntu Gnome would not get past the initial install stage. Mate installed smooth as silk. Works for youtube, web, typing notes. Haven’t tried much else. The dock works well as a touch screen. Great learning experience. I had no idea you could just paste a boot file into an iso image!

  11. Plasti & Do предлагает широкий спектр услуг, направленный на улучшение и сохранение внешнего вида Вашего автомобиля:Мы осуществляем только 4 вида покраски авто — в зависимости от Ваших целей, пожеланий и бюджета. Тем самым, “индивидуальный подход” стараемся осуществлять по-настоящему, а не лишь на словах. Защита кузова автомобиля жидкой броней в Краснодаре со 100% гарантией результата. Эффективная альтернатива классической плёнке без потери защитных свойств и дешевле до 30% !

  12. javier canete

    I have successfully installed ubuntu mate 19.10.

    Everything was ok but when I did the first reboot, I got blue screen “Your PC/Device needs to be repaired… Error code: 0xc0000225 … Press windows key for UEFI firmware settings”
    So I was able to boot by entering to grub command line and set the path to kernel & initdr (as it’s said in the guide). Then I installed boot-repair and run it but still the same issue.
    This is the boot repair report link:

    In the BIOS boot options I have: ubuntu (twice) & Windows boot manager. None of them is working.
    Any Ideas?

  13. “We believe that the Covid-19 crisis has caused temporary dislocations in several of our focus sectors, creating a rare opportunity to invest in fundamentally strong target businesses at attractive valuations,” the company said in a filing with the US Securities and Exchange Commission. A target has not yet been selected, the company said in its filing.

  14. “This surge has been driven by the influx of high-profile investors and management teams entering the SPAC space, coupled with an abundance of uninvested capital that had largely been sitting out the first half of 2020,” the professional services firm said in a report this month.

  15. mark p

    I’m so glad to have tried Ubuntu Mate. I tried other methods and it took me a while to get solution but it is now really simple if you know how. This is my recommendation for installing :

    1. Disable secure boot by pressing F2 on starting up the machine and selecting this option
    2. Search for isorespin from linuxium and respin ubuntu-mate-20.04.1-desktop-amd64.iso to add the 32 bit bootloader using “ -i ubuntu-mate-20.04.1-desktop-amd64.iso”
    3. I used makeusb to burn the resulting file to USB
    4. Run and install Ubuntu Mate from the USB and when installing if you just want Ubuntu Mate on there then select entire harddrive to be used and it will automatically recognise that it needs a 32 bit bootloader when installing and creates relevant partition automatically and it just works

  16. Quentin

    Hello internet !

    I’m struggling to install wifi drivers on my AsusT100TAF.

    I did in my terminal: sudo cp /sys/firmware/efi/efivars/nvram-XXXXXX /lib/firmware/brcm/brcmfmac43241b4-sdio.txt

    sudo modprobe -r brcmfmac
    sudo modprobe brcmfmac

    But nothing is showing up..

    PS: I installed Linux LMDE

    Thank you

  17. Tulik

    I have installed the driver of T100TAF bluetooth on my device but it’s always off, i can’t activate my bluetooth.

  18. KeanuZ

    Hey @MARK P, thanks a lot for your encouraging comment.
    Could you by any mean upload somewhere the respun Ubuntu Mate version with the 32 bit bootloader ?

    I dont yet have a device running Ubuntu so I have troubles using the isorespin script.

    Thanks in advance,

  19. KeanuZ

    EDIT :
    I simply added bootia32.efi (mentionned in the first step) to a mounted Ubuntu MATE iso, and then everything worked as described.

    Had to use the script for the onboard keyboard, wifi, BT, touchscreen are working very fine, screen rotation not working for now.

  20. Antonello

    hi i just managed to install the latest lubuntu on my t100ta. Everything works out of the box but the camera and I cannot figure what/how to do. Searching online I couldn’t find anythng useful (and I don’t feel confident in patching kernels…). Is any of you having success in using the webcam ?
    Thank you

  21. Pedro

    Have been testing out linux mint 20 on the my asus t100tas thanks to this site, running pretty good with the exception of same minor setbacks (camera, gyro, maybe others), but nothing critical. Also got it to boot Chrome OS from a Acer Chromebook 15 (CB5-571, C910), installing from linux. Thank you.

  22. nice post . Thank you for posting something like this
    t I never found any stunning article like yours. It’s alluringly worth for me. As I would see it, if all web proprietors and bloggers made puzzling substance as you did, the net will be in a general sense more beneficial than at whatever point in late memory. 샌즈바카라

  23. L33B

    I was able to get Manjaro 21 loaded to my ASUS T100taf using part of this guide as well as others. So far I have openbox running an it’s pretty flawless. Nice to be able to still be able to run a new OS on older somewhat finicky setup.

  24. Steve Melrose

    Latest Fedora build works absolutely perfectly.
    Flash to USB using Rufus, boot, install to hard disk, run all updates.
    Wifi, Bluetooth, sound, rotation, onscreen keyboard, all working with no changes required.

  25. Hillbillie

    Latest Fedora build works absolutely perfectly.
    Flash to USB using Rufus, boot, install to hard disk, run all updates.
    Wifi, Bluetooth, sound, rotation, onscreen keyboard, all working with no changes required.’

    Wrote the above, interesting, but does the camera work?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>