来份Brunch笔电瞬间变身Chromebook

自从几年前卖掉华硕的一台小Chromebook后,看到Android和Linux应用程式的支持增加,又开始有点馋涎Chromebook……不过因为今年疫情全球大爆发,电子产品(尤其是适合居家办公和学习的)价格一路上扬(或者缺货)。Chromebook今年出货量增长更是迅猛(Windows PC, MacBook, Chromebook分类中增长幅度最大)。问我这台2015年买的老笔电尚能饭否?答曰:Brunch

出厂预装的Windows 10早被我卸载干净了,单Linux系统(OpenSUSE)用了有一年多了,看到Brunch这个项目能在自己笔电上体验Chrome OS变身Chromebook,赶紧试验了一把,没想到效果出奇地好!这里特意用中文记载一下Linux下安装Chrome OS和后续升级的办法以供中文网络世界的朋友参考。

硬件需求

截止到本文写作时间(2020年11月),依本人见解,你的笔记本需要满足以下要求来用Brunch项目上手Chrome OS:

  • 64位CPU,主板支持UEFI
  • 英特尔酷睿处理器,或
    • AMD Stoney Ridge处理器(新Ryzen处理器暂不支持)
    • 英伟达显卡暂不支持
  • 至少32G可用硬盘空间(USB引导,或者硬盘EXT4分区存放硬盘镜像文件用GRUB2双引导)

准备工序

首先,我们需要下载Chrome OS恢复镜像,这是包含Chrome OS全部内容由Google发布的官方镜像。原本用于恢复指定的Chromebook至出厂软体,这里我们用来安装到非官方的笔电上。

1~3代英特尔酷睿处理器的用samus镜像,而较新的英特尔处理器(4代酷睿或更新)使用rammus恢复镜像,AMD处理器则用grunt镜像。恢复镜像可以在cros.tech上下载。

其次我们需要对应版本的Brunch框架(例如Chrome OS 86对应的是r86,主版本号对应即可),在GitHub项目的Releases页面找到对应版本下载发布的tar.gz包。

接下来的操作在Linux下进行,如果你使用Windows 10,可以尝试WSL,macOS和*BSD用户请适当调整部分命令和参数。

安装与设置

首先,将Brunch框架的压缩包解压。

多系统GRUB2启动

如果你有GRUB4DOS或者GRUB2作为引导器,那么这个办法可以很容易将Chrome OS安装到你的内置磁碟实现多系统启动。否则见下一条将Chrome OS安装至USB磁碟。

Chrome OS使用的分区表格式非常“特别”,所以建议的方式是创建一个硬碟镜像文件存放在一个单独的EXT4或者NTFS分区来实现多系统。例如,使用下方的指令将恢复镜像文件(ChromeOS_recovery.img,改成真正的镜像文件名)安装至挂载于/mnt的分区的硬碟镜像chromeos.img,硬碟镜像大小32GB。

sudo bash chromeos-install.sh -src ChromeOS_recovery.img -dst /mnt/chromeos.img -s 32

安装结束后,脚本将会提示需要如何修改GRUB2引导配置文件,按照提示修改/etc/grub.d/40_custom然后更新GRUB2即可(下例适用于OpenSUSE):

sudo grub2-mkconfig > /boot/grub2/grub.cfg

你可能需要在主板BIOS设置里禁用安全启动(Secure Boot),否则可能出现GRUB引导时抱怨“(loop,7) not found”。

安装至USB磁碟

方法和多系统几乎雷同,区别在于脚本的-dst参数指定到设备而不是硬碟镜像文件路径。比如移动硬盘识别为/dev/sdb的话,安装至该移动硬盘的指令则为:

sudo bash chromeos-install.sh -src ChromeOS_recovery.img -dst /dev/sdb

建议至少使用容量32GB以上且USB 3.0协议以上传输的设备。

内核引导选项

Brunch框架的内核有一些默认没有开启的选项,根据所用设备,某些选项值得进行微调以实现最佳兼容性。这些选项需要修改GRUB2配置文件(上述/etc/grub.d/40_custom)这里仅列出我为YOGA-700添加的选项:

  • options=acpi_power_button,sysfs_tablet_mode
    • 第一个框架选项让按下电源键弹出关机菜单
    • 第二个框架选项允许通过控制系统文件系统来切换平板模式(翻折YOGA暂不能激活平板模式)
  • enforce_hyperthreading=1
    • 启用英特尔超线程(最近的安全漏洞使得Chrome OS默认禁用了超线程),更好的性能(可能有安全隐患)
  • psmouse.synaptics_intertouch=1
    • Synaptic触控板多指手势控制

升级至新版本

每隔几个月Chrome OS就会发布新版本(一般Chrome新版本发布之后几周内)。目前Chrome OS里的Chrome浏览器是和系统捆绑在一起进行升级的,为了网路浏览安全和体验更快更好的Web,建议即时更新你的设备!

使用Brunch框架运行的Chrome OS更新也需要对Brunch框架进行更新(理论上来说,你也可以仅更新Chrome OS而不更新Brunch框架,但是可能会出现一些兼容性问题)。更新不会清除原本的个人数据,但并不能简单地透过内建的OTA实现“空中更新”,手动倒也不难。和安装类似,需要下载新版本的Brunch框架和恢复镜像,解压缩恢复镜像zip文件(提取.bin出来),然后打开Crosh终端(浏览器按下Ctrl + Alt + T,然后键入shell回车):

cd ~/Downloads
# 恢复镜像和Brunch框架压缩包文件名可能不同,仅作示范
sudo chromeos-update -r chromeos_13505.63.0_rammus_recovery_stable-channel_mp-v2.bin -f brunch_r87_stable_20201216.tar.gz

稍等片刻,提示完成后关闭选项卡并重启电脑,新版本便升级完成!

5 responses to “来份Brunch笔电瞬间变身Chromebook”

  1. […] OS/Chromium OS相关的帖子又有一段时间了。之前提到了怎么用Brunch项目来运行原味的Chrome OS,奈何Brunch的内核和我的新笔电(Samsung Galaxy Book Pro […]

  2. 乳制品 avatar
    乳制品

    Brunch有点类似Hackintosh,不过要简单得多,比Chrome OS Flex(原CloudReady)更好。
    Chrome OS是一个理想的操作系统,但是要依赖Google账号,而近几年Google都要绑定手机号,大陆的手机号都是实名的,极不安全。
    我几年前就注销了Google账号,现在就算我想重新注册也必须提供手机号,即使有办法侥幸绕过,以后登录还是要验证手机号才能用。
    国外有不少人已经开始重视隐私在degoogle了,比如使用更重视隐私的搜索引擎,使用开源的Google服务的替代品。
    我希望有一个Chromium OS fork,能使用本地账号,还能运行Linux和Android应用,但是目前没有这样的版本。Nayu OS差不多满足条件,但已经不更新了,而且不支持运行Android应用。中国有一家公司做了个Fyde OS,完全去掉了Google的所有服务,能运行Linux和Android应用,但我可不敢用(原因你懂的)。还有一个是韩国的Wayne OS,我还没试过,很可能也不支持运行Android应用。
    只能怪Firefox不努力了(划掉)

    1. librehat avatar

      其实我觉得Fyde OS在墙内用用没什么问题吧,除非你安装了用它来翻墙。

      其他的没有怎么了解,而且最近Brunch有一段时间没有更新,不知道是不是也难逃终被主程序员抛弃的宿命。

      其实直接安装一个最新的Linux桌面(KDE或者GNOME现在Wayland都能用了),然后用Waydroid跑Android应用就好了。

  3. cc avatar
    cc

    chrome安装完成之后系统就没有启动项了这应该怎么办

    1. librehat avatar

      没有什么的启动项?

      • 没有Chrome OS的话是因为你要自己修改GRUB2的配置文件。
      • 没有原来系统的启动项了,
        • 使用Linux安装Live CD重新安装配置GRUB2
        • 使用Windows系统修复工具先恢复Windows引导,再重新安装GRUB