Skip to content

Instantly share code, notes, and snippets.

@amonks
Last active September 26, 2025 19:33
Show Gist options
  • Select an option

  • Save amonks/c089600bae9419013f3f9e801154d4e2 to your computer and use it in GitHub Desktop.

Select an option

Save amonks/c089600bae9419013f3f9e801154d4e2 to your computer and use it in GitHub Desktop.

Revisions

  1. amonks revised this gist Apr 28, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions installing-arch-on-yoga-11e-chromebook.md
    Original file line number Diff line number Diff line change
    @@ -117,6 +117,8 @@ make sure you can boot into arch. If you can't, you can boot back into the live

    To get the keyboard working, you'll need to compile v4.8.17 of GalliumOS's kernel. More recent kernels don't work. It's possible that [v4.8.14](https://archive.archlinux.org/packages/l/linux/linux-4.8.14-1-x86_64.pkg.tar.gz) from the archlinux package archive would work, I haven't tried it. If that doesn't work, it's possible that the necessary patches out of Gallium are available on the AUR. I haven't looked.

    Gallium's kernel has some patches you might or might not be into (it uses bfs and bfq), removes a bunch of shit you definitely don't need, and adds support for some chromebook hardware.

    Compiling the kernel on your chromebook will take a couple hours, so those binary options might be worth investigating. I'll describe how to compile the kernel on your chromebook:

    ```bash
  2. amonks revised this gist Apr 28, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions installing-arch-on-yoga-11e-chromebook.md
    Original file line number Diff line number Diff line change
    @@ -3,6 +3,8 @@ Install arch on a Lenovo Yoga 11e Chromebook

    The Thinkpad Yoga 11e isn't the most popular chromebook, but you can readily pick one up for less than 200$, and it's physically built like a tank. You could throw it at a man, pick it back up, and go on typing.

    This chromebook is a member of the categories "braswell" and "ULTIMA".

    I'll describe the process I followed to get Arch running on it. The firmware steps should be the same if you'd like to install Gallium, an excellent chromebook-optimized distro forked from Xubuntu.

    ## Firmware
  3. amonks revised this gist Apr 28, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion installing-arch-on-yoga-11e-chromebook.md
    Original file line number Diff line number Diff line change
    @@ -57,7 +57,7 @@ cd ~
    curl -LO https://mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh
    ```

    Now you can put the screw back in.
    Now you can put the screw back in. Or, you know, leave it out.

    ## Arch

  4. amonks revised this gist Apr 28, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions installing-arch-on-yoga-11e-chromebook.md
    Original file line number Diff line number Diff line change
    @@ -57,6 +57,8 @@ cd ~
    curl -LO https://mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh
    ```

    Now you can put the screw back in.

    ## Arch

    Now you can install arch more or less normally. Your keyboard, trackpad, and touchscreen won't work until we downgrade the kernel later, so you'll need a usb keyboard.
  5. amonks revised this gist Apr 28, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion installing-arch-on-yoga-11e-chromebook.md
    Original file line number Diff line number Diff line change
    @@ -79,7 +79,7 @@ Here are the steps I followed:

    plug it in, reboot, press escape, boot from usb, select "live install whatever"

    ```
    ```bash
    loadkeys dvorak
    wifi-menu
    cfdisk /dev/mmcblk0 # go mbr
  6. amonks revised this gist Apr 28, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions installing-arch-on-yoga-11e-chromebook.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,5 @@
    Install arch on a Lenovo Yoga 11e Chromebook
    ============================================

    The Thinkpad Yoga 11e isn't the most popular chromebook, but you can readily pick one up for less than 200$, and it's physically built like a tank. You could throw it at a man, pick it back up, and go on typing.

  7. amonks revised this gist Apr 28, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions installing-arch-on-yoga-11e-chromebook.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,5 @@
    Install arch on a Lenovo Yoga 11e Chromebook

    The Thinkpad Yoga 11e isn't the most popular chromebook, but you can readily pick one up for less than 200$, and it's physically built like a tank. You could throw it at a man, pick it back up, and go on typing.

    I'll describe the process I followed to get Arch running on it. The firmware steps should be the same if you'd like to install Gallium, an excellent chromebook-optimized distro forked from Xubuntu.
  8. amonks created this gist Apr 28, 2017.
    140 changes: 140 additions & 0 deletions installing-arch-on-yoga-11e-chromebook.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,140 @@
    The Thinkpad Yoga 11e isn't the most popular chromebook, but you can readily pick one up for less than 200$, and it's physically built like a tank. You could throw it at a man, pick it back up, and go on typing.

    I'll describe the process I followed to get Arch running on it. The firmware steps should be the same if you'd like to install Gallium, an excellent chromebook-optimized distro forked from Xubuntu.

    ## Firmware

    Unlike some other Chromebooks, the Yoga 11e doesn't come with a linux-friendly bios, so you'll have to install custom firmware. In order to write to the firmware, you first need to remove a physical write-protect screw on the motherboard.

    Lenovo publishes an excellent [hardware maintenance manual](http://f.monks.co/yoga-11e-hardware-manual.pdf), which provides detailed instructions (begin on page 22). You'll need a small phillips head screwdriver, and a couple of good spudgers.

    Here's what to do:

    ### turn off os verification (enter "developer mode")

    1. boot holding escape, refresh, and the power button (on the side)
    2. when "chrome os is missing or damaged" appears, press ctrl-d
    3. press enter

    ### disable the battery

    1. boot, and enter chromeos (a guest session is fine) in developer mode
    2. press ctrl-alt-t to get to the "crosh shell"
    3. enter "shell" or maybe "sudo bash" to get a real bash shell
    4. enter "ectool batterycuttoff" to disable the battery.
    5. unplug your chromebook. The battery will re-enable when you plug it back in.

    ### Remove the firmware write-protect screw

    I'll refer to pages in the hardware maintenance manual.

    Make sure you keep track of which screws are where. I like to draw labeled boxes on a piece of paper, and place the screws into the boxes. Make sure they don't roll around.

    1. take off the bottom cover (page 52)
    2. remove the battery (page 53-54)
    3. remove the keyboard (page 56-57)
    4. remove the keyboard bezel assembly (page 58-59)
    - the "bezel assembly" is the plastic surface your palms are over when you type.
    - after removing all the screws, I had a super difficult time snapping the bezel assembly off. I found I could get my spudger in above the hdmi port, kinda leave it in there, insert another spudger next to it and kinda slide it around. Each little bendy arrow marked 9 in the picture on page 59 is a snap that has to unsnap. Some of them won't want to. If you can get a spudger in on each side, it helps. The plastic bent pretty sharply at a couple points, but it flattened out just fine when I snapped it back in place.
    5. remove the write protect screw (page 23). It has a little red marker next to it. (Mine did, anyway).

    Keep the screw somewhere really special, and put your chromebook back together.

    You're gonna have to repeat the whole process to put the screw back in once the firmware's installed.

    ### install the mrchromebox firmware

    1. boot, and enter chromeos (a guest session is fine) in developer mode
    2. press ctrl-alt-t to get to the "crosh shell"
    3. enter "shell" or maybe "sudo bash" to get a real bash shell
    4. run this:

    ```bash
    cd ~
    curl -LO https://mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh
    ```

    ## Arch

    Now you can install arch more or less normally. Your keyboard, trackpad, and touchscreen won't work until we downgrade the kernel later, so you'll need a usb keyboard.

    ### make install media

    download an arch iso from https://www.archlinux.org/download

    flash it onto a usb drive:

    ```bash
    sudo dd if=$PATH_TO_ISO/archlinux-whatever-x86_64.iso of=/dev/whatever bs=1m
    ```

    ### install arch normally

    You can pretty much [install arch as you normally would](https://https://wiki.archlinux.org/index.php/Installation_guide). The arch wiki has a [page with some extra chromebook advice](https://wiki.archlinux.org/index.php/Chrome_OS_devices), which might be applicable if you want to run X or use your touchscreen/touchpad or hear audio.

    Here are the steps I followed:

    plug it in, reboot, press escape, boot from usb, select "live install whatever"

    ```
    loadkeys dvorak
    wifi-menu
    cfdisk /dev/mmcblk0 # go mbr
    mkfs.ext4 /dev/mmcblk0s1
    mount /dev/mmcblk0s1 /mnt
    mkdir /mnt/boot
    vim /etc/pacman.d/mirrorlist # make macedonia not be first
    # you can use rankmirrors but it takes forever
    pacstrap /mnt base
    genfstab -U /mnt >> /mnt/etc/fstab
    pacstrap /mnt grub-bios
    arch-chroot /mnt
    ln -sf /usr/share/zoneinfo/America/Chicago /etc/localtime
    hwclock --systohc
    echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
    echo "LANG=en_US.UTF-8" > /etc/locale.conf
    echo "KEYMAP=dvorak" > /etc/vconsole.conf
    pacman -S terminus-font
    echo "FONT=ter-v24b.psf.gz" >> /etc/vconsole.conf
    echo "ptah" > /etc/hostname
    pacman -S dialog
    pacman -S sudo
    pacman -S wpa_supplicant
    EDITOR=vi visudo # uncomment the wheel group jawn
    useradd -m -G wheel -s /bin/bash ajm
    ```

    make sure you can boot into arch. If you can't, you can boot back into the live media, `mount` the drive and `arch-chroot` again.

    ## Kernel

    To get the keyboard working, you'll need to compile v4.8.17 of GalliumOS's kernel. More recent kernels don't work. It's possible that [v4.8.14](https://archive.archlinux.org/packages/l/linux/linux-4.8.14-1-x86_64.pkg.tar.gz) from the archlinux package archive would work, I haven't tried it. If that doesn't work, it's possible that the necessary patches out of Gallium are available on the AUR. I haven't looked.

    Compiling the kernel on your chromebook will take a couple hours, so those binary options might be worth investigating. I'll describe how to compile the kernel on your chromebook:

    ```bash
    cd ~
    mkdir kernel
    git clone https;//github.com/GalliumOS/linux.git
    cd linux
    git checkout v4.8.17
    cp galliumos/config .config
    ```

    then proceed to [compile and install the kernel normally](https://wiki.archlinux.org/index.php/Kernels/Traditional_compilation), just like you would the one from kernel.org:

    ```bash
    make
    sudo make modules_install
    sudo cp -v arch/x86_64/boot/bzImage /boot/vmlinuz-linux48-galliumos
    sudo cp /etc/mkinitcpio.d/linux.preset /etc/mkinitcpio.d/linux48-galliumos.preset
    sudo sed -i 's/-linux/-linux-48-gallimuos/' /etc/mkinitcpio.d/linux48-galliumos.preset
    sudo mkinitcpio -p linux48
    cp System.map /boot/System.map-linux48-galliumos
    ln -sf /boot/System.map-linux48-galliumos /boot/System.map
    sudo grub-mkconfig -o /boot/grub/grub.cfg
    ```

    You're done!

    Reboot and select the right kernel at the grub menu.