WeHack BBS
x230 软刷 coreboot 的一些疑问 - 可打印的版本

+- WeHack BBS (https://bbs.wehack.space)
+-- 版块: 计算机技术 (https://bbs.wehack.space/forum-5.html)
+--- 版块: 固件技术讨论区 (https://bbs.wehack.space/forum-8.html)
+--- 主题: x230 软刷 coreboot 的一些疑问 (/thread-365.html)



x230 软刷 coreboot 的一些疑问 - jackyhammer - 04-30-2023

翻 coreboot 文档的时候发现 Ivy bridge 主板的 thinkpad 支持 software flashing. 我正好手头有一台 x230, 之前就想要把 BIOS 换成 coreboot, 但没有(也不想买)编程器来进行硬刷. 现在打算软刷 x230, 但是还有些疑问:
  1. 对于一个 end user 而言, 是推荐自己 compile coreboot 然后 flashrom 还是用编译好的如 Skull, libreboot 这种发行版? 哪种 payload 比较适合新手?
  2. coreboot 对于 windows 的支持怎么样? 我可以用 GRUB2 做 payload, 然后用 GRUB2 做 win10 的 bootloader 吗? 还是想要 win10 支持的话只能用 SeaBIOS + vgabios.bin?
  3. 如果我搞砸了(变砖), 还有用硬刷方法挽回的余地吗?
Any help would be appreciated.


RE: x230 软刷 coreboot 的一些疑问 - vimacs - 04-30-2023

1. 你可以先用编译好的发行版体验,使用哪种payload取决于你原来使用的系统如何引导,对于 GNU/Linux 来说,SeaBIOS, Tianocore, GRUB 都没问题,Windows 的用 Tianocore 比较好,SeaBIOS+vgabios 也可以。
2. GRUB2 作为 coreboot payload 不能引导 Windows,所以建议是用 Tianocore. 想折腾的话也可以看看从 Linux 内核引导 Windows 的方法 https://github.com/osresearch/safeboot-loader.
3. 可以。


RE: x230 软刷 coreboot 的一些疑问 - jackyhammer - 05-01-2023

引用:vimacs1. 你可以先用编译好的发行版体验,使用哪种payload取决于你原来使用的系统如何引导,对于 GNU/Linux 来说,SeaBIOS, Tianocore, GRUB 都没问题,Windows 的用 Tianocore 比较好,SeaBIOS+vgabios 也可以。
  1. GRUB2 作为 coreboot payload 不能引导 Windows,所以建议是用 Tianocore. 想折腾的话也可以看看从 Linux 内核引导 Windows 的方法 [/url][url=https://github.com/osresearch/safeboot-loader]https://github.com/osresearch/safeboot-loader.
  2. 可以。
谢谢! 请问
  1. 软刷只能写入 bios 区域而不能写入 fd 和 me. 但我想知道在刷入 coreboot 之后能不能获得 fd 和 me 的写入权限?
  2. 还是关于 payload. 我很好奇为什么 GRUB2 做 payload 不能引导 windows. 有很多 UEFI 下 GRUB2 引导 win10 的例子. 为什么 coreboot 这里就不行了呢? 另外我还在 coreboot 的旧文档中看到
引用:Tested: Windows (through GRUB-as-payload loading SeaBIOS image from disk; you have to use extracted VGA blob, dumped from memory isn't good enough)
我在油管上看到有人用 1vyrain 成功安装了 Skull, 1vyrain 的 readme 也提到它支持 coreboot, 但相关的说明太少了,,,


RE: x230 软刷 coreboot 的一些疑问 - vimacs - 05-02-2023

(05-01-2023, 01:53 AM)jackyhammer 提到:
引用:vimacs1. 你可以先用编译好的发行版体验,使用哪种payload取决于你原来使用的系统如何引导,对于 GNU/Linux 来说,SeaBIOS, Tianocore, GRUB 都没问题,Windows 的用 Tianocore 比较好,SeaBIOS+vgabios 也可以。
  1. GRUB2 作为 coreboot payload 不能引导 Windows,所以建议是用 Tianocore. 想折腾的话也可以看看从 Linux 内核引导 Windows 的方法 [/url][url=https://github.com/osresearch/safeboot-loader]https://github.com/osresearch/safeboot-loader.
  2. 可以。
谢谢! 请问
  1. 软刷只能写入 bios 区域而不能写入 fd 和 me. 但我想知道在刷入 coreboot 之后能不能获得 fd 和 me 的写入权限?
  2. 还是关于 payload. 我很好奇为什么 GRUB2 做 payload 不能引导 windows. 有很多 UEFI 下 GRUB2 引导 win10 的例子. 为什么 coreboot 这里就不行了呢? 另外我还在 coreboot 的旧文档中看到
引用:Tested: Windows (through GRUB-as-payload loading SeaBIOS image from disk; you have to use extracted VGA blob, dumped from memory isn't good enough)
我在油管上看到有人用 1vyrain 成功安装了 Skull, 1vyrain 的 readme 也提到它支持 coreboot, 但相关的说明太少了,,,

1. 不能,因为各个区域的写入权限是在 fd 里设置的,要改变写入权限只能改 fd,改 fd 需要用编程器。
2. UEFI 下用 GRUB2 引导系统,本质上还是调用了 UEFI 的服务,作为 coreboot payload 没办法调用 UEFI 的服务。用 GRUB 引导 SeaBIOS 是可以的,这个和用 SeaBIOS payload 一样。
3.1vyrain 就是一套软件刷写的解决方案,用的方法和 coreboot 文档里说的是一样的。