免责声明
在您的设备上安装 Libreboot 可能会使其保修失效,并且如果操作不当可能会导致不可逆转的损坏。请谨慎操作,自行承担风险。我提供本教程“按原样”进行,没有任何明示或暗示的保证。我对因遵循这些说明而可能产生的任何损坏或问题不承担任何责任。使用本教程即表示您承认了解相关风险,并免除我对可能导致的任何索赔或损害的责任。请确保备份您的数据,并为潜在的并发症做好准备。
提醒
- 在性能方面,HP Elitebook 820 G2 是目前 Libreboot 支持的最佳型号。然而,如果您追求自由,这个型号不应是您的选择,因为尽管安装了 Libreboot,仍然保留了大量专有代码。请考虑 ThinkPad X200,并参考 本指南 。
- 这只是一个简要参考,而不是全面的逐步指南。正如 Libreboot 项目所说,HP Elitebook 820 G2 是一个非常难以刷写的机器,在撰写本教程之前,我也经历过失败。请参考官方文档,如果遇到问题,请咨询 Libera.Chat 上的 #libreboot。
教程
再次强调,本教程并不全面,强烈建议同时参考官方指南:https://libreboot.org/docs/install/hp820g2.html
1. 构建 ROM
请参考本指南:https://libreboot.org/docs/build/
推荐使用 Debian GNU/Linux 12。请不要使用 Sid,否则您会遇到错误;如果您没有设置 Debian GNU/Linux 12,请使用 QEMU 和 AQEMU 设置虚拟机。
2. 将 MAC 地址写入要刷写的 ROM
从 coreboot 仓库
构建 idftool
,并从 Libreboot 仓库
构建 nvmutil
。
$ git clone https://github.com/coreboot/coreboot
$ cd coreboot/util/ifdtool
$ make
$ cd ../../..
$ git clone https://codeberg.org/libreboot/lbmk
$ cd libreboot/util/nvmutil
$ make
$ cd ../../..
根据您要使用的版本(如果您不知道自己在做什么,请不要使用 txtmode
ROM,否则您会遇到图形渲染问题),选择一个 ROM 文件并写入 MAC 地址。
$ ./coreboot/util/ifdtool/ifdtool -x seaxxxx_hp820g2_12mb_libgfxinit_corebootfxxxx.rom
$ ./libreboot/util/nvmutil/nvm flashregion_3_gbe.bin setmac
$ ./coreboot/util/ifdtool/ifdtool -i gbe:flashregion_3_gbe.bin seaxxxx_hp820g2_12mb_libgfxinit_corebootfxxxx.rom
这将生成一个新的 *.rom.new
文件。
有关详细信息,请参考本指南:https://libreboot.org/docs/install/nvmutil.html
3. 扩展生成的 *.rom.new
文件
$ dd if=/dev/zero of=4mb.bin bs=4M count=1
$ cat seaxxxx_hp820g2_12mb_libgfxinit_corebootfxxxx.rom.new 4mb.bin > libreboot16.rom
4. 了解您的芯片和闪存
在您的主板上有 2 个芯片:一个 2MB 的私有芯片和一个 16MB 的系统芯片。

请找到每个芯片角落的一个点,这个点表示引脚 1。
首先备份这两个芯片。
2MB 的私有芯片用于验证原厂 BIOS,我们需要做的就是把那个该死的 暴君 芯片搞坏:
# flashprog -p PROGRAMMER --erase
重复此步骤 2-3 次。
然后像这样刷写扩展的 ROM:
# flashprog -p PROGRAMMER --ifd -i gbe -w libreboot16.rom --noverify-all
# flashprog -p PROGRAMMER --ifd -i bios -w libreboot16.rom --noverify-all
# flashprog -p PROGRAMMER --ifd -i me -w libreboot16.rom --noverify-all
# flashprog -p PROGRAMMER --ifd -i fd -w libreboot16.rom --noverify-all
最后再次擦除暴君私有芯片:
# flashprog -p PROGRAMMER --erase
5. 完成
装回电池,您应该立即在屏幕上看到一只快乐跳跃的鹿,是时候享受了 ^_^
如果没有,请检查您是否准确完成了步骤,如果有任何问题,请咨询 Libera.Chat 上的 #libreboot。