grub2 编译efi

如何编译loongnix1.0系统里的BOOTMIPS.EFI ?

1、解压源码包

# mkdir  grub-test
# cp grub2-2.02-0.40.fc21.loongson.13.src.rpm  grub-test
# cd grub-test 
# rpm2cpio grub2-2.02-0.40.fc21.loongson.13.src.rpm  | cpio -div

2、将压缩包中的补丁打入源码中

# tar xf grub-2.02.tar.xz 
# cp *.patch grub-2.02/
# cd grub-2.02
# git apply *.patch

3、执行配置脚本

# ./autogen.sh 
# ./configure --prefix=/usr --sysconfdir=/etc --disable-werror

–prefix 指定编译结果目录。
–sysconfdir 指定生成配置目录。
–disable-werror 将编译过程中的警告不归结到error中去。
4、编译

# make

5、安装

make install

6、制作一个BOOT.EFI可启动镜像

#grub2-mkimage -O mips64el-efi -d ./grub-core/ -p /boot/EFI/BOOT/ -o BOOTMIPS.EFI boot reboot linux part_gpt part_msdos disk fat exfat ext2 ntfs xfs hfs iso9660 normal search_fs_file configfile chain loopback echo efi_gop file gfxterm gfxterm_background gfxterm_menu halt help ls png true
UEFI启动是通过/boot/EFI/BOOT/xxxx.EFI来启动grub引导。
参数解析如下:

-d 表示指定查找模块目录
-p 设置gurb目标文件的文件夹,cfg文件中会调用。
-o 表示生成的目标文件
-O 表示集成的平台模块
BOOTMIPS.EFI后面全是命令模块,可以根据自己的需求进行添加。

7、拷贝到指定位置

# cp BOOTMIPS.EFI /boot/EFI/BOOT/
# reboot

重启就可以使用新编译的BOOTMIPS.EFI进行引导内核启动了。

8、grub.cfg修改启动主要配置项解析

配置项 解析
default 指grub启动时默认菜单项,表示默认从哪个菜单启动。默认配置为0。
timeout 指菜单到自动启动系统前停留时间,单位时间为sec。
title 指一个启动操作系统的名称。
root 指相应内核镜像所在目录boot所在的磁盘分区 如:root=‘hd0,msdos1’。
linux 指boot目录下内核镜像的名称。
initrd 指linux的initial ramdisk在boot目录下的名称。
boot 指引导内核进行启动。
9、补充gurb2命令说明

命令 说明
grub2-editenv 编译环境块工具
grub2-mkfont 设置grub2使用的字体
grub2-mkimage 生成一个gurb的可启动镜像
grub2-mkrescue 生成一个适用于软盘的grub的可启动镜像
grub2-install 在磁盘上安装grub
grub2-mkconfig 生成grub配置文件
grub2-mkdevicemap 生成一个新的device map文件
grub2-probe 扫描计算机收集磁盘和分区信息
grub2-set-default 配置默认启动项
grub2-reboot 配置重启之后的默认启动项

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值