3个版本
0.1.2 | 2023年12月17日 |
---|---|
0.1.1 | 2023年3月25日 |
0.1.0 | 2020年9月1日 |
在 操作系统 类别中排名 167
在 memflow-kvm 中使用
10KB
119 行
memflow的KVM连接器和其驱动程序
这是一个基于内核的虚拟机的连接器,通过使用将所有KVM页面映射到memflow进程的驱动程序(用户空间 -> 用户空间DMA)实现。
memflow-kmod
包含执行这些操作的内核模块。
memflow-kvm-ioctl
为内核模块提供了基于Rust的IOCTL API。
memflow-kvm
提供了一个使用ioctl的memflow物理内存连接器。
设置
连接器
建议使用 memflowup。
内核模块
您的内核必须编译带有 CONFIG_KALLSYMS=y
和 CONFIG_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-ioctl
和 memflow-kvm
使用的是 MIT
许可证,但 memflow-kmod
仅在 GPL-2
许可证下。
无运行时依赖
~0–1.8MB
~36K SLoC