`
jayghost
  • 浏览: 442005 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ubuntu kvm+qemu 加载USB

 
阅读更多

首先参考了:http://forum.ubuntu.org.cn/viewtopic.php?f=65&t=130210&sid=592708d954990bdd11e60bb7d115ed3a

5. USB设备 
KVM是通过qemu来支持USB设备的,可以在启动的时候就指定需要连接的USB设备,也可以系统启动后动态的添加删除.通过qemu的help可知,使用qemu的usb_add host:xxx:xxx来添加usb设备,那么如何知道对应的host:xxx:xxx呢,有2种方法: 
1)在host主机ubuntu中执行lsusb得到这些信息 
比如在我机器上ipod的信息如下: 
Bus 006 Device 002: ID 05ac:1204 Apple Computer, Inc. iPod [Photo] 
Bus 006 Device 001: ID 1d6b:0002 
Bus 001 Device 001: ID 1d6b:0002 
.... 
05ac:1204就是我们需要的了。 
2)进入虚拟机后,通过ctrl+alt+2调出qemu控制台,输入info usb来列出相关的信息,在我的机器上
Device 4.2, speed 12 Mb/s 
Class e0: USB device 044e:300d, UGX 
Device 2.11, speed 480 Mb/s 
Class 00: USB device 05ac:1204, iPod 
... 
很有可能你在执行上述命令的时候会遇到这样的错误: 
Could not open /dev/bus/usb/devices 
可以参考:https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/156085去解决,主要就是把 
/etc/init.d/mountdevsubfs.sh脚本中的以下几行打开(默认被注释掉了) 
#
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb
 
然后手工执行: 
$ sudo /etc/init.d/mountdevsubfs.sh start 
或者重启机器就ok了。 
取得了上述USB设备的信息后,可以在kvm启动的时候就连接指定的USB设备,通过启动参数-usbdevice host:xxx:xxx 来添加相应设备。也可以在kvm的客户系统启动后添加,在客户系统中按ctrl+alt+2(ctrl+alt+1回到客户系统)调出qemu控制台,通过usb_add host:xxx:xxx来添加设备,通过info usb可以查看已经添加的usb设备信息,通过usb_del来删除连接的usb设备。 

 

 

我在本机测试后lsusb:

 

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub

Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub

Bus 001 Device 003: ID 0402:7675 ALi Corp. 

Bus 002 Device 003: ID 04f3:0210 Elan Microelectronics Corp. AM-400 Hama Optical Mouse

Bus 001 Device 008: ID ffee:0100 

最后的ffee:0100就是我的U盘!

 

用qemu-system-x86_64命令时,通过man,查到了-usbdevice host:xxx:xxx参数

启动虚拟机时可以用:

sudo qemu-system-x86_64 -hda kvm/winxp.img -m 1024 -usbdevice tablet -soundhw all -usbdevice host:ffee:0100

分享到:
评论

相关推荐

    vmware+x86_ubuntu18.04+qemu+aarch64_openEuler

    本文档详细介绍了:在windows10主机的vmware软件中安装ubuntu18.04系统,再基于x86架构的ubuntu18.04,搭建openEuler_aarch64架构的qemu虚拟机。

    kvm和qemu基于OVS网桥的安装和使用

    【KVM和QEMU基于OVS网桥的安装与使用详解】 KVM(Kernel-based Virtual Machine)是Linux内核中的一个模块,它允许Linux系统直接运行虚拟机,从而实现高性能的虚拟化。QEMU(Quick Emulator)则是一个通用的机器...

    Codeblocks+Qemu——在IDE里面实现U-boot指令级调试

    标题中提到的知识点是“Codeblocks+Qemu在IDE里面实现U-boot指令级调试”,这意味着文章将介绍如何利用Codeblocks这个集成开发环境(IDE)与Qemu这个开源的机器模拟器和虚拟化工具来实现U-boot的指令级别调试。...

    Ubuntu18.04+Qemu调试Linux内核实验记录

    在本实验中,我们将探讨如何在Ubuntu 18.04操作系统上使用QEMU来调试Linux内核。这个过程涉及到几个关键步骤,包括环境准备、内核源代码获取、编译选项配置以及QEMU的使用。 首先,实验环境是基于Ubuntu 18.04的。...

    KVM与QEMU基本知识

    KVM是Linux内核的一部分,通过加载kvm.ko(或针对不同处理器的kvm-intel.ko或kvm-AMD.ko)核心模块,为处理器提供底层虚拟化支持。这种全虚拟化方案允许在同一物理主机上运行多个独立的虚拟机,每个虚拟机可以运行...

    《【黑盒模糊测试】路由器固件漏洞挖掘实战-AFL++ qemu-mode》配套练习实例

    3. **创建测试入口**:固件可能没有明显的命令行接口,所以需要找到一个可以注入测试用例的入口点,比如网络接口或者USB端口。 4. **准备初始种子**:创建一组基础的输入数据,这些数据将作为模糊测试的起点。 5. **...

    Fuzz-With-Wine-Demo:一组使用AFL ++ QEMU模糊Win32二进制文件的帮助程序和示例

    因此此存储库中的脚本是旧式的,但示例仍然有效一组使用AFL ++ QEMU模糊Win32二进制文件的帮助程序和示例要求要用AFL ++ QEMU模糊Win32 PE应用程序,必须确保Linux发行版能够在没有预加载器的情况下运行Wine。...

    收藏奉献_微机磁盘操作系统(27号):MS-DOS 8.0 操作系统 + QEMU 0.13.0

    27号是 MS-DOS 8.0 + QEMU 0.13.0,这个系统也不能在 PCE 上运行,只好用 QEMU 模拟器了,可惜,这个版本只有软盘版,无法制作成硬盘版,其格式化命令已去掉了 /S 参数,SYS 系统传输命令也已无用了,真是...

    基于KVM_QEMU与Libvirt的虚拟化资源池构建

    基于KVM_QEMU与Libvirt的虚拟化资源池构建,

    收藏奉献_DOS汉字系统21:国家统计局统一 CCDOS 第一版 汉字系统 + QEMU 模拟器

    21号是国家统计局统一 CCDOS 第一版 汉字系统 + QEMU 模拟器,CCDOS 是中国第一个计算机汉字系统,是国家科技进步二等奖。这个版本是1989版。另外:前边上传的有 PCEM 文件的系统,如果运行不正常,请看下 pcem.cfg ...

    EclipseCDT+QEMU调试linux内核.pdf

    接着,通过 xterm 运行 QEMU 虚拟机加载该内核映像,以进行模拟运行和调试。 QEMU 是一款强大的开源模拟器,能够模拟多种处理器架构,允许在一台机器上运行不同的操作系统。在这个场景下,QEMU 被用来模拟硬件环境...

    树莓派4B+x86_openEuler+qemu+aarch64_openEuler

    在本文档中,我们将探讨如何在树莓派4B上安装并运行基于aarch64架构的openEuler操作系统作为虚拟机,利用树莓派的硬件虚拟化功能和开源工具libvirt以及qemu。首先,我们需要确保树莓派4B已经安装了openEuler-20.03-...

    KVM 桥接 QEMU 启动选项 图形组合键 磁盘映像

    ### KVM与QEMU桥接启动选项详解 #### KVM与QEMU简介 KVM (Kernel-based Virtual Machine) 是一种开源的全虚拟化解决方案,它允许Linux内核充当Hypervisor,提供对多个虚拟机的支持。QEMU (Quick Emulator) 是一个...

    ubuntu 23.04 QEMU图形化安装配置网卡桥接

    Ubuntu 23.04 QEMU 图形化安装配置网卡桥接 本文档将指导您如何在 Ubuntu 23.04 中使用 QEMU 图形化安装配置网卡桥接。网卡桥接是指将物理网卡和虚拟网卡连接起来,以便虚拟机能够访问外部网络。本文档将详细讲解...

    AN0020-RT-Thread-使用 Eclipse + QEMU 调试1

    【标题】: 使用Eclipse + QEMU调试RT-THREAD指南 【内容】: 本文将详细介绍如何在Windows平台上利用Eclipse集成开发环境与QEMU虚拟机进行RT-Thread实时操作系统(RTOS)的调试工作。Eclipse是一款强大的跨平台IDE,...

    CentOS7 上安装KVM(QEMU).docx

    CentOS7 上安装 KVM(QEMU) 在本文中,我们将详细介绍如何在 CentOS7 上安装 KVM(Kernel-based Virtual Machine),并使用 KVM 可视化地创建虚拟机。 一、KVM 概述 KVM 是一种基于内核的虚拟机hypervisor,能够...

    AN0021-RT-Thread-使用 VS Code + QEMU 调试1

    【RT-Thread 调试环境搭建与QEMU模拟调试】 在嵌入式开发领域,RT-Thread是一款广泛应用的实时操作系统。本教程旨在指导用户如何在Windows环境下利用Visual Studio Code (VS Code) 配合QEMU虚拟机进行RT-Thread的...

    收藏奉献_DOS汉字系统55:神采 SC 3.1 汉字系统 + QEMU 0.13.0

    1. 双击运行.BAT:这是一个批处理文件,用户只需双击即可启动一系列命令,如加载QEMU并运行神采SC 3.1汉字系统。 2. bios.bin:这是QEMU需要的BIOS模拟文件,用于模拟真实的计算机启动过程。 3. vgabios-cirrus.bin...

    Qemu-kvm虚拟化技术介绍.pptx

    KVM(Kernel-based Virtual Machine)是一种基于内核的虚拟机技术,使用libkvm 库通過ioctl 进入内核模式,创建虚拟内存和虚拟CPU,执行VMLaunch 指令进入客户模式,加载 Guest OS 并执行。KVM 模块位于 Linux 内核...

Global site tag (gtag.js) - Google Analytics