Introduction
I've got one of these "old" Google Pixelbooks, specifically a 2017 Pixelbook Eve model with a Kaby Lake CPU. I want to install NixOS on it, and this will be the first of a few posts documenting my journey doing so.
There are few challenges that I am immediately aware of:
- We need to remove Write Protection to install "real" linux
- Some hardware (like audio) will not work out of the box
In this post we'll tackle the first of those two.
Why we need a SuzyQable
In order to replace the stock boot firmware with UEFI, you need to disable write protection
on an embedded controller called cr50
. To do that you either need to remove the
battery or use a
SuzyQable. Sparkfun used to sell these
but apparently no longer does, so I was forced to make a DIY verison. Luckily, the chromium
team publishes
the schematics of the cable.
The Breakout Board
I purchased this USB-C breakout board from Amazon, which is not one of the two common boards that there seems to be documentation on when making these SuzyQables. (Incidentally, this breakout board also came with a female breakout board, which ended up being invaluable in the debugging process of my incorrect wiring).
So this page is more searchable: it's a flashtree USB-C breakout board.
Soldering the Connections
Using the schematics as a guide, here's what I did:
- Connect A1, B1, B12, A12 together to BLACK (GND)
- Connect A4, A9, B4, B9 together to RED (+5v)
- Connect the 22k resistors across A4 and A8
- Connect the 56k resistors across B4 and B8
Note: The last two points above are not what the schematics say. I had originally wired it exactly like the schematics said (resistors across VBUS and A5/B5) but this didn't work. After using the female board and checking connections it seems that this board behaves similarly to the "green board" in the comments in the youtube video (see resources below).
Data Minus & Plus (Green & White)
I spent like an hour trying to understand which wire (green or white) is data minus and which is data plus. I looked online for various pinouts of USB-A cables, and different resources said different things. I'm not sure if it even matters if you swap green and white, but I just guessed this position and it worked. If my wiring doesn't work for you, your donor cable might be different, so try swapping green and white.
Removing Write Protect
There is a fantastic guide on on removing write protect on the yusefnapora/pixelbook-linux GitHub repository, and I won't reproduce that here.
Resources
The following resources were invaluable:
- (reddit) Making a ChromeOS Suzy Q Cable TUTORIAL
- (imgur) diagram of usb-c breakout board wiring
- (youtube) Make your own SuzyQable
-
the chultrabook discord
- where random people in a chatroom decided to help out someone they never met debug why my first soldering attempt wasn't working. Very grateful for such kindness.
-
(github) yusefnapora/pixelbook-linux
-
has instructions on removing the write protect on the
cr50
, installing UEFI, and fixing hardware issues if you're installing Ubuntu.
-
has instructions on removing the write protect on the