ASUS x205ta
Booting Arch install media
The Asus x205TA and x206HA have an exclusively 32-bit EFI bootloader. Since Arch does not include a 32-bit EFI loader in the standard install image, we need to add one. This procedure may work for other exclusively 32-bit EFI machines.
The current image (ARCH_201801) does include the drivers for the x205TA's broadcom wireless modem, so we need to copy efivars during boot as explained below. Adding drivers to the image is not required anymore. Booting Arch Linux on the x205TA can be achieved in 2 (possibly more) ways: by creating a bootia32.efi loader and modifying an existing iso, or by adding a precompiled bootia32.efi and manually starting Arch Linux iso from there.
OS Independent Method
This method is not canonical and should not be used unless you are having trouble with the proper method. On the other had this procedure can be followed without compiling bootia32.efi and it might be useful to be used under Windows or any other operating system when no linux systems are around. Create a bootable usb using standard methods (es.Rufus on windows). Download a prebuilt bootia32.efi from any source you trust (es https://github.com/jfwells/linux-asus-t100ta/blob/master/boot/bootia32.efi) and copy it to /EFI/boot folder on the usb. Create a custom grub.cfg file (example), replacing <FS-LABEL> with the correct label for your iso as mentioned above. Copy the custom grub.cfg file to the root folder of the usb. Once booted the x205TA from the (as mentioned above) type the following command in the grub console
$ configfile /grub.cfg
Proceed to arch installation as usual.
Booting the x205ta from USB
Insert your new install medium into your x205ta.
Enter the bios by holding F2 while pressing the power button to turn the x205ta on. Hammering on F2 while the boot process is starting may help too. There is an alternative method to enter the bios by booting into windows and selecting the appropriate menu options (tutorial), but the F2 method allows you to avoid windows entirely.
Turn off secure boot. This procedure varies between different BIOS versions. Mine was achieved by going to 'Security', and switching 'Secure Boot Control' to 'Disabled'.
Select your USB medium from the 'Boot Override' section of the 'Save & Exit' menu.
Install Arch
Enable wifi
The firmware for your wifi modem will not load by default. In addition to the driver we copied over, we will need to copy over our local EFI variables:
$ cp /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 /lib/firmware/brcm/brcmfmac43340-sdio.txt
Now we can probe the wifi kernel module again to bring it up:
$ rmmod brcmfmac $ modprobe brcmfmac
If you want to run 4.4 kernel, you must revert this commit to get wifi working (regression in the MMC-layer)
Install Arch
Proceed as usual.
Getting hardware working on up-to-date kernels
With some kernel patches on newer kernels the x205ta works. The Intel Baytrail CPU should be able to consume less power than it does. There are still occasional freezes possible due to the CPU power states not being properly supported. (Refer to "Freezes".)
Patch history
Three very elaborate threads contain the history of patches for the kernel for the x205ta: kernel bug for baytrail power states, kernel bug for chtrt5645 and most important a Ubuntu forum thread with a patched kernel provided by harryharryharry.
Freezing
Depending on kernel versions, on an unpatched kernel, the x205ta regularly freezes, where the x205ta can only be restarted by holding down the power button for several seconds. Freezes are due to poor support for the baytrail power functions. Refer to the kernel bug for more info. AUR package linux-x205taAUR applies what seems to be the most effective patch.
Setting kernel argument intel_idle.max_cstate=1 solves the problem on a patched kernel without affecting performance. Power saving functionalities should in theory be impeded using this patch and kernel parameter, but the laptop's battery life remains impressive and freezes are not frequent. The Kernel parameters page may help with adding to the kernel parameters.
Sound
There has recently been some success in getting the x205ta's Realtek RT5648 sound card working, including microphone support. The relevant patches are in Linux release 4.11 and later. Updated Alsa-lib's UCM files are available in alsa-lib-x205taAUR.
In order to have working headphone jack (as of kernel 4.14) is it required to add an "options" line in any modprobe file
/etc/modprobe.d/50-x205ta.conf
options snd_soc_rt5645 quirk=0x31
To select headphones over speakers (which cannot be done automatically as of kernel 4.14) consider using pavucontrol.
Bluetooth
Install a correct firmware file (e.g. BCM43341B0_002.001.014.0122.0176.hcd from Windows 10 driver) as /lib/firmware/brcm/BCM43341B0.hcd.
See this page for more information on the hcd file.
In order to get bluetooth working create a systemd unit
/etc/systemd/system/btattach.service
[Unit] Description=Btattach [Service] Type=simple ExecStart=/usr/bin/btattach --bredr /dev/ttyS1 -P bcm ExecStop=/usr/bin/killall btattach [Install] WantedBy=multi-user.target
and enable the service.
Next, follow the normal steps to activate bluetooth.
WIFI Breaks after resume from hibernating
/usr/lib/systemd/system-sleep/hibernate.sh
#!/usr/bin/env bash
case $1 in
pre)
rmmod brcmfmac
;;
post)
modprobe brcmfmac
;;
esac
exit 0
and make the script executable.