It's a challenge to get Linux to run on Lenovo ThinkPad 13 Chromebook. Elementary OS is not created especially for Chromebooks, but as it's based on latest Ubuntu, this works almost fine on Chromebook. There are still few issues on Lenovo ThinkPad 13 Chromebook when using Elementary OS - the biggest challenge is to get audio working, also there is no Chromebook keys. Below you will find some guidelines how to overcome those issues.
Please note, I'm not hardware or Linux expert. All these instructions are based on various instructions I have found on the Internet and tested personally on Elementary OS running on Lenovo ThinkPad 13 Chromebook. If you find some mistakes, please report that I can fix these and update this repository.
These instructions should work on any latest Ubuntu or Ubuntu based Linux OS.
Lenovo ThinkPad 13 Chromebook is locked, so you cannot install Linux easily on it. But there is a workaround provided by the MrChromebox.tech.
You have to use ChromeOS Firmware Utility Script. This tool performs two simple tasks: it sets the crossystem boot flag necessary to enable Legacy Boot mode by doing an RW_LEGACY firmware update appropriate for the device. Legacy Boot Mode can be accessed via [CTRL+L] on the Developer Mode boot now. Detailed instructions are provided on ChromeOS Firmware Utility Script page.
To install RW_LEGACY firmware update you have to go into Chrome OS shell and run this command.
cd; curl -LO https://mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh
You can use this command later too, once you have installed Linux to upgrade firmware or change settings.
If you want a more stable setup, you might consider to remove Write-protect Screw. Use some professional help! It's not recommended to do it by-self if you aren't mobile devices repair technician.
Once you have updated the firmware, you can boot your chromebook from Elementary OS live USB device.
Boot your Chromebook into Elementary OS Live and follow instructions to install Elementary OS. Installation procedure is simple and easy.
Update your system after installation.
You need the latest kernel to fix audio, otherwise driver is not loaded. Easiest way for this is to install Ukuu app, which provides nice GUI for this purpose.
sudo add-apt-repository ppa:teejee2008/ppa
sudo apt update && sudo apt install ukuu
Reboot your chromebook after kernel update.
- 8GB USB drive or SD Card
- Elementary OS .iso image. Download ISO.
- Balena Etcher to create bootable USB disk / SD Card
- Few hours of free time
Once you have installed Elementary OS on your ThinkPad 13 Chromebook and updated it to latest versions, including the latest kernel, most of hardware should work fine.
There are few issues left:
- No Chromebook function keys
- No audio
Fixing Chromebook keys is simple. You have to replace PC keys mappings and reboot the Chromebook.
Backup current layout of keys
sudo cp -n /usr/share/X11/xkb/symbols/pc /usr/share/X11/xkb/symbols/pc.bck
Replace PC keys mapping.
sudo su
cd /usr/share/X11/xkb/symbols/
wget https://raw.githubusercontent.com/Backpackstudio/chromebook-sentry/master/mods/usr/share/X11/xkb/symbols/pc -O pc
reboot
Do not use Gallium OS Skylake Audio Fix for ThinkPad 13 Chromebook as this does not work for properly on this model. Instead of that, use files provided by StephanvanSchaik, but keep in mind, that still some modifications are required.
Please check your current version of kernel. Older kernel versions might not support audio drivers provided in these instructions.
uname -r
4.20.5-042005-generic
lsb_release -a
LSB Version: core-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID: elementary
Description: elementary OS 5.0 Juno
Release: 5.0
Codename: juno
hostnamectl
Static hostname: elementary
Icon name: computer-desktop
Chassis: desktop
Machine ID: e88d7669b6294d3c87a642f6b594e50d
Boot ID: f68a336a63ac4112bad1ad16199e5262
Operating System: elementary OS 5.0 Juno
Kernel: Linux 4.20.5-042005-generic
Architecture: x86-64
Your system kernel should be newer than 4.17, otherwise you wouldn't get audio. Please follow instruction above how to install Ukuu and update the kernel.
No firmware, no audio. Invalid firmware, no audio or disrupted audio. There are various versions of dfw_sst.bin available, but some of them wouldn't work or cause sound distortions. The best firmware is provided by StephanvanSchaik.
I have included dfw_sst.bin also (MD5: 5238c7bb0c2af50ffeb109edb4da67f9).
sudo su
cd /lib/firmware/
wget https://raw.githubusercontent.com/Backpackstudio/chromebook-sentry/master/mods/lib/firmware/dfw_sst.bin -O dfw_sst.bin
md5sum dfw_sst.bin
5238c7bb0c2af50ffeb109edb4da67f9 dfw_sst.bin
Once we have installed proper firmware (dfw_sst.bin) we are ready to add hardware definitions for ALSA.
sudo su
rm -d /usr/share/alsa/ucm/Google-sentry-1.0-sentry
mkdir -p /usr/share/alsa/ucm/sklnau8825max/
cd /usr/share/alsa/ucm/sklnau8825max/
wget https://raw.githubusercontent.com/Backpackstudio/chromebook-sentry/master/mods/usr/share/alsa/ucm/sklnau8825max/Google-sentry-1.0-sentry.conf -O Google-sentry-1.0-sentry.conf
wget https://raw.githubusercontent.com/Backpackstudio/chromebook-sentry/master/mods/usr/share/alsa/ucm/sklnau8825max/HiFi.conf -O HiFi.conf
wget https://raw.githubusercontent.com/Backpackstudio/chromebook-sentry/master/mods/usr/share/alsa/ucm/sklnau8825max/sklnau8825max.conf -O sklnau8825max.conf
ln -s /usr/share/alsa/ucm/sklnau8825max/ /usr/share/alsa/ucm/Google-sentry-1.0-sentry
Do use Chromebook audio device we have to disable snd-hda-intel first.
sudo su
cd /etc/modprobe.d/
wget https://raw.githubusercontent.com/Backpackstudio/chromebook-sentry/master/mods/etc/modprobe.d/snd-hda-intel.conf -O snd-hda-intel.conf
Your system is almost ready now. To continue reboot is required.
reboot
You should have new audio "Built-in Audio" device instead of "Dummy Audio" now. On some cases Pulse audio still not play properly trough desired devices. By running these commands on Terminal Pulse Audio can be restarted and switched to the desired device.
Play audio trough Speakers
pulseaudio -k
alsaucm -c sklnau8825max set _verb HiFi set _disdev Speaker
alsaucm -c sklnau8825max set _verb HiFi set _disdev Headphone
alsaucm -c sklnau8825max set _verb HiFi set _enadev Speaker
Play audio trough Headphones
pulseaudio -k
alsaucm -c sklnau8825max set _verb HiFi set _disdev Speaker
alsaucm -c sklnau8825max set _verb HiFi set _disdev Headphone
alsaucm -c sklnau8825max set _verb HiFi set _enadev Headphone
To simplyfy these task you can youse ready to use scripts instead. You can install these by using these commands.
cd
mkdir -p Scripts
cd Scripts
wget https://raw.githubusercontent.com/Backpackstudio/chromebook-sentry/master/scripts/audio-speakers
wget https://raw.githubusercontent.com/Backpackstudio/chromebook-sentry/master/scripts/audio-headphones
sudo chmod +x audio-speakers
sudo chmod +x audio-headphones
Add audio-speakers scripts into your Elementary OS System Settings > Applications > Startup list and you should have audio every time you boot and log into your Chromebook.
I have prepared an all-in-one installation script, which should make installation procedure a lot easier. I recommend manual step-by-step procedure to handle possible errors immediately and properly.
cd; curl -LO https://raw.githubusercontent.com/Backpackstudio/chromebook-sentry/master/scripts/install-sentry-fixes && sudo bash install-sentry-fixes