3个版本

0.1.2 2023年12月17日
0.1.1 2023年3月25日
0.1.0 2020年9月1日

操作系统 类别中排名 167


memflow-kvm 中使用

MIT 许可证

10KB
119

memflow的KVM连接器和其驱动程序

这是一个基于内核的虚拟机的连接器,通过使用将所有KVM页面映射到memflow进程的驱动程序(用户空间 -> 用户空间DMA)实现。

memflow-kmod 包含执行这些操作的内核模块。

memflow-kvm-ioctl 为内核模块提供了基于Rust的IOCTL API。

memflow-kvm 提供了一个使用ioctl的memflow物理内存连接器。

设置

连接器

建议使用 memflowup

内核模块

您的内核必须编译带有 CONFIG_KALLSYMS=yCONFIG_KALLSYMS_ALL=y 的kconfig。

稳定版本可在 发布 下找到。

Debian/Ubuntu软件包可以使用以下命令安装:sudo dpkg -i memflow-dkms_${VERSION}_amd64.deb,其中 VERSION 是下载的模块的版本。

对于其他发行版,运行以下命令

sudo dkms install --archive=memflow-${VERSION}-source-only.dkms.tar.gz

手动安装

连接器

使用 ./install.sh 安装连接器。这将编译连接器为发布模式并将其放置在 ~/.local/lib/memflow/ 目录下,然后可以通过memflow客户端访问它。如果您想供所有用户使用,请将底层的共享库复制到 /usr/local/lib/memflow/

内核模块

初始化子模块

git submodule update --init

运行 make。输出将被放置在 build/memflow.ko

常见问题解答

问:我遇到了这个警告

warning: couldn't execute `llvm-config --prefix` (error: No such file or directory (os error 2))
warning: set the LLVM_CONFIG_PATH environment variable to the full path to a valid `llvm-config` executable (including the executable itself)

答:这个警告无害,可以安全忽略。

许可说明

虽然 memflow-kvm-ioctlmemflow-kvm 使用的是 MIT 许可证,但 memflow-kmod 仅在 GPL-2 许可证下。

无运行时依赖

~0–1.8MB
~36K SLoC