|
本帖最后由 Cherub 于 2022-5-2 14:03 编辑
最近在研究fydeos(ChromeOS衍生系统)的启动配置文件,因为想自己自己生成一个bootx64.efi同时引导别的系统,想看看fydeos这个grub2使用了哪些模块。别的命令和对应的模块都找到了,就是这个“gptpriority”不知道是什么意思,也找不到对应的模块,自己生成的引导程序是没法执行这个命令的,还请大佬解答。
##2022年5月2日该问题已解决,感谢wintoflash大佬提示:
gptpriority命令是一个在grub2下用于获取GPT分区相关参数的命令,最早是谷歌程序员在开发ChromeOS时所写,用于在引导ChromeOS时自动切换A/B分区。这个命令以模块的形式添加到grub2,并不包含在官方项目内,如果你想把此命令加入自己的grub2中,你需要重新编译项目,以Ubuntu20.04环境为例:
1.搭建环境
- sudo -E apt-get -y install build-essential python iasl lzop unifont autopoint autoconf bison flex gettext gcc-mingw-w64
复制代码
2.同步代码
- git clone https://git.savannah.gnu.org/git/grub.git
复制代码
3.下载补丁文件Forward-port-gptpriority-command-to-GRUB-2.00.patch置于grub同级目录
Forward-port-gptpriority-command-to-GRUB-2.00.zip
(2.8 KB, 下载次数: 9)
4.将gptpriority补丁合并到项目中
- cd grub
- for p in ../*.patch; do patch -p1 < $p; done
复制代码
5.配置和编译项目(以x86_64架构为例)
- ./bootstrap
- ./configure --prefix=/opt/grub --with-platform=efi --target=x86_64 --disable-werror
- sudo make install
复制代码
6.定制efi启动文件(以启动fydeos为例)
- /opt/grub/bin/grub-mkimage -O x86_64-efi -p /EFI/fydeos -o bootx64.efi part_gpt part_msdos normal search loopback fat ext2 linux test gptpriority boot all_video gfxterm
复制代码
|
|