树莓派

在Raspberry Pi 3 上启用KVM虚拟化

luobo · 2月12日 · 2019年 ·

文章前言

这片文章主要介绍如何在Raspberry Pi 3 上启用KVM虚拟化,KVM是一种加速器,可以与QEMU一起使用,以更快的速度运行与主机相同的架构。在x64 PC平台上,如果CPU支持,我们可以在BIOS中启用它(我知道某些Intel Atom CPU是没有的)。但是,Pi没有BIOS,并且没有启用KVM的config.txt选项。因此,要在Raspberry Pi 3上获得KVM加速,您需要编译一个支持KVM的64位(ARMv8)内核(据我所知,KVM还不支持ARMv7)。

编译准备

安装构建依赖项:

sudo apt install bc build-essential gcc-aarch64-linux-gnu git unzip libncurses5-dev bison flex libssl-dev

下载内核源代码:

git clone --depth=1 https://github.com/raspberrypi/linux
Cloning into 'linux'...
remote: Enumerating objects: 65816, done.
remote: Counting objects: 100% (65816/65816), done.
remote: Compressing objects: 100% (59145/59145), done.
remote: Total 65816 (delta 6920), reused 19911 (delta 5698), pack-reused 0
Receiving objects: 100% (65816/65816), 174.48 MiB | 6.18 MiB/s, done.
Resolving deltas: 100% (6920/6920), done.
Checking out files: 100% (61883/61883), done.

设置内核:

cd linux
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcmrpi3_defconfig

启用KVM:

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig

使用方向键导航menuconfig。找到Virtualisation虚拟化选项,并使用空格键启用它。按Enter进入虚拟化选项菜单。使用空格键选中启用所有项。使用Tab键选择“保存”并按Enter键,然后将配置保存为.config

现在,找出您拥有的CPU核心数量。在终端输入nproc,您将获得一个号码。将该数字乘以1.5。然后运行以下命令,将nproc乘以1.5后得到的数字替换为6:

make -j 6 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

无论您的PC电脑性能有多强大,这都需要一段时间。完成后,将Pi的microSD卡或USB存储器的ext4分区(分区2)安装到/mnt,将Pi的microSD卡或USB存储器的FAT32分区(分区1)安装到/mnt/boot。

然后运行:

sudo cp arch/arm64/boot/Image /mnt/boot/kernel8.img
sudo make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu INSTALL_MOD_PATH=/mnt modules_install

从PC上取下microSD卡或USB存储设备并将其插入Pi,然后打开Pi。KVM应该可用。要验证这一点,请运行:

dir /dev

如果有现实/dev/kvm,则可以使用KVM加速。

1 条回应
  1. nginx 2019-2-16 · 20:34

    网站界面做的不错啊,内容太少了。