pixelbook 2017 (eve) 安装 archlinux 避坑指北

我又不死悔改,整了两台新 chromebook 其中一台就是本文中的 Google pixelbook 2017 ,如果不是因为从咸鱼上收的二手机成色很旧的原因,这玩意某种意义上真的可以跟macbook媲美(贫穷的我只在 apple store摸过mbp),很轻很薄,打开的手感,关闭屏幕的阻尼都恰到好处,可惜,它是没用的chromebook。


如果你已经刷好了 uefi 装上 arch 请跳到本文最后阅读

要刷系统首先要解除写保护(wp) pixelbook是cr50设备,要么拆机断开电池,要么使用特制的cr50调试线,考虑到过于轻薄加上很难拆,我花了¥85从咸鱼上购入了一根 。

大概长这样

此教程部分过期,118以后 sudo 命令无法在cros的shell里生效,需要ssh到本地才能使用,而ssh需要在chromebook的初次引导界面开启调试模式,然后进访问模式开shell ssh root@127.0.0.1 默认密码大概为test0000

以root用户身份设置 chronos 用户的密码 passwd chronos

重新开一个shell ssh chronos@127.0.0.1 登录,在这个ssh里就能正常用sudo命令了

关于cr50线得具体使用方法可以看mr chromebook的wiki ,chromebook进开发者模式,进 shell 用脚本确认是否 有写保护

cd ~ 
curl -L -O http://mrchromebox.tech/firmware-util.sh 
sudo bash firmware-util.sh
注意:未解除wp的会显示成红色

执行以下命令

sudo gsctool -a -I
大概会长这样(没解锁
sudo gsctool -a -o
然后每次提示按pp的时候快速连点电源键,然后差不多6次左右,chromebook会出厂(甚至还关掉了开发者模式

然后会提示无法进入系统,按住esc+刷新+电源键,高级选项,重新进入开发者模式,连接调试线(线分正反,正确插入会提示低功率无法充电

ls /dev/ttyUSB*
出现ttyUSB0、ttyUSB1 和 ttyUSB2 说明正确连接
sudo su - 

echo "wp false" > /dev/ttyUSB0

echo "wp false atboot" > /dev/ttyUSB0

echo "ccd reset factory" > /dev/ttyUSB0

gsctool -a -I


#一次复制粘贴一行
成功以后是这样的

crossystem wpsw_cur

确认返回值为 0 后 手动重启


关于arch 的指北

接下来的刷uefi固件的教程可以参考我之前写的那些,不过刷之前,为了能在linux下正常驱动pixelbook的硬件,我们需要提取一些东西。参考

当然你也可以什么都不做,现在大部分都进linux-firmwire里了,直接免驱(包括键盘背光都能直接用gnome调整)


sudo su cp出来到downloads里就行

/lib/firmwire 和/opt/google 里的全部 (事后再提取的话会很麻烦,chromeos镜像不能正常挂载为可读文件,步骤很复杂(关键是我记不得了)

当然你也可以用我提好的现成固件(

然后就可以着手准备刷uefi了

刷uefi脚本里还有一个 降级驱动板的选项(仅在chromiumos下能正常降级/刷入windows必须降级


arch下的屏幕亮度调节

使用最新内核/较新的内核都能成功驱动(pixelbook内置屏幕是edp控制亮度的,旧内核有bug)

arch下的音频问题

最新内核 (6.0)不知道为什么认不到pixelbook的声卡

我推荐用 downgrade 降到linux 5.19.7

不过就算是降级到旧内核 sudo aplay -l 能认到声卡了,也是不能正常响的

参考,需要复制固件到对应文件夹(固件在上面有我提取出来的链接):

sudo cp /mnt/lib/firmware/9d71-GOOGLE-EVEMAX-0-tplg.bin /lib/firmware/

sudo cp /mnt/lib/firmware/dsp_lib_dsm_core_spt_release.bin /lib/firmware/

sudo cp /mnt/lib/firmware/intel/dsp_fw_C75061F3-F2B2-4DCC-8F9F-82ABB4131E66.bin /lib/firmware/intel

sudo mkdir -p /opt/google/dsm/

sudo cp /mnt/opt/google/dsm/dsmparam.bin /opt/google/dsm/dsmparam.bin

重启后应该就能听到了

然后你会发现扬声器是耳机而且会有爆裂音(是 pulse audio 的bug 需要改采样率到48000)参考 sudo vim /etc/pulse/daemon.conf

然后这把默认采样率改成48000就行

default-sample-rate = 48000
alternate-sample-rate = 48000

pulseaudio -k 重启 pulseaudio,如果你发现音频开一会就死建议把pulseaudio的所有包装上尤其是 pulseaudio-alsa

ARCH上的触控板问题

触控板经常开机后无法使用,建议开机时手放在触控板上转转,如果不行试试看用chromium OS的 live cd (比如fydeos)然后用chromebox的脚本,降级触控板固件,或许会有用。

另外键盘映射咨询过hamiki大佬,他的 pixelslate 是用xmod map映射,正在研究中,日后更新

看了半小时arch wiki 没看懂怎么找那个assitant key的对应键位,索性放弃治疗,直接google答案,一顿乱抄之后都以外的能正常使用了。

1.首先搞到正确的键盘布局 参考

sudo vim /lib/udev/hwdb.d/61-eve-keyboard.hwdb

2.重新载入布局 参考

sudo systemd-hwdb update

sudo udevadm trigger

3.映射正确按键 参考

xmodmap -e "keycode 133 = Caps_Lock"

xmodmap -e "keycode 134 = Super_L"

4. 开机自动映射正确键位

vim ~/bin/xmodmap.sh

#!/bin/bash
xmodmap -e "keycode 133 = Caps_Lock"
xmodmap -e "keycode 134 = Super_L"

sudo vim ~/.config/autostart/xmodmap.desktop

`

[Desktop Entry]
Name=Xmodmap
Comment=xmodmap
Exec=~/bin/xmodmap.sh
Icon=application-default-icon
X-GNOME-Autostart-enabled=true
Type=Application

注意脚本文件请设置可执行权限

键盘背光

下载 脚本