Chrome OS 设备
本文旨在提供关于如何在 Acer、HP、三星、东芝和 Google 制造的 Chrome OS 设备系列上安装 Arch 的信息。目前,此页面正在进行改版,并且正在构建更多特定型号的页面,其中列出了一些以下信息。
简介
传统启动模式
所有最新的基于 Intel 的 Chrome OS 设备(从 2013 Chromebook Pixel 开始)都具有传统启动模式,旨在允许用户启动 Linux。传统启动模式具有专用的固件区域 RW_LEGACY
,该区域设计为用户可写入的(因此使用“RW”表示法),并且与固件的 ChromeOS 部分完全分离(即,更新是安全的,并且不会使设备变砖)。它由 SeaBIOS payload of coreboot 启用,coreboot 是用于所有 Chrome OS 设备的开源固件(第一代 Chromebook 和一些早期的 ARM 型号除外)。SeaBIOS 的行为类似于传统的 BIOS,它启动到磁盘的 MBR,然后从那里启动到 Syslinux 和 GRUB 等标准引导加载程序。
使用基于 Core-i 的 SoC(Haswell、Broadwell、Skylake、KabyLake)的型号大多都带有功能正常的传统启动模式 payload;更新到第三方构建可以提供错误修复和附加功能。使用基于 Atom 的 SoC(Baytrail、Braswell、Apollolake)的型号具有传统启动模式功能,但不带有 RW_LEGACY/SeaBIOS payload(固件的这一部分是空白的)。这些型号需要加载第三方 RW_LEGACY 固件才能使传统启动模式正常工作。
没有传统启动模式/SeaBIOS 的型号
可以采用以下方法之一,以便在未随 SeaBIOS 作为已安装固件一部分的 Chrome OS 设备上安装 Arch Linux
- 如果设备支持传统启动模式,但不带有功能正常的
RW_LEGACY
payload(或根本不带有),则可以将 SeaBIOS payload 刷写到固件的RW_LEGACY
部分。这是 100% 安全的,因为它写入到固件映像的用户可写入区域,该区域与 ChromeOS 完全分离/不影响 ChromeOS。在您的 ChromeOS 设备上安装/更新 RW_LEGACY 固件的最简单方法是通过 MrChromebox 的 固件实用程序脚本,该脚本支持最广泛的设备,并提供最新的 SeaBIOS 构建;也可以使用 Chrome OS 的flashrom
手动更新RW_LEGACY
固件(需要下载/编译您自己的构建),或使用 John Lewis 的flash_chromebook_rom.sh
脚本(不再受支持)。 - 刷写完整的 自定义固件,其中包括 SeaBIOS 或 UEFI payload,并删除所有 ChromeOS 特定的部分。
- 刷写固件的
BOOT_STUB
部分。此方法将 stock ChromeOS payload (depthcharge) 替换为 SeaBIOS。从理论上讲,这是一种比刷写完整固件更安全的方法,但可能存在一些限制(例如,在挂起或 VMX 中不受支持)。这是 John Lewis 的flash_chromebook_rom.sh
脚本中的Modify ROM to run SeaBIOS exclusively
选项和 MrChromebox 的脚本中的Flash BOOT_STUB firmware
选项。 - 采用 ChrUbuntu 方法,该方法使用 Chrome OS 内核和模块。
- 构建并签署您自己的内核,请参阅 [1] [2]。
本页描述的 安装 过程尝试涵盖通过刷写自定义固件在没有 SeaBIOS 的型号上安装 Arch Linux 的方法。
固件写入保护介绍
所有 Chrome OS 设备都具有固件写入保护功能,该功能限制对闪存芯片某些区域的写入访问。了解这一点很重要,因为您可能需要禁用硬件写入保护作为安装过程的一部分(以更新 GBB 标志或刷写自定义固件)。
有关更多详细信息,请参阅 Chrome OS 设备/自定义固件#固件写入保护。
准备工作
- 访问您的 Chrome OS 设备 的 ArchWiki 页面。
- 如果您的设备没有 ArchWiki 页面,请在继续之前收集有关设备的信息,如果您成功安装了 Arch Linux,请考虑为您的型号添加新的 ArchWiki 页面(您可以将 Category:Chrome OS devices 中的现有页面作为示例)。
- 完整阅读本指南,并确保在进行任何更改之前了解所有步骤。
Chrome OS 设备
有关硬件比较以及 SeaBIOS 可用性和存储扩展的详细信息,请参阅 Chrome OS 设备/Chromebook。
通用硬件建议和说明
- MyDigitalSSD M.2 NGFF SSD 驱动器可能是升级 Chrome OS 设备内部 SSD 时最受欢迎的选择。在 Arch 论坛的 Acer C720 主题上,有多个关于 MyDigitalSSD SSD 驱动器故障的报告 [3] [4] [5] 以及网络上的更多内容。如果 SSD 已升级到 MyDigitalSSD 型号,则强烈建议经常备份系统和数据。建议使用其他品牌的 SSD 升级 SSD。请注意,这可能是由于 SSD 固件问题引起的,因此强烈建议更新 SSD 固件。
- Transcend MTS400 M.2 NGFF SSD 驱动器在启用 ALPM 时会发生故障(至少使用 stock Coreboot 固件时会发生故障),ATM 没有 SSD 固件更新可以修复此错误,因此强烈建议禁用 ALPM(如果已安装电源管理守护程序(已启用 ALPM)),请参阅 解决 SATA 电源管理相关错误 和 如何在 Chrome OS 中禁用 ALPM。
安装
通用安装过程
- 启用开发者模式。
- 带有功能正常的传统启动模式/SeaBIOS 的 ChromeOS 设备
- 启用传统启动模式。
- 将 SeaBIOS 设置为默认值(可选但强烈建议,需要禁用写入保护)。
- 不带有功能正常的传统启动模式的 ChromeOS 设备
- 刷写以下类型的自定义固件之一
- 刷写 RW_LEGACY 固件(零风险)
- 刷写 BOOT_STUB 固件(极低风险)。
- 刷写完整自定义固件(低风险)。
- 刷写以下类型的自定义固件之一
- 准备安装介质。
- 启动 Arch Linux 安装介质并安装 Arch。
启用开发者模式
开发者模式 是访问 ChromeOS 内部超级用户 shell 所必需的,这对于对系统进行更改(如允许通过 SeaBIOS 启动)是必需的。
要启用开发者模式
- 按住
Esc+⟳
键(F3
通常所在的位置),然后按电源
按钮。这将进入恢复模式。- Chromeboxes 有一个专用的恢复按钮,在开机时应按下/按住该按钮
- 按
Ctrl+d
(无提示)。它会要求您确认,然后系统将恢复其状态并启用开发者模式。
- 有时,按
Ctrl+d
会提示您关闭操作系统验证。执行此操作,然后再次按住Ctrl+d
,直到系统重新启动并显示开发者模式警告。 - 在白色启动画面中按
Ctrl+d
(或等待 30 秒以听到哔声并启动)以进入 ChromeOS。
访问超级用户 shell
启用开发者模式后,您需要访问超级用户 shell。如何执行此操作取决于您是否已配置 ChromeOS。
在不登录 ChromeOS 的情况下访问超级用户 shell
如果您尚未配置 ChromeOS,只需按 Ctrl+Alt+F2
(F2 是顶行上的“向前”箭头,→),您将看到一个登录提示符。
- 使用
chronos
作为用户名,它不应提示您输入密码。 - 使用 sudo 成为超级用户,使用命令
sudo su -
。
在登录 ChromeOS 的情况下访问超级用户 shell
sudo
命令。上述另一种方法是访问超级用户 shell 的唯一方法。如果您已配置 ChromeOS
- 使用
Ctrl+Alt+t
打开一个 crosh 窗口。 - 使用
shell
命令打开一个 bash shell。 - 使用 sudo 成为超级用户,使用命令
sudo su -
来完成此操作。
启用传统启动模式
如果您的 ChromeOS 设备不通过 SeaBIOS 支持传统启动模式,或者您更喜欢安装自定义固件,请继续 #刷写自定义固件。
这将通过 coreboot 中的开发者模式屏幕启用预安装版本的 SeaBIOS。
- 在您的超级用户 shell 中输入
# crossystem dev_boot_legacy=1
- 重启机器。
您现在可以通过在白色启动画面中按 Ctrl+l
来启动 SeaBIOS。
Ctrl+l
才能进入 SeaBIOS,则可以将 coreboot 设置为默认启动到 SeaBIOS。这需要禁用硬件固件写入保护。您现在应该在您的 ChromeOS 设备上启用了 SeaBIOS,如果您选择不将其设置为默认值,则可以继续 #安装 Arch Linux。
默认启动到 SeaBIOS
要默认启动 SeaBIOS,您需要运行 set_gbb_flags.sh 脚本,该脚本是 ChromeOS 的一部分。该脚本使用 flashrom 和 gbb_utility 读取 RO_GBB 固件区域,修改标志,然后将其写回闪存。GBB 标志也可以使用 MrChromebox 的 固件实用程序脚本 在 ChromeOS 或 Arch 下设置(后者需要使用特定的内核参数启动以放宽内存访问限制)。
dev_boot_legacy
crossystem 标志重置为其默认值,从而删除以传统启动模式启动的能力。虽然这曾经需要您恢复 Chrome OS 并擦除内部存储上的 Arch Linux 安装,但 GalliumOS 开发人员创建了一组“fixflags”恢复映像,这些映像不会擦除内部存储,而是简单地重新设置 dev_boot_legacy
crossystem 标志。请参阅 galliumos.org/fixflags- 禁用硬件写入保护。
- 要查找硬件写保护螺丝/开关/跳线的位置以及如何禁用它,请访问您的 ChromeOS 设备 的 ArchWiki 页面。如果 ArchWiki 上没有关于您的设备的信息,请查阅 ChromeOS 设备的开发者信息 和 coreboot 的 Chromebooks 页面。
- 有关固件保护的更多信息,请参见 Chrome OS 设备/自定义固件#固件写入保护。
- 切换到 超级用户 shell。
- 禁用软件写入保护。
# flashrom --wp-disable
- 检查写入保护是否已禁用。
# flashrom --wp-status
- 运行
set_gbb_flags.sh
,不带参数。
# /usr/share/vboot/bin/set_gbb_flags.sh
- 这将列出所有可用的标志。我们感兴趣的是以下标志
GBB_FLAG_DEV_SCREEN_SHORT_DELAY 0x00000001 GBB_FLAG_FORCE_DEV_SWITCH_ON 0x00000008 GBB_FLAG_FORCE_DEV_BOOT_LEGACY 0x00000080 GBB_FLAG_DEFAULT_DEV_BOOT_LEGACY 0x00000400
- 因此,要将 SeaBIOS 设置为默认值,超时时间为 1 秒,防止通过空格键意外退出开发者模式,并确保在电池耗尽/断开连接的情况下传统启动模式仍然启用,我们将标志设置为如下
# /usr/share/vboot/bin/set_gbb_flags.sh 0x489
- 重新启用软件写入保护。
# flashrom --wp-enable
您的 ChromeOS 设备现在将默认启动到 SeaBIOS,您可以继续 安装 Arch Linux,如果您的设备启动正常,您可以选择重新启用硬件写入保护。
刷写自定义固件
- 禁用硬件写入保护。
- 您将需要禁用硬件写入保护,可以使用开关、跳线或螺丝,或者断开电池连接。要了解如何禁用它,请访问您的 ChromeOS 设备 的 ArchWiki 页面。如果 ArchWiki 上没有关于您的设备的信息,请查阅 ChromeOS 设备的开发者信息 和 coreboot 的 Chromebooks 页面。
- 有关固件保护的更多信息,请参见 Chrome OS 设备/自定义固件#固件写入保护。
- 输入命令以运行 MrChromebox 或 John Lewis 的固件脚本。注意: 此处不发布原因是强制您访问该网站并在继续之前阅读说明。
- 退出脚本后,请务必在重新启动系统之前将备份的固件复制到外部存储(如果脚本未为您提供该选项)。
您现在应该在您的设备上安装了自定义固件,祈祷并重新启动。
刷写固件后,您可以继续 #安装 Arch Linux。
安装 Arch Linux
准备安装介质
创建一个 Arch Linux 安装程序 USB 驱动器。
启动安装介质
- 将 USB 驱动器插入 ChromeOS 设备,并在白色启动画面中按
Ctrl+l
启动 SeaBIOS(如果 SeaBIOS 未设置为默认值)。 - 按
Esc
以获取启动菜单,然后选择与您的 USB 驱动器对应的数字。
Arch Linux 安装程序启动菜单应出现,并且 安装 过程可以正常进行。
完成安装 Arch Linux 后,继续按照 安装后配置 进行操作。
安装后配置
打补丁的内核
建议对大多数 Chrome OS 设备使用官方 linux 软件包,但较新的设备可能需要打补丁的内核支持除外。
如果您的设备需要打补丁的内核,建议查看补丁列表,并确定补丁列表是否变得足够小,以至于您不再需要打补丁的内核,而是可以使用官方 linux 软件包。
有关更多信息,请参阅 内核。
视频驱动
请参阅 Intel graphics。
触摸板和触摸屏
请参阅 Touchpad Synaptics、libinput 和 Touchscreen。
触摸板和触摸屏内核模块
自内核 3.17 以来,所有相关的补丁都合并到上游源代码中,这意味着核心中的 linux 软件包支持这些设备。
如果您的触摸板或触摸屏不受支持怎么办?
- 不用担心,因为开发人员应该能够通过请求添加它,因为 Chromium OS 源代码包含相关的更改。
- 您也可以尝试自己查找相关的提交并创建适当的补丁,一些提示
- 深入研究您的 Chrome OS 系统,查看明显的嫌疑对象,如启动日志、
/proc/bus/input/devices
和/sys/devices
。 - Chromium OS 的 Linux 内核源代码位于 [6]。
- 最新 Chromium OS 版本的每个内核源代码都有自己的分支,命名约定:
release-R*-*-chromeos-KERNELVER
,其中R*-*
是 Chromium OS 版本,KERNELVER
是内核版本。 - 查看
drivers/platform
、drivers/i2c/busses
和drivers/input/touchscreen
的 git 日志。
- 深入研究您的 Chrome OS 系统,查看明显的嫌疑对象,如启动日志、
触摸板配置
有几种设置触摸板的方法
- 访问您的 Chromebook 型号的 ArchWiki 页面(请参阅 Chrome OS 设备/Chromebook)以获取触摸板 xorg.conf.d 文件。
- 使用 触摸板配置工具。
Chromium OS 输入驱动
xf86-input-cmtAUR 提供了 Chromium OS 输入驱动的端口:xf86-input-cmt 作为 Synaptics 输入驱动 的替代方案。它为大多数设备提供了经过调整的配置文件,并提供了 Synaptics 输入驱动 不具备的功能,例如掌托抑制。此外,它还启用了 Chromium OS 输入驱动中默认未启用的功能,例如点击拖动。
请注意,在 某些情况下,当您没有足够的权限访问 /dev/input/event
时,输入驱动程序无法工作。如果您使用 startx 加载 DE/WM 会话,这将影响您。如果是这种情况,或者驱动程序在任何其他情况下都无法加载,您应该运行
# usermod -a -G input $USER
其中 $USER 是想要使用输入驱动程序的当前用户。
还应注意的是,一些用户报告该驱动程序在 GDM 中无法工作,但在登录后可以正常工作。如果您受到此问题的影响,您应该运行
# usermod -a -G input gdm
重新启动后,您应该可以正常使用触摸板。
修复挂起
以下是修复挂起功能的说明。预安装 SeaBIOS 或 John Lewis 预构建 SeaBIOS 的用户将需要此修复程序。使用 Matt DeVillier 的自定义固件不需要此过程,因为有问题的 ACPI 唤醒设备(如 TPAD
)已在固件中禁用。
已经讨论了一些替代方案,这些方案可能更适合某些人。 [7] [8]
要修复挂起,总体的思路是禁用 EHCI_PCI 模块,该模块会干扰挂起周期。有多种方法可以实现此目的。
使用内核参数
将以下内容添加到您的 GRUB 配置中:-
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="modprobe.blacklist=ehci_pci"
然后 重建您的 grub 配置。重建 GRUB 配置后,重新启动您的计算机。
用户报告需要将 atmel_mxt_ts
和 cros_ec_typec
列入黑名单,而不是上面的模块,才能使挂起和恢复在通过 SeaBIOS 运行 Arch Linux 的第 11 代 Acer Chromebook CX5500 上工作。
使用 systemd
有时,Synaptics 触摸板和笔记本电脑的各种其他部件被用作唤醒设备,导致笔记本电脑在挂起期间的某些移动会结束挂起。为了禁用除笔记本电脑盖子传感器之外的所有唤醒设备,请创建以下 suspend-device-fix.sh
文件。
/usr/local/sbin/suspend-device-fix.sh
#!/bin/bash awk '{if ($1 != "LID0" && $3 == "*enabled") print $1}' < /proc/acpi/wakeup | while read NAME do echo "$NAME" > /proc/acpi/wakeup done exit 0
现在使该文件 可执行
创建一个 systemd 服务以在每次启动时执行该脚本。
/etc/systemd/system/suspend-fix.service
[Unit] Description=Suspend Fix [Service] Type=simple ExecStart=/usr/local/sbin/suspend-device-fix.sh [Install] WantedBy=multi-user.target
首先 启动 suspend-fix.service
。如果它正确启动,则 启用 它以在启动时启动。
在 /etc/rc.d/rc.local
的末尾添加以下行(如果它不存在,只需创建它)以防止 EHCI USB 的错误处理
/etc/rc.d/rc.local
echo 1 > /sys/devices/pci0000\:00/0000\:00\:1d.0/remove
然后,创建以下 cros-sound-suspend.sh
文件。下面仅列出了 Ath9k 绑定/取消绑定行;如果您遇到问题,请参阅上面链接的替代方案以获取其他声音挂起处理。
/usr/lib/systemd/system-sleep/cros-sound-suspend.sh
#!/bin/bash case $1/$2 in pre/*) # Unbind ath9k for preventing error and full sleep mode (wakeup by LID after hibernating) echo -n "0000:01:00.0" | tee /sys/bus/pci/drivers/ath9k/unbind # Unbind snd_hda_intel for sound echo -n "0000:00:1b.0" | tee /sys/bus/pci/drivers/snd_hda_intel/unbind echo -n "0000:00:03.0" | tee /sys/bus/pci/drivers/snd_hda_intel/unbind ;; post/*) # Bind ath9k for preventing error and and full sleep mode (wakeup by LID after hibernating) echo -n "0000:01:00.0" | tee /sys/bus/pci/drivers/ath9k/bind # bind snd_hda_intel for sound echo -n "0000:00:1b.0" | tee /sys/bus/pci/drivers/snd_hda_intel/bind echo -n "0000:00:03.0" | tee /sys/bus/pci/drivers/snd_hda_intel/bind ;; esac
确保使脚本 可执行。
然后 重建您的 grub 配置。
修复音频
基于 Apollolake 的型号
解决基于 Apollolake 型号音频问题的潜在方案是使用 SOF DSP 驱动程序,并通过固件重新定义音频处理管道中使用的拓扑。
这将很可能解决与未找到音频设备或内核缓冲区中与拓扑相关的错误有关的问题。
此拓扑由 Sound Open Firmware 维护者创建,并由 MrChromebox 测试(参见 Github 讨论)。正如 MrChromebox 所述,这可能会引入音频缩放问题(例如,音频输出范围为 0-10 而不是 0-100)以及不正确的音频输出设备类型(例如,耳机而不是扬声器)。
- 安装 sof-firmware。
- 下载并解压缩 sof-apl-da7219.tplg.gz。
- 将
.tplg
拓扑文件复制到/lib/firmware/intel/sof-tplg
。 - 通过使用 modprobe 或其他方法(例如,启动加载程序内核参数)编辑两个内核模块设置,手动选择 SOF DSP 驱动程序并指定 SOF 固件的备用路径。
/etc/modprobe.d/inteldspcfg.conf
options snd-intel-dspcfg dsp_driver=3 options snd-sof-pci fw_path="intel/sof"
基于 Baytrail 的型号
大多数 Baytrail 型号上的音频应该可以在 linux 上工作,因为修复已合并到 4.19.7 [9],以修复 4.18.15 中的回归,请参阅错误报告 [10]。
您可能还需要使用 alsa-utils 中的 alsamixer
来打开“Left Speaker Mixer Left DAC”和“Right Speaker Mixer Right DAC”。有关更多信息,请参阅 FS#48936。
如果您使用 max98090,您可能还需要安装 Sound Open Firmware 并将 /usr/lib/firmware/sof-cht-max98090.tplg
符号链接到 /usr/lib/firmware/sof-byt-max98090.tplg
。
基于 Haswell 的型号
以下一项或多项可能有助于解决音频相关问题,设置 snd_hda_intel
模块索引报告最有用。您很可能不需要进行任何更改。
- 创建
/etc/modprobe.d/alsa.conf
,选项index
将确保模拟输出是默认输出(而不是 HDMI),选项model
将通知驱动程序我们的主板型号,这将使内置麦克风可用(您可以尝试使用model=alc283-sense-combo
或model=,alc283-dac-wcaps
代替)。
/etc/modprobe.d/alsa.conf
options snd_hda_intel index=1 model=,alc283-chrome
- 使用来自 [11] 的
~/.asoundrc
文件。
- 如果耳机有问题(可能没有音频播放),请尝试在终端中执行
alsactl restore
(需要 alsa-utils)。现在,ALSA 应该在使用耳机/扬声器时自动切换通道。
热键
Chromebook 功能键 被内核识别为标准 F1-F10,最好将它们相应地映射到其外观。如果能获得 Chrome OS 中映射到 Alt+: BackSpace, Right, Left, Up, Down
的键 Delete, Home, End, PgUp, PgDown
也将很好。
使用 xkeyboard
xkeyboard-config 2.16-1 添加了一个 chromebook
模型,该模型为功能键启用 Chrome OS 样式的功能。例如,您可以使用 localectl set-x11-keymap us chromebook
进行设置。有关完整映射,请参阅 /usr/share/X11/xkb/symbols/inet
中的 chromebook
定义。
使用 keyd
keyd (keyd) 是一个强大的底层工具,可以拦截 evdev 事件,并允许以灵活的方式重新映射它们(例如,使用任意按键组合或允许在按键点击或按住时使用不同的行为)。与其他工具不同,选择的键是使用模拟的 evdev 设备发送的,因此它可以在 shell、X11 或 Wayland 上透明地工作。
主配置文件存储在 /etc/keyd/default.conf
上。要重新映射顶行,以便在单独按下时发送功能键事件,并在与 Meta 键一起按下时发送 F1-F10
,可以使用以下配置
/etc/keyd/default.conf
[ids] * [main] f1 = back f2 = forward f3 = f5 f4 = f11 f5 = M-f8 f6 = brightnessdown f7 = brightnessup f8 = mute f9 = volumedown f10= volumeup [meta] f1 = f1 f2 = f2 f3 = f3 f4 = f4 f5 = f5 f6 = f6 f7 = f7 f8 = f8 f9 = f9 f10= f10 left = home right = end up = pageup down = pagedown backspace = delete [shift] meta = capslock
最后几行允许将 Meta+<arrow>
重新映射到 Home
、End
、PgUp
、PgDown
,将 Meta+Backspace
重新映射到 Delete
,将 Shift+Meta
重新映射到 Capslock
。
要反转顶行行为(即默认情况下为 F1-F10
,与 Meta
一起按下时为多媒体键),只需移动两个节的内容即可
/etc/keyd/default.conf
[ids] * [meta] f1 = back f2 = forward f3 = f5 f4 = f11 f5 = M-f8 f6 = brightnessdown f7 = brightnessup f8 = mute f9 = volumedown f10= volumeup left = home right = end up = pageup down = pagedown backspace = delete [shift] meta = capslock
也可以使用其他键代替 Meta
,所有需要做的就是将节的名称更改为所需的键(例如,control
、alt
或 shift
代替 meta
)。
使用 Sxhkd
设置热键的一种方法是使用 Sxhkd 守护程序。除了 sxhkd 之外,这还需要 amixer、xorg-xbacklight 和 xautomation。
有关 ~/.config/sxhkd/sxhkdrc
中的示例配置,请参阅 [13]。
使用 Xbindkeys
配置热键的另一种方法是使用 Xbindkeys。除了 xbindkeys 之外,这还需要 amixer 和 xorg-xbacklight 和 xvkbdAUR。
- 有关
~/.xbindkeysrc
中的示例配置,请参阅 [14]。 - 有关另一个示例,请参阅 vilefridge 的 xbindkeys 配置。
备用 xbindkeys 配置
Volchange (源于 Debian User Forums))可以使用 PulseAudio 而不是使用 amixer 来操作音量。除了 Volchange 之外,这还需要 xorg-xbacklight 和 xvkbdAUR。
有关匹配的 ~/.xbindkeysrc
,请参阅 [16]。
修补 xkeyboard-config
另一种选择是安装 xkeyboard-config-chromebookAUR[broken link:未找到软件包],有关更多详细信息,请访问 [17]。
使用 gsettings set 在 GNOME 中映射
一些功能键可以在 Gnome 中映射,其优点是更改时有 HUD 通知(如音量和亮度更改),这可以补充上述映射方法之一。此链接示例映射了亮度和音量操作。请注意,需要 xdotool。
电源键和盖子开关处理
忽略使用 logind
开箱即用,systemd-logind
将捕获电源键和盖子开关事件并处理它们:它将在按下电源键时关闭 Chromebook,并在合上盖子时暂停。但是,鉴于电源键是键盘右上角的普通键,可能会被意外按下,因此此策略可能有点苛刻。
要配置 logind 以忽略电源键按下和盖子开关,请将以下行添加到 logind.conf
。
/etc/systemd/logind.conf
HandlePowerKey=ignore HandleLidSwitch=ignore
然后重启 logind 以使更改生效。
电源键和盖子开关事件仍将由 logind 记录到 journald。请参阅 电源管理#ACPI 事件。
被 Gnome 忽略
安装 gnome-tweaks,打开 Tweak Tool 并在“电源”下更改“电源按钮操作”。
已知问题
Syslinux
仔细按照 Syslinux 安装说明进行操作。尝试手动安装以查看问题出在哪里。如果您看到 Missing Operation System,则可能是因为您需要使用正确的引导加载程序二进制文件。如果 syslinux 不起作用,请尝试另一个引导加载程序,例如 GRUB。
参见
- Chrultrabook 社区驱动的站点,提供将 Chromebook 转换为 Ultrabook 的最新文档。
- Chromium Projects 站点上的 Chrome OS 设备开发者信息
- 关于 Acer C720 的 BBS 主题,其中包括关于基于 Haswell 的 Chromebook 的通用信息。
- Chrome OS 中的重新分区 [18],[19]