[Windows 8 Development and Hacking] dodgejcr:
I have spent the past month or so dealing with installing Archlinux (my favorite distro) on my t100ta. I have just about everything working (wifi, suspend, audio, touchscreen, battery stats, and I haven't tested Bluetooth but it is apparently supported)

I have posted it on my site HERE but am sharing it here as well.

I might try to make an Archlinux ISO similar in fashion to the Ubuntu Magic Stick that would streamline this process a little bit but finding time to do that around midterms is kinda rough.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

Information about archlinux​

Arch Linux is a Linux distro that is based on a Keep It Simple Stupid philosophy (KISS). It comes packaged as bare as you can imagine to still be able to provide basic functionality in order to build a system in which you have control over what is installed. It is the distro that I keep finding myself using because I love to keep everything simple and as small as I can. I will walk you through the basic installation steps that I used in order to get Arch installed on my Asus t100.

A note of warning, if you have no understanding of Linux in general, you might want to look here. This is a good solution for Linux on the machine that does not require too much in terms of knowledge.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

Installing the System​

First some background info. The t100 is a 32bit tablet that comes with a full version of Windows 8.1. It runs Windows pretty good as it contains the atom-based baytrail cpu. The battery is decent and overall use of this machine is a streamlined and remarkable experience.

As you may know, the machine ships with UEFI instead of BIOS. Generally this is not a problem with Linux however, most ISOs you find for a distro that are UEFI compatible are 64bit (x86_64). The 32bit (x86) ISOs are usually not UEFI enabled because it is not the norm to see or use UEFI on 32 bit machines.

In order to skip the building of a custom ArchLinux ISO, I decided to use the Ubuntu Magic-Stick from the guys at Asus T100 Ubuntu. All I needed was to boot into a live session, I could do the rest by the command line. You can alternatively choose to make an ArchLinux ISO but be sure to package it with grub-efi-i386. The tablet will not boot otherwise.

Once you get all the secure boot and bitlocker disabled on windows, you should be able to boot the USB just like any other Linux ISO. You will be greeted with Ubuntu’s familiar Unity desktop and some default applications that might be needed like gparted. You can find info on disabling bitlocker and secure boot here

What I did, since I didn’t have the need for Windows anymore, I erased the entire storage device and decided to install Arch singularly. If you want to do something else, that is okay. 10gb should be good enough to install arch and have plenty of space left over for testing. Here are the steps I did from this point.

I used curl to download the arch-bootstrap image:

$ curl -O http://mirrors.kernel.org/archlinux/iso/2015.09.01/archlinux-bootstrap-2015.09.01-i686.tar.gz

this will get you a basic setup environment so that you can do the rest from a chroot

Mount the partition you want to install Arch onto somewhere and extract the tar archive.

$ sudo su
# mount /dev/mmcblk0p4 /mnt/ ##of course, change the 0p4 to the partition you chose
# cd /mnt/
# tar -zxf <path/to/tar>.tar.gz
# mv root.i686/* .
# rm -r root.i686/

Now that we got the everything extracted and moved around to a logical place, we need to edit a few files before we chroot into the installation because the chroot environment does not have a text editor installed.

# nano etc/pacman.d/mirrorlist

We will need to uncomment a mirror closest to you in order to download packages and install the system.

Its time to chroot and start installing your ArchLinux

# bin/arch-chroot .

You will notice the bash prompt change, this means you are now in arch

The next few commands will setup the pacman keys so that you can download and isntall packages

# pacman-key --init
# pacman-key --populate archlinux

Now we can actually install the base packages and anything else you want.

# pacman -Syyu #Sync and update packages
# pacman -S base base-devel nano

Everything else is basic for an archlinux install, install the packages, configure the system and install bootloader. You can find all of those directions here.

Installing the bootloader is going to be a little different than usual. You will need to do it basically the same as the archwiki describes (including setting up ESP) however, for the actual command, use:

# grub-install --target=i386-efi --efi-directory=$esp --bootloader-id=grub --recheck
# grub-mkconfig -o /boot/grub/grub.cfg

Once this is installed, you should be able to reboot to Archlinux

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

Getting Wifi, Battery, and Sound to Work​

Apparently there is a kernel that was compiled by Luka Karinja that has support for Wifi, Battery, and Sound working. It does have battery and backlight working but I had no luck with wifi or sound. You can grab the kernel and test for your liking here: http://bazdara.com/arch (you could put this in your pacman.conf so that you can receive updates upon release)

Wifi: The guys at T100 Ubuntu did some amazing work and got wifi nearly perfect in my experiences. I’ve seen some reports of signal drop which need a reboot to fix but I haven’t had any issues with it.

Download the files from here

$ wget http://ftp2.halpanet.org/source/_dev/linux-firmware.git/brcm/brcmfmac43241b4-sdio.bin

$ wget https://raw.github.com/jfwells/linux-asus-t100ta/master/nvram/lib/firmware/brcm/brcmfmac43241b4-sdio.txt

Move the files into the proper directory

$ sudo cp brcmfmac43241b4-sdio.bin /lib/firmware/brcm/

$ sudo cp brcmfmac43241b4-sdio.txt /lib/firmware/brcm/

Open the .txt and remove all the characters before ‘#’ in the very fist line.

$ sudo nano /lib/firmware/brcm/brcmfmac43241b4-sdio.txt

Rebuild the initfs

$ sudo mkinitcpio -p linux

Rebuild grub config

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

Sound: One of the guys at Asus T100 Ubuntu, Kirill Belyaev, posted a sound fix that works exceptional for me. You can find the post here

Download the firmware and the t100_B.state from the “new ####” folder here

Extract the archive into the /lib/firmware/intel/ directory

$ sudo tar zxf linux-firmware-master-intel.tar.gz -C /lib/firmware/intel

Move the .state into the /var/lib/alsa dir as asound.state

$ sudo cp t100_B.state /var/lib/alsa/asound.state

Reload the alsa configuration

$ sudo alsactl --file /var/lib/alsa/asound.state restore

Reboot and enjoy WiFi and sound working. It should be noted that even though everything should be good at this point, you may have to change some of the configuration for status information.

The battery information is found at: /sys/class/power_supply/BATC

The backlight (if using t100 kernel from bazdara) is at: /sys/class/backlight/intel_backlight

The volume is not the usual MASTER. Is is the ‘Speaker’ control.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

Final Thoughts and Information​

While this installation is not perfect by any means, It is perfectly usable. There is a chance for a random freeze of the kernel however, since I have started to use the T100 kernel, I’ve not had any. So many thanks to the person that compiled it.

I use awesomeWM on this install because I use mine as a laptop for school. I would recommend XFCE for anyone that wants a more robust desktop environment because it is light enough to work great on this tablet. It also detects the audio, battery, and backlight automatically. The choice is yours just be sure to configure it correctly.

Join #t100-linux on freenode for any questions or if you need help installing. If Im active I will walk you through it.

I would like to say thanks to a few communities and people for helping me get Archlinux on this machine in a mostly stable state.

The Asus T100 Ubuntu community for the LiveUSB and configuration files: Google+ Page

Linux North for information about all the test he had ran. Also information for disabling bitlocker and secureboot. LinuxNorth Page

Archlinux Forum thread with a few tips and tricks like the T100 kernel. Thread

User LambdaComplex in #archlinux and #manjaro on freenode for support and ideas.