跳转到内容

Libreboot/ThinkPad X60

来自维基教科书,开放世界中的开放书籍
注意:本指南将与官方 Libreboot 文档合并。请更新您的链接。
ThinkPad X60 Series.
ThinkPad X60、X60T 和 X60s。

ThinkPad X60 是第一款Libreboot 笔记本电脑,也是唯一一款所有主板都保证与 Libreboot 兼容的笔记本电脑系列(没有 ATI GPU,所有 LCD 屏幕都能开箱即用等)。

  • 所有 ThinkPad X60/X60s/X60 Tablet 主板都支持 Libreboot,因为它们都没有 ATI GPU。
  • ThinkPad X60 系列支持软件 BIOS 刷写。
    • 除非您意外地损坏 BIOS,否则无需进行硬件刷写。
  • 您必须在安装 Libreboot 之前安装 GNU/Linux。这里有一个FSF 批准的发行版列表。
  • 为了使用 FSF 批准的 GNU/Linux 发行版,您必须更换 Intel 3945abg WiFi 卡;因为它使用专有驱动程序。
    • 我们推荐使用 Atheros ath9k 无线 N miniPCI 卡。其他带有开源驱动程序的 WiFi 卡在 h-node 上列出。
    • 您需要拆下键盘和掌托才能更换 miniPCI 卡。如果您没有勇气这样做,只需购买一个 USB 适配器。
    • 在安装 Libreboot 之前不要插入新的 miniPCI 卡,否则您的笔记本电脑将无法启动(由于恼人的 miniPCI 白名单)。
    • 在安装 Libreboot 之前,您必须使用以太网线连接到互联网,或通过 USB 驱动器传输数据。

下载 Libreboot

[编辑 | 编辑源代码]
  1. 下载最新的 Libreboot 二进制文件.
  2. 打开终端并导航到下载文件夹(或其他任何位置)
  3. 解压缩 Libreboot 文件夹
    tar -xvf libreboot_bin.tar.gz 
  4. 导航到 libreboot_bin 文件夹
    cd libreboot_bin 

安装并创建依赖项

[编辑 | 编辑源代码]

flashrombucts 程序需要一些依赖项。使用 Libreboot 的 builddeb 脚本自动安装它们。

  • 对于基于 DEB 的发行版(Trisquel、Ubuntu、Debian 等)
  • sudo ./deps-trisquel
  • 对于基于 Arch 的发行版(Parabola、Arch Linux 等)
  • sudo ./deps-parabola
  • 其他 Linux 发行版需要自行找到相应的依赖项。

接下来,我们实际上必须从源代码构建 flashrombucts。Libreboot 开发人员制作了一个很好的构建脚本,可以自动执行此操作

sudo ./builddeps-flashrom
sudo ./builddeps-bucts

找到正确的 ROM

[编辑 | 编辑源代码]

libreboot_bin/ 中的 bin/ 文件夹下,有许多按主板分类的 Libreboot ROM。

选择与您的笔记本电脑键盘布局匹配的 ROM(美国或英国,QWERTY 或 DVORAK)。对于 ThinkPad,如果需要扩展坞和串行端口支持,请选择 serial ROM。

  • bin/x60/ - ThinkPad X60/X60s
  • bin/x60t/ - ThinkPad X60 Tablet

一旦您知道要使用哪个 ROM,请记住它的目录路径,以便在下一步中使用(例如 bin/x60/libreboot_serial_usqwerty.rom

查看官方 Libreboot 文档中的 ROM 部分,以获取最新的列表。

备份原始 BIOS

[编辑 | 编辑源代码]

如果您选择进行备份,请点击右侧的 [展开] 并按照说明操作。

  1. libreboot_bin/ 文件夹中,进入 flashrom/ 文件夹。
    cd flashrom 
  2. 运行这两个命令以将 BIOS 备份到 factory.bin(不要惊慌,没有任何内容被安装)
    sudo ./flashrom_lenovobios_sst -p internal -r factory.bin
sudo ./flashrom_lenovobios_macronix -p internal -r factory.bin 
  1. 如果在 flashrom/ 文件夹中创建了 factory.bin 文件,则 Lenovo BIOS 已成功备份。如果没有,请再次尝试这些命令。将此转储复制到安全的地方。
  2. 返回 libreboot_bin/ 文件夹。
    cd .. 

Libreboot 首次刷写

[编辑 | 编辑源代码]

如果您是在未修改的运行 Lenovo BIOS 的 ThinkPad 上首次刷写 Libreboot,则需要按照此特殊过程进行操作。

  1. 运行 Lenovo BIOS 的首次刷写脚本
    sudo ./lenovobios_firstflash bin/YOURBOARD/YOURROM
  2. 等待该过程完成。预计在刷写过程中会看到“严重错误”,但不要惊慌;继续执行下一步以检查刷写是否正确运行。
  3. 如果成功启用了 bucts 1,则会显示以下行。
    Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are swapped.
  1. 如果 flashrom 正确安装了 Libreboot,则会显示以下“错误”。输出必须非常相似(flashrom 的后续版本可能存在细微差别)。
    Reading old flash chip contents... done.
    Erasing and writing flash chip... spi_block_erase_20 failed during command execution at address 0x0
    Reading current flash chip contents... done. spi_block_erase_52 failed during command execution at address 0x0
    Reading current flash chip contents... done. Transaction error!
    spi_block_erase_d8 failed during command execution at address 0x1f0000
    Reading current flash chip contents... done. spi_chip_erase_60 failed during command execution
    Reading current flash chip contents... done. spi_chip_erase_c7 failed during command execution
    FAILED!
    Uh oh. Erase/write failed. Checking if anything changed.
    Your flash chip is in an unknown state.
  1. 如果“错误”与上述行非常接近,请关闭笔记本电脑(不要重新启动)。
  2. 等待几秒钟,然后启动。Libreboot 将启动。
  3. 如果正常菜单选项不起作用,请使用 在本地存储中搜索 GRUB 配置 选项。
  4. 启动到 Linux 后,继续执行Libreboot 第二次刷写

启用指点杆

[编辑 | 编辑源代码]

在一些罕见的 X60 变体中,指点杆鼠标可能无法开箱即用。不过不用担心,只需使用 Libreboot 包中的 nvramtool 启用它即可。

  1. 启动并登录 Linux。(你可能需要使用文本模式,找到键盘快捷键)
  2. 打开终端(以某种方式……不使用鼠标。希望你安装了 Yakuake!)
  3. 导航到 libreboot_bin/nvramtool 文件夹。
  4. 使用 make 构建 nvramtool
    make 
  5. 使用 nvramtool 启用 TrackPoint 鼠标。
    sudo ./nvramtool -w trackpoint=Enable 
  6. 重启笔记本电脑(使用 sudo reboot),TrackPoint 将被启用。如果仍然无法正常工作,请尝试以下命令
    sudo ./nvramtool -y ../../src/mainboard/lenovo/x60/cmos.layout -w trackpoint=Enable 

Libreboot 二次刷写

[编辑 | 编辑源代码]

现在 Libreboot 已经安装并运行,必须再次刷写以完全删除联想 BIOS。

  1. 打开终端并导航到 libreboot_bin 目录。
  2. 运行以下命令以再次刷写 Libreboot。
    sudo ./lenovobios_secondflash /path/to/libreboot.rom
  1. 如果 bucts 再次被设置为 0,则会显示以下行。如果它没有被设置为 0,请再次运行脚本。
    Updated BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is untranslated 
  2. 以下内容也应该显示,没有任何错误
    Verifying flash... VERIFIED. 
  3. 再次关机,等待几秒钟,然后启动。Libreboot 已成功安装。

更换 WiFi 卡

[编辑 | 编辑源代码]

如果你计划使用 Trisquel 或其他 FSF 批准的 GNU/Linux 发行版,则必须将 Intel mPCI wifi 卡替换为Atheros 无线 N mPCI 卡(10-15 美元)。

Intel 卡需要专有二进制文件,使掌托极度发热,并且仅支持较慢的 Wireless-G;因此,升级非常值得。

  1. 按照 X60/X60s 的本指南 或 HMM X60 平板电脑 来拆卸掌托。
  2. 拆卸 Intel 3945bgn WiFi 卡。
  3. 将其替换为 Atheros 无线 N MiniPCI 卡。

(需要更多信息和照片)

更新 Libreboot 或安装自定义 ROM

[编辑 | 编辑源代码]

将来,如果你想更新 X60 上的 Libreboot(或恢复出厂 BIOS),请按照此过程操作。

  1. 下载并解压最新的 Libreboot 二进制发行版。
  2. 打开终端,并导航到 libreboot_bin 目录。
  3. 运行以下命令以刷写你选择的 ROM
    sudo ./flash /path/to/libreboot.rom
  1. 以下内容应该显示,没有任何错误
    Verifying flash... VERIFIED. 
  2. 再次关机,等待几秒钟,然后启动。Libreboot 已成功更新。

消除高音尖啸声

[编辑 | 编辑源代码]

有时 CPU 可能会发出高音尖啸声,所以如果它让你感到困扰,请按照以下步骤消除它

安装 PowerTop

[编辑 | 编辑源代码]

^

首先,从软件库中安装 powertop

sudo apt-get install powertop

现在你可以使用此命令来消除噪音

sudo powertop --auto-tune

你也可以在不带参数的情况下运行它,然后进入“Tunables”并将所有内容设置为“Good”

Powertop - 在启动时自动启动(Trisquel 6)

[编辑 | 编辑源代码]

^

包含在 libreboot 发行版 中的是一个名为 powertop.trisquel6 的脚本。运行它,它将设置 powertop 在启动时使用 --auto-tune 运行。在你的文本编辑器中加载该文件以查看它是如何做到的。

./powertop.trisquel6

适用于 Arch Linux/Parabola 的 Powertop

[编辑 | 编辑源代码]
  1. 切换到 root 用户
    su - 
  2. 安装 powertop
    pacman -S powertop 
  3. 将以下内容添加到 /etc/systemd/system/powertop.service
[Unit]
Description=Powertop tunings

[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/bin/powertop --auto-tune
# "powertop --auto-tune" still needs a terminal for some reason. Possibly a bug?
Environment="TERM=xterm"

[Install]
WantedBy=multi-user.target

最后,在 systemd 中启用 powertop

    systemctl enable powertop
    systemctl start powertop

下次启动机器时,嗡嗡声就会消失。

Powertop 无法从文件加载

[编辑 | 编辑源代码]

Powertop 不会立即生效,它必须在实施其功能之前收集测量数据,这些数据将存储在 /var/cache/powertop/saved_parameters.powertop 中。让笔记本电脑在电池供电下运行一段时间,Powertop 最终会找出解决方法。

华夏公益教科书