Ubuntu or other Linux on the Asus Transformer Book T1. This post is now out of date see the latest update, here. Apache_page.png' alt='Install Perl Module Ubuntu 14.04' title='Install Perl Module Ubuntu 14.04' />The T1. My aim is to get a perfect Ubuntu installation on the T1. GLXGears in tablet mode. Unfortunately Linux support right now is quite rudimentary, and installing it requires us to jump through a few hoops. The situation is improving rapidly however. So I will keep updating this How to as new drivers become available and things improve. See the latest update. Warning. Eventually I expect hardware support for the T1. In order to get the best support possible, we will be using bleeding edge builds and the latest Linux kernels. If youd just prefer an easy life, come back in October and just install Ubuntu 1. That said, this little convertible is a lovely machine, and Ubuntuunity works very nicely on it finally Unity has a purpose The more people get on for the ride now, the quicker we can test and iron out bugs. This post will constantly be updated as in kernel support improves Current status updated 2. Ill update this whenever I manage to get new things working. I will only add items to the How to below that are confirmed to work well. Graphics Working with accelerated 3. D graphics 71. 0Wifi Working, but often drops connection working on improving this 61. Touchscreen Working, with multi touch out of the box 1. Sound Working, with patches 81. SD card reader Working, some configuration needed thanks akira 91. Battery monitoring Working, with patches 81. Tablet keys Volume updown etc Not yet working 01. Power management Suspendresume Not yet working 01. Orientation sensor Not yet working currently testing 01. Australian Work Abroad Programs. Backlight ambient light sensor Backlight not adjustable. Install Perl Module Ubuntu 14.04' title='Install Perl Module Ubuntu 14.04' />Light sensor works with custom driver 51. Touchpad Working, no multitouch yet 81. Shutdown reboot Working, with patches 91. First steps Preparing for the Ubuntu Install. Ive found numerous installation instructions for Node. Im not a super sys admin but I can get around. I have yum on the system. I want to install the latest Python tarball on Ubuntu, downloaded from http Is this is a correct way to installconfigure make make install. First things first, update using Asus Live. Update to the latest BIOS available. At the time of writing, that is v. Do any backing up of Windows recovery partitions. Ill leave the details of that up to you. Install Perl Module Ubuntu 14.04' title='Install Perl Module Ubuntu 14.04' />Before we attempt to boot Linux on the T1. Windows. Download the latest daily AMD6. Ubuntu 1. 4. 0. 4 from here. Download the Rufus USB bootable image creator, and burn your downloaded ISO to a spare USB stick. In Rufus, for Partition scheme and target system type, choose GPT partition scheme for UEFI computer. For File System, choose FAT3. At the bottom, check Create a bootable disk using ISO Image and select your downloaded Ubuntu image, then hit Start. When your USB stick is ready, close Rufus. It should now be browseable in Windows. Browse to the EFIBoot directory, and place this bootloader named bootia. This bootloader was compiled from source using the latest Grub. If you dont trust random downloaded files from the Internet and you shouldnt, you can find the instructions for building it yourself here. Booting the Live Image. Now, insert the USB stick and reboot to the firmware BIOS. You can do this in Windows by holding shift when pressing restart, then touching Troubleshoot Advanced Options UEFI Firmware Settings Restart. Once there, disable Secure. Boot, then visit the boot options, and ensure the USB stick is the first in the list. Press F1. 0 to save settings, and after a few seconds you will be in the GRUB bootloader. Before the timeout, immediately hit CTRL ALT DEL. This will reboot the computer again, but this time you will have the laptops native resolution rather than being stuck at 8. 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 videoVGA 1 1. Then press F1. 0 to boot. You should get all the way to the Desktop. Installing the distro. Click the Install Ubuntu desktop icon to install Ubuntu permanently. The partitioning scheme you choose is up to you but you will need to preserve the EFI partition, so dont 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 created the additional partitions, or just delete the Windows partition altogether if you dont need it. When done, reboot, leaving the USB stick in. First boot. Ubuntu wont boot yet. Well need to compile our own bootia. Grub. To do that we really need a wireless connection. So well boot manually, fix up wireless, and fix Grub. Boot back to the Grub welcome screen on the USB stick. Hit c to drop to a Grub command line. Youll need to provide Grub with the path to your kernel and initrd to boot. First, the path to the kernel linux hd. VGA 1 1. 36. 8x. Here, hd. Partition numbering begins at 1 and disk numbering begins at 0. This will vary depending on how yo uinstalled and your T1. On my 3. 2GB model, Grub assigns the USB stick as hd. 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 rootdevmmcblk. It will be your root partition. Unfortunately this cant be auto completed, so if you cant remember your partition setup, youll need to try by trial and error. To complete the line, press Enter. Then you need to specify the location of your initrd. This is easy, its in the same place as the kernel initrd hd. Then Enter. Then boot with boot. Operations Manual Aoc. With luck after hitting Enter, youll boot through to Ubuntu. If not, dont be disheartened keep trying. Enabling wifi To get further, well need wifi. However internal wifi on the T1. Linux yet. If you have access to another wifi dongle, you might want to try that until youre fully set up. The driver is already included, but it needs some firmware and a copy of your systems wifi nvram Grab the Wifi firmware here from the Linux wireless repository. Copy it to libfirmwarebrcmbrcmfmac. The NVRAM is difficult to get right now, as 3. EFI runtime services arent yet available on 6. But you can use my NVRAM get it here and copy it to libfirmwarebrcmbrcmfmac. Youll now need to reboot using the same procedure again, and wifi should be working. However, I found wifi performance to be very poor there are some bugs in the driver. This is improved somewhat with the latest kernel, which we will upgrade to in a later step. I managed to improve performance somewhat by using the NVRAMs from other platforms, and splicing in some of the missing variables. You can see my tries here. In all cases, copy them to libfirmwarebrcmbrcmfmac. If you find a firmwarenvram combination that works really well, please share. Completing the installation. We cant keep rebooting like this so lets fix Grub. This assumes you now have a working Internet connection. Well need some build tools install them sudo apt get update sudo apt get install git bison libopts. Then get the Grub source git clone git git. Now build it cd grub. And install to efi cd grub coresudo. This will create a directory, grub, in your EFI partition. We want to copy the grubia. Ubuntu created during installation cd bootefiEFIsudo cp grubgrubia. This should be enough to allow you to boot from the ubuntu option in your EFI firmware. Script action development with Linux based HDInsight Azure. Learn how to customize your HDInsight cluster using Bash scripts. Script actions are a way to customize HDInsight during or after cluster creation. Important. The steps in this document require an HDInsight cluster that uses Linux. Linux is the only operating system used on HDInsight version 3. For more information, see HDInsight retirement on Windows. What are script actions. Script actions are Bash scripts that Azure runs on the cluster nodes to make configuration changes or install software. A script action is executed as root, and provides full access rights to the cluster nodes. Script actions can be applied through the following methods Use this method to apply a script. During cluster creation. On a running cluster. Azure portalAzure Power. ShellAzure CLI HDInsight. NET SDKAzure Resource Manager Template For more information on using these methods to apply script actions, see Customize HDInsight clusters using script actions. Best practices for script development. When you develop a custom script for an HDInsight cluster, there are several best practices to keep in mind Important. Script actions must complete within 6. During node provisioning, the script runs concurrently with other setup and configuration processes. Competition for resources such as CPU time or network bandwidth may cause the script to take longer to finish than it does in your development environment. Target the Hadoop version. Different versions of HDInsight have different versions of Hadoop services and components installed. If your script expects a specific version of a service or component, you should only use the script with the version of HDInsight that includes the required components. You can find information on component versions included with HDInsight using the HDInsight component versioning document. Target the OS version. Linux based HDInsight is based on the Ubuntu Linux distribution. Different versions of HDInsight rely on different versions of Ubuntu, which may change how your script behaves. For example, HDInsight 3. Ubuntu versions that use Upstart. Versions 3. 5 and greater are based on Ubuntu 1. Systemd. Systemd and Upstart rely on different commands, so your script should be written to work with both. Another important difference between HDInsight 3. JAVAHOME now points to Java 8. You can check the OS version by using lsbrelease. The following code demonstrates how to determine if the script is running on Ubuntu 1. OSVERSIONlsbrelease sr. OSVERSION 1. 4 then. OS verion is OSVERSION. Using hue binaries 1. HUETARFILEhue binaries 1. OSVERSION 1. 6 then. OS verion is OSVERSION. Using hue binaries 1. HUETARFILEhue binaries 1. OSVERSION 1. 6 then. Using systemd configuration. Using upstart configuration. OSVERSION 1. 4 then. JAVAHOMEusrlibjvmjava 7 openjdk amd. OSVERSION 1. 6 then. JAVAHOMEusrlibjvmjava 8 openjdk amd. You can find the full script that contains these snippets at https hdiconfigactions. For the version of Ubuntu that is used by HDInsight, see the HDInsight component version document. To understand the differences between Systemd and Upstart, see Systemd for Upstart users. Provide stable links to script resources. The script and associated resources must remain available throughout the lifetime of the cluster. These resources are required if new nodes are added to the cluster during scaling operations. The best practice is to download and archive everything in an Azure Storage account on your subscription. Important. The storage account used must be the default storage account for the cluster or a public, read only container on any other storage account. For example, the samples provided by Microsoft are stored in the https hdiconfigactions. This is a public, read only container maintained by the HDInsight team. Use pre compiled resources. To reduce the time it takes to run the script, avoid operations that compile resources from source code. For example, pre compile resources and store them in an Azure Storage account blob in the same data center as HDInsight. Ensure that the cluster customization script is idempotent. Scripts must be idempotent. If the script runs multiple times, it should return the cluster to the same state every time. For example, a script that modifies configuration files should not add duplicate entries if ran multiple times. Ensure high availability of the cluster architecture. Linux based HDInsight clusters provide two head nodes that are active within the cluster, and script actions run on both nodes. If the components you install expect only one head node, do not install the components on both head nodes. Important. Services provided as part of HDInsight are designed to fail over between the two head nodes as needed. This functionality is not extended to custom components installed through script actions. If you need high availability for custom components, you must implement your own failover mechanism. Configure the custom components to use Azure Blob storage. Components that you install on the cluster might have a default configuration that uses Hadoop Distributed File System HDFS storage. HDInsight uses either Azure Storage or Data Lake Store as the default storage. Both provide an HDFS compatible file system that persists data even if the cluster is deleted. You may need to configure components you install to use WASB or ADL instead of HDFS. For most operations, you do not need to specify the file system. For example, the following copies the giraph examples. In this example, the hdfs command transparently uses the default cluster storage. For some operations, you may need to specify the URI. For example, adl examplejars for Data Lake Store or wasb examplejars for Azure Storage. Write information to STDOUT and STDERRHDInsight logs script output that is written to STDOUT and STDERR. You can view this information using the Ambari web UI. Note. Ambari is only available if the cluster is successfully created. If you use a script action during cluster creation, and creation fails, see the troubleshooting section Customize HDInsight clusters using script action for other ways of accessing logged information. Most utilities and installation packages already write information to STDOUT and STDERR, however you may want to add additional logging. To send text to STDOUT, use echo. For example echo Getting ready to install Foo. By default, echo sends the string to STDOUT. To direct it to STDERR, add 2 before echo. For example 2 echo An error occurred installing Foo. This redirects information written to STDOUT to STDERR 2 instead. For more information on IO redirection, see http www. LDPabshtmlio redirection. For more information on viewing information logged by script actions, see Customize HDInsight clusters using script action Save files as ASCII with LF line endings. Bash scripts should be stored as ASCII format, with lines terminated by LF. Files that are stored as UTF 8, or use CRLF as the line ending may fail with the following error r command not found. No such file or directory. Use retry logic to recover from transient errors. When downloading files, installing packages using apt get, or other actions that transmit data over the internet, the action may fail due to transient networking errors.