QEMU 学习笔记


共享文件夹

能共享文件夹,才能进行真正的调试。
所以,共享文件夹,或者网络传输的建立是非常重要的。
但是因为各种各样的现在,网络传输的条件不一定具备。
共享文件夹是首选、保底的方案。
arm64 qemu与主机共享文件夹+ insmod kernel ko实验
——:9p VirtFS 相关的介绍非常好,能顺利建立共享文件夹了

VSCode+GDB+Qemu调试ARM64 linux内核
——:顺便,VSCODE 的 gdb 也能用了,但是还存在函数进不去的问题

参考链接的总结

  1. 要打开的配置项
CONFIG_NET_9P=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_9P_FS=y
  1. 要去掉根文件系统 /etc/fstab中的9p挂载,即 kmod_mount /mnt 9p trans=virtio 0 0
  2. qemu启动命令行中增加以下内容
-fsdev local,security_model=passthrough,id=fsdev0,path=/home/your/path \
	-device virtio-9p-device,id=fs0,fsdev=fsdev0,mount_tag=hostshare

path=后的路径名即为待与虚拟机共享的文件路径,请自行指定;
-device 后不使用 virtio-9p-pci,而是 virtio-9p-device

  1. 进入虚拟机后,执行以下命令
mkdir /mnt/host_files
mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt/host_files

一些命令的记录

安装依赖

sudo apt-get install qemu-system-arm libncurses5-dev gcc-aarch64-linux-gnu build-essential git bison flex libssl-dev

启动 kernel 的命令

qemu-system-aarch64 -m 1024 -cpu max,sve=on,sve256=on \
	-M virt,gic-version=3,its=on,iommu=smmuv3 -nographic -smp 4 -kernel arch/arm64/boot/Image \
	-append "noinitrd nokaslr loglevel=8 sched_debug root=/dev/vda \
		rootfstype=ext4 rw crashkernel=256M vfio.dyndbg=+pflmt irq_gic_v3_its.dyndbg=+pflmt \
		iommu.dyndbg=+pflmt irqdomain.dyndbg=+pflmt" \
	-drive if=none,file=/home/zhwchen/runinglinux/runninglinuxkernel_5.0/rootfs_debian_arm64.ext4,id=hd0 \
	-device virtio-blk-device,drive=hd0 --fsdev local,id=kmod_dev,path=./kmodules,security_model=none \
	-device virtio-9p-pci,fsdev=kmod_dev,mount_tag=kmod_mount

参考链接

从零开始搭建qemu调试环境
——不止是加载 kernel,还提到了加载 atf,甚至怀疑,可以进行裸机调试;简单说了 qemu monitor 的使用


千万别做以下的操作

当时这样搞,把机器搞重装了。
但是感觉探索这些命令也挺不容易的,就记下来了。

QEMU下载地址, 源码&安装命令

wget https://download.qemu.org/qemu-8.1.2.tar.xz
tar xvJf qemu-8.1.2.tar.xz
cd qemu-8.1.2
./configure
make

相关依赖安装,推荐在 qemu 安装过程遇到相关错误后再安装:

sudo apt-get install ninja-build
sudo apt-get install libpixman-1-dev

qemu 8.1.2 的安装依赖 python 版本大于 3.7
python 源码下载地址

tar xvJf Python-3.9.9.tar.xz
./configure
make
sudo make install

python 的相关依赖

pip install sphinx
pip install sphinx-rtd-theme
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值