在Linux上编译安装rEFInd的方法

rEFInd是macOS系统上的EFI启动管理器,它具有漂亮的图形界面和自动识别操作系统的功能。当然,它也能够在Linux系统上安装运行。

准备工作:

1、一台安装有Ubuntu 64位系统(必须用UEFI方式安装,本文用的是16.04.3版本)的计算机或虚拟机

2、必须安装build-essential软件包

3、下载软件(源代码):UDK 2017/gnu-efi 3.0.6/rEFInd 0.11.2

rEFInd有两种编译方法,一是UDK+rEFInd,二是gnu-efi+rEFInd。

编译安装gnu-efi+rEFInd(先从最简单的开始):

1、编译gnu-efi。文件解压缩过程就不讲了。打开终端,输入以下命令:

cd ~/Downloads/gnu-efi-3.0.6
make all
sudo make install

这样gnu-efi就编译安装好了。

2、准备编译rEFInd。

这里要改一个文件才能正常编译,否则会报错。

我们打开rEFInd目录下的Make.common文件,可以看到如下内容:

EFIINC          = /usr/include/efi
GNUEFILIB       = /usr/lib
EFILIB          = /usr/lib
EFICRT0         = /usr/lib

# Comment out above and uncomment below if using locally-compiled GNU-EFI....
#EFIINC          = /usr/local/include/efi
#GNUEFILIB       = /usr/local/lib
#EFILIB          = /usr/local/lib
#EFICRT0         = /usr/local/lib

我们把上面四行注释掉,然后把最下面四行取消注释,保存文件。

3、编译安装rEFInd。

最后我们输入以下命令,编译安装rEFInd:

cd ~/Downloads/refind-0.11.2
make all
sudo make install

rEFInd被安装到/boot/efi/EFI/refind目录下了,我们可以通过修改其中的refind.conf配置文件来定制一些启动选项。

至此,gnu-efi+rEFInd就编译安装好了。重启计算机或虚拟机看一下效果吧。

编译安装UDK+rEFInd:

1、编译UDK 2017。把UDK 2017解压到/usr/local目录下。解压过程也不讲了。输入以下命令:

cd /usr/local/edk2-vUDK2017
source edksetup.sh BaseTools

然后我们需要修改Conf/target.txt文件。 把文件里面的一些参数改成下面这样:

ACTIVE_PLATFORM = MdePkg/MdePkg.dsc
TARGET = RELEASE
TARGET_ARCH = X64
TOOL_CHAIN_TAG = GCC5
MAX_CONCURRENT_THREAD_NUMBER = 4

最后一个参数MAX_CONCURRENT_THREAD_NUMBER = 4,这个4指的是并行线程数,有几个逻辑CPU就改成几个吧,这样编译会快些。

再输入命令(这里我们先安装必须的python和uuid-dev软件包):

sudo apt-get install python uuid-dev
make -C BaseTools/Source/C
build

过一段时间就编译好了。

2、编译rEFInd。输入以下命令:

cd ~/Downloads/refind-0.11.2
make all
sudo make install

至此,UDK+rEFInd就编译安装好了。

猜你喜欢

转载自my.oschina.net/u/943779/blog/1557954