FEMU仿真器学习笔记
参考链接
1 FEMU/nvme源码分析(https://blog.xiocs.com/archives/46/)
2 Femu 源码简析与测试环境配置(https://blog.xiocs.com/archives/46/)
3 安装FEMU,并使用FEMU模拟SSD黑盒、OCSSD、NoSSD(https://blog.csdn.net/bijie1196/article/details/120752319)
4 FEMU环境配置(https://hackmd.io/@UzwkpqmTSKS3rukkbAQPBw/BJgAcpPIq)
FEMU模拟器配置与安装
- 参考链接3, 作者文档中使用的为-localtime,目前的QEMU版本已经移除了该方式,改为了-rtc base=localtime
sudo qemu-system-x86_64 \
-cdrom ubuntu-22.04.1-live-server-amd64.iso \
-hda femu.qcow2 \
-boot d \
-net nic -net user \
-m 8192 \
-rtc base=localtime -smp 8 \
-cpu host \
-enable-kvm
- 编译报错FAILED: libqemuutil.a.p/util_async.c.o error: storing the address of local variable ‘slice’ in ‘*ctx.bh_slice_list.sqh_las。参考以下方法解决https://gitlab.com/qemu-project/qemu/-/issues/1655.
需要修改femu-compile.sh脚本,增加参数“–disable-werror“,修改如下:
#!/bin/bash
NRCPUS="$(cat /proc/cpuinfo | grep "vendor_id" | wc -l)"
make clean
# --disable-werror --extra-cflags=-w --disable-git-update
../configure --enable-kvm --target-list=x86_64-softmmu --disable-werror
make -j $NRCPUS
echo ""
echo "===> FEMU compilation done ..."
echo ""
exit