hypervisor-playground
所属分类:虚拟化
开发工具:Makefile
文件大小:0KB
下载次数:0
上传日期:2023-10-10 20:31:42
上 传 者:
sh-1993
说明: 玩虚拟机管理程序,在被模拟的主机内运行客户机,
(Playing with hypervisor, running guest machines inside a host machine being emulated,)
文件列表:
Makefile (3444, 2023-11-17)
guest-rootfs.Dockerfile (757, 2023-11-17)
host-rootfs.Dockerfile (1332, 2023-11-17)
linux-6.5.9-ctsi-y-v0.18.0.bin (15432200, 2023-11-17)
linux-nobbl-6.5.9-ctsi-y-v0.18.0.bin (13335040, 2023-11-17)
# Hypervisor playground
Experiments with Cartesi Machine, QEMU and RISC-V Hypervisor extension.
Make sure you have QEMU >= 8.1+, and latest Cartesi Machine.
## Compile rootfs
Make sure you have Docker with RISC-V 64 support and our patched genext2fs available first.
```bash
# Compile host rootfs and guest rootfs
make all
```
## Host Shell
Host shell for running guest machines manually.
```shell
# Cartesi Machine as host emulator
make host-run HOST_EMU=cemu
# QEMU as host emulator
make host-run HOST_EMU=qemu
```
## Guest Shell
Guest shell for testing a guest machine.
```shell
# Cartesi Machine as host emulator, LKVM as guest emulator
make guest-run HOST_EMU=cemu GUEST_EMU=lkvm
# Cartesi Machine as host emulator, QEMU as guest emulator
make guest-run HOST_EMU=cemu GUEST_EMU=qemu
# QEMU as host emulator, LKVM as guest emulator
make guest-run HOST_EMU=qemu GUEST_EMU=lkvm
# QEMU as host emulator, QEMU as guest emulator
make guest-run HOST_EMU=qemu GUEST_EMU=qemu
```
By default `HOST_EMU` is `cemu` and `GUEST_EMU` is `lkvm`.
## Guest Commands
You can test guest commands by setting GUEST_CMD:
```shell
# Cartesi Machine as host emulator, LKVM as guest emulator
make guest-run HOST_EMU=cemu GUEST_EMU=lkvm GUEST_CMD="echo HELLO FROM GUEST"
# Cartesi Machine as host emulator, QEMU as guest emulator
make guest-run HOST_EMU=cemu GUEST_EMU=qemu GUEST_CMD="echo HELLO FROM GUEST"
# QEMU as host emulator, LKVM as guest emulator
make guest-run HOST_EMU=qemu GUEST_EMU=lkvm GUEST_CMD="echo HELLO FROM GUEST"
# QEMU as host emulator, QEMU as guest emulator
make guest-run HOST_EMU=qemu GUEST_EMU=qemu GUEST_CMD="echo HELLO FROM GUEST"
```
## Tests
```bash
# ping host machine test
make guest-ping-test
# intensive stress tests (should take hours)
make guest-stress-test
```
You can use the same `HOST_EMU` and `GUEST_EMU` options.
References for interesting stress tests with stress-ng:
- https://wiki.ubuntu.com/Kernel/Reference/stress-ng
近期下载者:
相关文件:
收藏者: