Pixelbook 2017 安装Ubuntu 替代 ChromeOS 日记
本教程并不完善,正在解决所遇到的问题,可以等等...
我的设备信息:Google Pixelbook
注:
风险 风险 风险 风险 风险 风险 风险 风险 风险 风险 风险 风险 风险 风险 风险 风险 风险 风险 风险 风险
再次提醒有风险
若出现 拆机问题,Bios刷入失败 等问题自行处理,本人将不承担任何责任
目前正在解决 驱动问题。。。。。。。。。。。。
部分操作需要 小飞机,若步骤需要使用*标记出
在刷机之前建议看看
相关文档 -> 有关ChromeOS设备解决方案汇总(也许有其他适合你的方法,不一定要刷机)
相关文档 -> 目前没有支持 Pixelbook 但有其他 ChromeOS 设备(如果你持有的是其他型号的可以看看有支持吗?)
相关文档 -> 完整的 PixelBook 刷机教程(这一篇是比较完整的刷机教程)
先大致看下本文,下方有些链接点开看看都可以打开吗?
因为有些无法下载的文件但又必须使用。
如果无法打开就需要注意了。
相关文档:
目前没有支持 Pixelbook 但有其他 ChromeOS 设备
GalliumOS 据说完美支持 ChromeOS 的Linux发行版,但我刷机后无法调节亮度且屏幕比例有问题
使用工具:
除了Pixelbook外,还需要一台电脑
下载UEFI固件*
Ubuntu操作系统 (19.04版本)
U盘(拿来做备份(一定要做,不然回到ChrmoeOS会很麻烦),和刷入系统)
二选一 (如果是调试电缆:可以在 某鱼,某宝,某转 上看看可以收到吗?) |
SuzyQable CCD Debugging cable (调试电缆) 可选,除非你想拆机。我并没有研究过,所以教程中不会出现。(解决禁止写入保护) |
螺丝刀型号,拆机有风险(T3 Torx Screwdriver,T5 Torx Screwdriver)。(解决禁止写入保护) |
如何安装?
-
ChromeOS 设备进入管理员模式,有链接教程
-
通过安装 UEFI固件 替换原有,需要备份使用到U盘,固件来自MrChromebox,刷机有风险。下面会有图
-
将U盘内备份的BIOS保存,并写入我们的操作系统
-
按 ESC 选择 BIOS Manage 将 U盘启动移动带第一项,开始装机,这里有几个问题下面会说
-
无驱动的替代解决方案(比如:声音,亮度,等等一系列问题),通过 相关文档 -> 完整的 PixelBook 刷机教程 中的方法将项目Clone到本地按照指定的步骤执行,但会很多问题,下面给出解决方案
如何进入管理员模式:
不做赘述,原因已经刷到Ubuntu,不想回去,就不放图了。
记得需要注意的:每次开机都需要按 Ctrl + D 进入ChromeOS管理员模式,如果按 Enter 系统将重置回到最开始的地方。
刷入UEFI固件
这里还拍了几张图
这里选择 3 . Install/Update Full ROM Firmware(安装或更新输入固件)
之后是免责声明(刷机有风险),这里看自己是否同意如果同意就请输入 "I ACCEPT"
提示你需要去安装一个固件,输入 y
然后检测你的机器上是否插入U盘设备,以完成备份,选择U盘对应的序号进行备份
然后开始下载固件。
注:下载太慢了,等了很久才下载完成。
我将shell命令中的一些链接列出,看看你们都可以访问吗?
https://raw.githubusercontent.com/MrChromebox/scripts/master/firmware-util.sh
https://raw.githubusercontent.com/MrChromebox/scripts/master/sources.sh
https://raw.githubusercontent.com/MrChromebox/scripts/master/firmware.sh
https://raw.githubusercontent.com/MrChromebox/scripts/master/functions.sh
这是我需要下载的固件,只做个参考
https://www.mrchromebox.tech/files/firmware/full_rom/coreboot_tiano-eve-mrchromebox_20200317.rom
------------------------------------------------------------------
--------------- TODO 之后有空放上截图 ---------------
------------------------------------------------------------------
如果一切顺利,那么你的命令行窗口将可再次使用,这里我忘了截图。
重启电脑,将会进入你新刷入的 UEFI固件中,这时是没有操作系统的。
移除Pixelbook上的U盘,在另一台电脑内通过 Rufus 去写 Ubuntu 操作系统。
安装系统就不做说明了,能做到这里的都应该会装系统吧!!!
系统安装完成
如果选择的 Ubuntu 18.04.4 LTS 在进入系统后重力感应将出现异常,屏幕是反过来的,需要点击右上角锁定方向按钮。
建议使用旧版本的 Ubuntu.
以下使用 Ubuntu 19.04 版本:
进入系统后会发现屏幕非常的亮(应该是100%)
并且右上角的 亮度,声音 都无法调节。
触碰版使用必须使用大面积手指去移动,非常不方便
解决驱动问题(以下步骤都可以在 相关文档 -> 完整的 PixelBook 刷机教程 中找到)
进入Ubuntu系统 Ctrl + Alt + T 打开命令窗口后执行shell命令
安装需要用的工具
git 版本控制管理工具,拉取 chromium.googlesource 的一些组件
python
ansible 用于运维的工具,基本的执行流程都是有它完成
sudo apt install -y git python ansible
git clone https://github.com/yusefnapora/pixelbook-linux
cd pixelbook-linux
./run-ansible.sh
执行以上脚本所遇到的问题以及解决方案:
问题1:'NoneType' object is not iterable 错误如下
TASK [eve-recovery-files : Find mapper device to use for mounting image] ***********************
fatal: [localhost]: FAILED! => {"msg": "Unexpected templating type error occurred on ({{ kpartx_output.stdout | regex_search(regexp, '\\1') | first }}): 'NoneType' object is not iterable"}
to retry, use: --limit @/home/nrm/improve-ubuntu/pixelbook-linux/ansible/playbook.retry
PLAY RECAP *************************************************************************************
打开 ***/pixelbook-linux/ansible/roles/eve-recovery-files/tasks/main.yml
修改 (loop[0-9]p3) 为 (loop[0-9]+p3)
- name: Find mapper device to use for mounting image
set_fact:
mapper_device: "{{ kpartx_output.stdout | regex_search(regexp, '\\1') | first }}"
vars:
regexp: '(loop[0-9]+p3)'
问题2:
网络问题 git无法从 chromium.googlesource.com clone 下数据,抛出 TLS异常 checked out异常
问题2的解决方案:
使用 github 导入项目,将文件中的 git url 给替换了,下图位置。
计算签名:
certutil -hashfile *** sha256
./pixelbook-linux/ansible/roles/eve-audio/tasks/main.yml 第13行
git:
https://chromium.googlesource.com/chromiumos/third_party/adhd
./pixelbook-linux/ansible/roles/eve-recovery-files/tasks/main.yml 第13行
https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_11647.154.0_eve_recovery_stable-channel_mp.bin.zip
本地sha256:ccde720355b8d0f1bbd890b379614bf7cb378feb856f45fe1d11bec50f9a80ad
下载sha256:ccde720355b8d0f1bbd890b379614bf7cb378feb856f45fe1d11bec50f9a80ad
./pixelbook-linux/ansible/roles/eve-touchpad/defaults/main.yml 第 10 16 23 行
git:
https://chromium.googlesource.com/chromiumos/platform/libevdev
https://chromium.googlesource.com/chromiumos/platform/gestures
https://chromium.googlesource.com/chromiumos/platform/xf86-input-cmt
问题3的解决方案:
TASK [eve-tweaks : Copy libinput touchpad pressure tweak file] *****************
fatal: [localhost]: FAILED! => {"changed": false, "checksum": "9cb56d667cd390aa928d9d760bb5739b4f0d9c1d", "msg": "Destination directory /etc/libinput does not exist"}
to retry, use: --limit @/home/sk/Research/pixelbook-linux/ansible/playbook.retry
PLAY RECAP *********************************************************************
手动执行,或在yml前创建目录
sudo mkdir /etc/libinput/
待续未完...
正在解决驱动问题中...
上一篇: 哲学家进餐问题
下一篇: NOSQL数据库-Redis