文章前言
这片文章主要介绍如何在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加速。
您好,我在执行最后一步的时候提示:aarch64-linux-gnu-gcc command not found. 但是我已经安装了第一步所有的依赖。请问这该如何解决?
网站界面做的不错啊,内容太少了。