Skip to content

Backpackstudio/chromebook-sentry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Elementary OS on Lenovo ThinkPad 13 Chromebook

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.

Installing Elementary OS on Thinkpad

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.

Install Ukuu to update kernel.

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.

Requirements

Fixing ThinkPad 13 Chromebook

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

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

Fixing audio

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.

1. Check kernel

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.

2. Install firmware

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

3. Install hardware definitions for ALSA

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

4. Disable snd-hda-intel

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

5. Final touch

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.

All in One Installer

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages