Debian Chromebook

Updated 13-Apr-2024

Because ChromeOS is simply ridiculous in terms of resource requirements (on devices meant for it), the only proper approach is to install or boot from a USB drive running Debian Linux (in this case, Debian Stable.

There are various steps involved in getting this working. This is meant to document them.

Basically it is a combination of the Breath and the Chrultrabook projects.

Chromebook developer mode

  • When Chromebook is turned off, hold down Esc + Refresh + Power
  • Once it goes into Developer screen, type Ctrl + D
  • After a reboot, when going into the Developer screen, type Ctrl + Alt + F2 (aka right arrow)
    • This will enable booting off of a USB drive

Breath bootable ISO

  • On a separate computer (preferably Linux), create a bootable ISO
  • I prefer the command FEATURES=ISO,KEYMAP bash setup.sh xfce debian stable (debian testing doesn't support the audio script below)
  • Use Balena etcher or similar to burn a bootable ISO

Boot off USB drive ISO

  • Boot the Chromebook, when the white developer screen comes up, count to 5 and then type Ctrl + U.

Replace Debian 12 Kernel

There is a script that helps replace the Debian 12 kernel in order to make the audio work. Unfortunately in my case this doesn't enable the internal audio devices (speaker/headphone or microphone), though it does make it possible to plug in USB audio, which then works. Yes, it is an extra piece of hardware, but it does indeed work. I am using a Unitek Y-247A USB sound card sold under the brand UGREEN.

Note that for this to work, one needs to install some utilities, such as ``

Write the system to the local drive

For this, we use the Breath command [install-to-internal-storage](https://cb-linux.github.io/breath/docs.html#/internalstorage) after determining which drive to write to (most likely /dev/mmcblk0), using lsblk.

Install, Configure, Tweak

sudo chown -Rv _apt:root /var/cache/apt/archives/partial/
sudo chmod -Rv 700 /var/cache/apt/archives/partial/