跳转至内容

Lenovo IdeaPad Flex 5 13IML05 Chromebook

来自 ArchWiki

本文或章节未遵循 笔记本电脑页面指南

原因: 缺少硬件信息、辅助功能、固件和功能键部分 (请在 Talk:Lenovo IdeaPad Flex 5 13IML05 Chromebook 讨论)
硬件 PCI/USB ID 是否工作?
GPU 8086:9b41
SSD 144d:a809
MicroSD 读卡器
键盘
键盘背光
WiFi 8086:02f0
蓝牙 8087:0026
扬声器 8086:02c8
麦克风
3.5mm 插孔 部分
触控板 06cb:cde1
触摸屏 27c6:0e32
触控笔 27c6:0e32 未测试
摄像头 174f:244f

安装

此 Chromebook 不支持传统启动模式。即使您尝试通过在开发者模式启动屏幕上按 CTRL+L 来调用它,它也会显示两个选项而没有选择。因此,有必要刷写自定义固件。

UEFI 固件刷写

警告
  • 此步骤依赖第三方脚本和固件,可能会损坏您的硬件或数据。
  • 执行此步骤后,将无法使用 ChromeOS (除非您刷回原始固件)。
  • 如果您决定在不连接电池的情况下启动以禁用固件写保护,请按照 官方手册 移除电池,并在刷写新固件之前不要重新连接。
  • 如果您的 Chromebook 已变成砖块,您可以尝试通过一个名为 SuzyQable 的特殊电缆来 刷写原始固件以修复
  1. 通过不连接电池启动或 使用 SuzyQable 来禁用固件写保护。
  2. 启用开发者模式.
  3. 使用 MrChromebox 的 固件工具脚本

Arch Linux 安装

警告

如果您计划使用 F2FS,请先阅读 电源管理问题

  • 使用 UEFI 兼容的引导加载程序 (例如 systemd-boot)。
  • SSD 磁盘是 /dev/nvme0n1

使用 auditctl(8) 来抑制每秒出现的审计消息。

# auditctl -e0

请遵循 安装指南

电源 management

截至 2022 年 1 月 20 日,Linux 内核 (5.16.1) 中的 电源管理已损坏。官方的 linux-lts (5.15.15) 包中也已损坏。

合上盖子、重启和关机时,Chromebook 会挂起。

可以使用旧内核 linux-lts510AUR 作为一种解决方法。

截至 5.19.16 或更早的内核版本,该问题似乎已解决。

盖子传感器

截至 5.19.16 或可能更早的内核版本,无论盖子是否关闭,盖子传感器都会导致系统在暂停后不久唤醒。

解决方法是禁用盖子传感器的唤醒事件。例如,一个 udev 规则

/etc/udev/rules.d/lid.rules
# Disable wakeups from lid sensor
ACTION=="add", SUBSYSTEM=="acpi", KERNEL=="PNP0C0D:00", ATTR{power/wakeup}="disabled"

声音

  • 3.5mm 插孔仅适用于耳机。所有情况下都将使用 Chromebook 的麦克风。
  • 连接到 3.5mm 插孔的耳机可能会有轻微的噪音,因此建议使用蓝牙。

安装以下软件包

使用 ALSA 配置文件描述声卡

/etc/asound.conf
# Devices for PulseAudio
pcm.speakers "hw:0,5"
pcm.microphone "plughw:0,1"
pcm.headphones "hw:0,0"

# Force ALSA based applications (e.g. speaker-test(1)) to use PulseAudio
pcm.!default pulse
ctl.!default pulse

强制 PulseAudio 使用上述定义的设备

/etc/pulse/default.pa.d/devices.pa
# This line is required for Bluetooth
load-module module-switch-on-connect

load-module module-alsa-sink device=speakers sink_name=speakers
load-module module-alsa-source device=microphone
load-module module-alsa-sink device=headphones sink_name=headphones

查找并删除或注释掉以下代码块以避免冲突

/etc/pulse/default.pa
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif

创建以下脚本以使用 acpid 自动切换输出设备,以支持 3.5mm 插孔

/etc/acpi/headphones_jack.sh
# License: 0BSD

#!/bin/bash

function get_active_pulseaudio_users_ids {
    active_pulseaudio_users_ids=`ps -C pulseaudio -o ruid=`
}

function set_up_environment {
    local user_id="$1"
    export HOME=`getent passwd $user_id | cut -d: -f6`
    export PULSE_RUNTIME_PATH="/var/run/user/$user_id/pulse"
}

function set_sink {
    local user_id="$1"
    local sink_name="$2"
    sudo -u "#$user_id" -E pacmd set-default-sink $sink_name
}

if [ "$2" == "HEADPHONE" ]; then
    get_active_pulseaudio_users_ids

    for user_id in $active_pulseaudio_users_ids; do
        set_up_environment $user_id
        if [ "$3" == "plug" ]; then
            set_sink $user_id "headphones"
        else
            set_sink $user_id "speakers"
        fi
    done
fi

使脚本可执行

将脚本注册为监听器

/etc/acpi/events/headphones_jack
event=jack/headphone
action=/etc/acpi/headphones_jack.sh %e

启用 acpid.service

重启后声音应正常工作。

触摸屏

截至 2022 年 1 月 12 日,Linux 内核 (5.15.13) 由于 一个错误,使用了错误的触摸屏模块。

因此,有必要阻止它

/etc/modprobe.d/blacklist.conf
blacklist elants_i2c

重启后,内核将加载正确的模块。

参见