当前位置: 首页 > news >正文

qemu-system-aarch64开启user用户模式网络连接

一、问题

        在使用qemu构建arm64的虚拟机时,虚拟机没有网络,桥接方式相对麻烦,我只是需要联网更新即可。与宿主机的通信我使用共享文件夹即可满足要求。

        使用指令启动虚拟机时,网络部分的参数为

-net user,hostfwd=tcp::10022-:22

其中 hostfwd 将宿主机的 10022 端口转发到虚拟机的 22 端口,可以通过 SSH 连接到虚拟机。运行时提示 user 不支持:

        使用

qemu-system-aarch64 --help

发现Network options一栏,没有-netdev user 这一项:

切换为 

qemu-system-arm --help

则有这一项:

       

二、解决过程

1、配置 --enable-user   

由于编译源码时使用的 target-list="aarch64-softmmu",那么有可能就是没有开启user。

./configure --enable-kvm --enable-debug --enable-vnc --target-list="aarch64-softmmu"

百度查询该问题都没有提到,默认都是开启该功能。

        于是在配置 configure 时添加 --enable-user 选项,重新编译源码:

./configure --enable-kvm --enable-debug --enable-vnc --enable-user --target-list="aarch64-softmmu"
make -j8
sudo make install

执行

qemu-system-aarch64 --help

仍然没有该选项,并且执行启动虚拟机指令依然提示没有 user选项。

2、配置 slirp

        查看 configure 执行的结果,找到 Network 一栏,发现只有最后一项开启。

        slirp 是一个用户空间的网络重定向器,它允许 qemu 的虚拟机通过宿主机的主机网络进行网络通信。当使用 user 网络模式时,qemu 会自动启用 slirp。也就是说,如果不开启 slirp,就无法使用 user。

更改 configure 命令:

./configure --enable-kvm --enable-debug --enable-vnc --enable-user --enable-slirp --target-list="aarch64-softmmu"

执行结果:

make

sudo make install

三、验证

        执行 

qemu-system-aarch64 --help

        可能会提示没有 libslirp.so.0 库,安装即可:

sudo apt-get install libslirp0

        再次执行,可以看到已经有 user 选项:

另外新的指令的网络设置部分为:

-netdev user,id=net0,hostfwd=tcp::10022-:22 \
-device virtio-net-pci,netdev=net0

http://www.lryc.cn/news/454611.html

相关文章:

  • Android车载——VehicleHal初始化(Android 11)
  • CTFshow 命令执行 web37-web40
  • 数据结构与算法篇((原/反/补)码 进制)
  • Python画笔案例-077 绘制 颜色饱和度测试
  • 简历投递经验01
  • 数据和算力共享
  • SpringBoot 集成 Ehcache 实现本地缓存
  • CSP-J 复赛真题 P9749 [CSP-J 2023] 公路
  • MeterSphere压测配置说明
  • 数据库软题6.1-关系模式-关系模式的各种键
  • ulimit:资源限制
  • 解决Python使用Selenium 时遇到网页 <body> 划不动的问题
  • pytorch版本和cuda版本不匹配问题
  • Vue/组件的生命周期
  • 【Nacos架构 原理】内核设计之Nacos寻址机制
  • 入门案例:mybatis流程,核心,常见错误
  • C++ | Leetcode C++题解之第456题132模式
  • 自然语言处理问答系统
  • Python的几个高级特性
  • 【颜色平衡树 / E】
  • 滑动窗口--(中篇)
  • Java性能调优:实战技巧与最佳实践
  • 排版套料系统设计说明
  • 算法修炼之路之二分查找
  • OpenAI预计明年将推出“代理”系统
  • 每日OJ题_牛客_重排字符串_贪心_C++_Java
  • Python 进阶部分详细整理
  • [ RK3566-Android11 ] 关于移植 RK628F 驱动以及后HDMI-IN图像延迟/无声等问题
  • 【黑马点评】 使用RabbitMQ实现消息队列——2.使用RabbitMQ监听秒杀下单
  • 业务封装与映射 -- OTUk/ODUk/OPUk开销帧结构