Libreboot/ThinkPad X60
- 注意:本指南将与官方 Libreboot 文档合并。请更新您的链接。
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 二进制文件.
- 打开终端并导航到下载文件夹(或其他任何位置)
- 解压缩 Libreboot 文件夹
tar -xvf libreboot_bin.tar.gz
- 导航到
libreboot_bin
文件夹cd libreboot_bin
flashrom
和 bucts
程序需要一些依赖项。使用 Libreboot 的 builddeb
脚本自动安装它们。
- 对于基于 DEB 的发行版(Trisquel、Ubuntu、Debian 等)
sudo ./deps-trisquel
- 对于基于 Arch 的发行版(Parabola、Arch Linux 等)
sudo ./deps-parabola
- 其他 Linux 发行版需要自行找到相应的依赖项。
接下来,我们实际上必须从源代码构建 flashrom
和 bucts
。Libreboot 开发人员制作了一个很好的构建脚本,可以自动执行此操作
sudo ./builddeps-flashrom sudo ./builddeps-bucts
在 libreboot_bin/
中的 bin/
文件夹下,有许多按主板分类的 Libreboot ROM。
选择与您的笔记本电脑键盘布局匹配的 ROM(美国或英国,QWERTY 或 DVORAK)。对于 ThinkPad,如果需要扩展坞和串行端口支持,请选择 serial
ROM。
bin/x60/
- ThinkPad X60/X60sbin/x60t/
- ThinkPad X60 Tablet
一旦您知道要使用哪个 ROM,请记住它的目录路径,以便在下一步中使用(例如 bin/x60/libreboot_serial_usqwerty.rom
)
查看官方 Libreboot 文档中的 ROM 部分,以获取最新的列表。
虽然备份专有 BIOS 映像可能被解释为“认可”专有软件:此 BIOS 映像对每个主板都是唯一的。一旦丢失,将无法恢复原始 BIOS。现在就备份,否则您将永远丢失它。请勿轻率地做出此决定。 |
如果您选择进行备份,请点击右侧的 [展开]
并按照说明操作。
- 从
libreboot_bin/
文件夹中,进入flashrom/
文件夹。cd flashrom
- 运行这两个命令以将 BIOS 备份到
factory.bin
(不要惊慌,没有任何内容被安装)sudo ./flashrom_lenovobios_sst -p internal -r factory.bin
sudo ./flashrom_lenovobios_macronix -p internal -r factory.bin
- 如果在
flashrom/
文件夹中创建了factory.bin
文件,则 Lenovo BIOS 已成功备份。如果没有,请再次尝试这些命令。将此转储复制到安全的地方。 - 返回
libreboot_bin/
文件夹。cd ..
有关此过程工作原理的详细说明,请参阅Coreboot Wiki。 |
如果您是在未修改的运行 Lenovo BIOS 的 ThinkPad 上首次刷写 Libreboot,则需要按照此特殊过程进行操作。
将以下命令中的 bin/YOURBOARD/YOURROM 替换为您选择的 ROM 的路径。 |
- 运行 Lenovo BIOS 的首次刷写脚本
sudo ./lenovobios_firstflash bin/YOURBOARD/YOURROM
- 等待该过程完成。预计在刷写过程中会看到“严重错误”,但不要惊慌;继续执行下一步以检查刷写是否正确运行。
- 如果成功启用了
bucts 1
,则会显示以下行。Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are swapped.
如果BUC.TS 1未启用,请勿继续,请勿关闭笔记本电脑。再次运行刷写脚本。 |
- 如果
flashrom
正确安装了 Libreboot,则会显示以下“错误”。输出必须非常相似(flashrom
的后续版本可能存在细微差别)。
如果“错误”不匹配,请勿继续,请勿关闭笔记本电脑。再次运行脚本。如果输出仍然不匹配,则说明出现了一些问题;重新安装 factory.bin 映像并重新开始。 |
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.
- 如果“错误”与上述行非常接近,请关闭笔记本电脑(不要重新启动)。
- 等待几秒钟,然后启动。Libreboot 将启动。
- 如果正常菜单选项不起作用,请使用
在本地存储中搜索 GRUB 配置
选项。 - 启动到 Linux 后,继续执行Libreboot 第二次刷写。
如果您启动后什么也看不到,请尝试使用 Fn+Home 调高背光。对于 ThinkPad X60 型号,如果在背光最大时调高背光时背光重置为零,请查阅 Libreboot 的TFT 亮度指南。 |
如果笔记本电脑已打开,但根本无法启动;并且没有任何声音或生命迹象,则 Libreboot 可能刷写错误。仍然可以通过禁用 bucts 1 返回到 Lenovo BIOS。拆卸笔记本电脑并拔下 CMOS 电池至少 5 秒钟。重新插入 CMOS,重新组装笔记本电脑并打开它。Lenovo BIOS 应该会显示,但您需要在 BIOS 设置中设置时间。启动到 Linux,并立即从步骤 1 重新开始。 |
如果笔记本电脑在打开时发出三声响亮的蜂鸣声,则表示它已被完全损坏。需要硬件 BIOS 刷写器才能将其恢复到工作状态。我们建议从 eBay 上购买一个 40 美元的 Bus Pirate 和一个 20 美元的 8 针 Pomona 夹。 |
在一些罕见的 X60 变体中,指点杆鼠标可能无法开箱即用。不过不用担心,只需使用 Libreboot 包中的 nvramtool
启用它即可。
- 启动并登录 Linux。(你可能需要使用文本模式,找到键盘快捷键)
- 打开终端(以某种方式……不使用鼠标。希望你安装了 Yakuake!)
- 导航到
libreboot_bin/nvramtool
文件夹。 - 使用
make
构建nvramtool
。make
- 使用
nvramtool
启用 TrackPoint 鼠标。sudo ./nvramtool -w trackpoint=Enable
- 重启笔记本电脑(使用
sudo reboot
),TrackPoint 将被启用。如果仍然无法正常工作,请尝试以下命令sudo ./nvramtool -y ../../src/mainboard/lenovo/x60/cmos.layout -w trackpoint=Enable
现在 Libreboot 已经安装并运行,必须再次刷写以完全删除联想 BIOS。
- 打开终端并导航到
libreboot_bin
目录。 - 运行以下命令以再次刷写 Libreboot。
sudo ./lenovobios_secondflash /path/to/libreboot.rom
将以下命令中的 bin/YOURBOARD/YOURROM 替换为您选择的 ROM 的路径。 |
- 如果
bucts
再次被设置为0
,则会显示以下行。如果它没有被设置为 0,请再次运行脚本。Updated BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is untranslated
- 以下内容也应该显示,没有任何错误
Verifying flash... VERIFIED.
- 再次关机,等待几秒钟,然后启动。Libreboot 已成功安装。
如果你对拆开你的 ThinkPad 犹豫不决,你可以直接购买一个 来自 ThinkPenguin 的 Atheros WiFi USB 适配器。 当然,该适配器会占用你宝贵的 USB 端口之一…… |
如果你计划使用 Trisquel 或其他 FSF 批准的 GNU/Linux 发行版,则必须将 Intel mPCI wifi 卡替换为Atheros 无线 N mPCI 卡(10-15 美元)。
Intel 卡需要专有二进制文件,使掌托极度发热,并且仅支持较慢的 Wireless-G;因此,升级非常值得。
- 按照 X60/X60s 的本指南 或 HMM X60 平板电脑 来拆卸掌托。
- 拆卸 Intel 3945bgn WiFi 卡。
- 将其替换为 Atheros 无线 N MiniPCI 卡。
(需要更多信息和照片)
将来,如果你想更新 X60 上的 Libreboot(或恢复出厂 BIOS),请按照此过程操作。
- 下载并解压最新的 Libreboot 二进制发行版。
- 打开终端,并导航到
libreboot_bin
目录。 - 运行以下命令以刷写你选择的 ROM
sudo ./flash /path/to/libreboot.rom
将以下命令中的 bin/YOURBOARD/YOURROM 替换为您选择的 ROM 的路径。 |
- 以下内容应该显示,没有任何错误
Verifying flash... VERIFIED.
- 再次关机,等待几秒钟,然后启动。Libreboot 已成功更新。
有时 CPU 可能会发出高音尖啸声,所以如果它让你感到困扰,请按照以下步骤消除它
首先,从软件库中安装 powertop
sudo apt-get install powertop
现在你可以使用此命令来消除噪音
sudo powertop --auto-tune
你也可以在不带参数的情况下运行它,然后进入“Tunables”并将所有内容设置为“Good”
包含在 libreboot 发行版 中的是一个名为 powertop.trisquel6
的脚本。运行它,它将设置 powertop 在启动时使用 --auto-tune 运行。在你的文本编辑器中加载该文件以查看它是如何做到的。
./powertop.trisquel6
- 切换到 root 用户
su -
- 安装 powertop
pacman -S powertop
- 将以下内容添加到
/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 不会立即生效,它必须在实施其功能之前收集测量数据,这些数据将存储在 /var/cache/powertop/saved_parameters.powertop
中。让笔记本电脑在电池供电下运行一段时间,Powertop 最终会找出解决方法。