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

南阳网站备案网络推广网站河南

南阳网站备案,网络推广网站河南,宁波海曙网站开发公司,3小时百度收录新站方法文章目录 1、安装依赖2、下载qemu源码3、编译4、运行5、qemu参数 qemu 是一个硬件虚拟化程序#xff08;hypervisor that performs hardware virtualization#xff09;#xff0c;与传统的 VMware / VirtualBox 之类的虚拟机不同#xff0c;它可以通过 binary translation… 文章目录 1、安装依赖2、下载qemu源码3、编译4、运行5、qemu参数 qemu 是一个硬件虚拟化程序hypervisor that performs hardware virtualization与传统的 VMware / VirtualBox 之类的虚拟机不同它可以通过 binary translation 模拟各种硬件平台比如在 x86 机器上模拟 ARM 处理器。而 VirtualBox 等更多是通过虚拟化来进行资源隔离以便在其上运行多个 guest os。 基于 qemu 的硬件模拟能力我们可以轻松搭建指定硬件平台的运行实验环境。 qemu 是一款支持多个 CPU 架构的虚拟机支持如如 Alpha, ARM, Cris, i386, M68K, PPC, Sparc, Mips, Xtensa等以及大部分的硬件设备也就可以模拟出不同的目标系统。 Qemu 有两种运行模式一种是全系统模拟system mode一种是用户态模拟(user mode)。从名字就可以看出来 system mode 肯定是模拟全了可以直接跑操作系统之类的。user mode肯定就弱一点跑个进程之类的。 1、安装依赖 $ sudo apt-get install -y git python3 python3-pip build-essential ninja-build pkg-config libglib2.0-dev libpixman-1-dev libslirp-dev2、下载qemu源码 qemu当前正式发布版本为 v8.0.0 $ git clone https://github.com/qemu/qemu $ git checkout v8.0.0 $ git submodule update --init --recursive包内文件较多下载需要较长时间需要耐心等待下载完成。 3、编译 获取支持的参数 $ ./configure --help Using ./build as the directory for build outputUsage: configure [options] Options: [defaults in brackets after descriptions]Standard options:--help print this message--prefixPREFIX install in PREFIX [/usr/local]--target-listLIST set target list (default: build all)Available targets: aarch64-softmmu alpha-softmmu arm-softmmu avr-softmmu cris-softmmu hppa-softmmu i386-softmmu loongarch64-softmmu m68k-softmmu microblaze-softmmu microblazeel-softmmu mips-softmmu mips64-softmmu mips64el-softmmu mipsel-softmmu nios2-softmmu or1k-softmmu ppc-softmmu ppc64-softmmu riscv32-softmmu riscv64-softmmu rx-softmmu s390x-softmmu sh4-softmmu sh4eb-softmmu sparc-softmmu sparc64-softmmu tricore-softmmu x86_64-softmmu xtensa-softmmu xtensaeb-softmmu aarch64-linux-user aarch64_be-linux-user alpha-linux-user arm-linux-user armeb-linux-user cris-linux-user hexagon-linux-user hppa-linux-user i386-linux-user loongarch64-linux-user m68k-linux-user microblaze-linux-user microblazeel-linux-user mips-linux-user mips64-linux-user mips64el-linux-user mipsel-linux-user mipsn32-linux-user mipsn32el-linux-user nios2-linux-user or1k-linux-user ppc-linux-user ppc64-linux-user ppc64le-linux-user riscv32-linux-user riscv64-linux-user s390x-linux-user sh4-linux-user sh4eb-linux-user sparc-linux-user sparc32plus-linux-user sparc64-linux-user x86_64-linux-user xtensa-linux-user xtensaeb-linux-user--target-list-excludeLIST exclude a set of targets from the default target-listAdvanced options (experts only):--cross-prefixPREFIX use PREFIX for compile tools, PREFIX can be blank []--ccCC use C compiler CC [cc]--host-ccCC use C compiler CC [cc] for code run atbuild time ... 默认编译参数下configure 会编译所有 ISA 的 QEMU全量编译会耗时 20 分钟左右其实很多时候我们不需要绝大多数 ISA比如 Mips Sparc 的 QEMU 我是不关心的就可以不编译。configure --help 可以看到有个 --target-list 选项可以用这个选项来指定需要的平台平台名称之间用逗号分隔。 这次编译我们只编译 aarch64、arm、riscv64、riscv32 4个常用的平台。 $ ./configure --prefix/opt/qemu --target-listaarch64-softmmu,arm-softmmu,riscv32-softmmu,riscv64-softmmu $ make -j8 $ make install其中 aarch64-softmmuARM64指令集arm-softmmuARMv7指令集riscv32-softmmuRISC-V的32bit指令集riscv64-softmmuRISC-V的64bit指令集 编译完成后目标文件在 /opt/qemu 目录下 $ cd /opt/qemu/bin $ ls qemu-edid qemu-ga qemu-img qemu-io qemu-nbd qemu-pr-helper qemu-storage-daemon qemu-system-aarch64 qemu-system-arm qemu-system-riscv32 qemu-system-riscv64$ ./qemu-system-riscv64 --version QEMU emulator version 8.0.0 (v8.0.0) Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers4、运行 如果你不是自己编译qemu 用的是别人编译好的目标文件在运行中可能会出现依赖未安装的情况执行一下命令 $ sudo apt-get install -y libsnappy-dev libpixman-1-dev libpixman-1-dev libjpeg-dev libdaxctl-dev libvdeplug-dev libpmem-dev libgbm-dev libepoxy-dev libgtk-3-0 libaio1 libslirp-dev添加环境变量 $ sudo apt-get install vim $ vim ~/.bashrc# 加入qemu位置 export PATH$PATH:/opt/qemu/bin$ source ~/.bash $ qemu-system-riscv64 --version QEMU emulator version 8.0.0 (v8.0.0) Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers运行qemu qemu-system-aarch64 -m 2048 -cpu cortex-a57 -smp 2 -M virt -bios QEMU_EFI.fd -nographic \ -drive ifnone,fileubuntu-16.04.3-server-arm64.iso,idcdrom,mediacdrom \ -device virtio-scsi-device \ -device scsi-cd,drivecdrom \ -drive ifnone,fileubuntu16.04-arm64.img,idhd0 \ -device virtio-blk-device,drivehd0退出当前运行的 qemu使用组合键CTRL X然后再按 A 键。 5、qemu参数 通过下面的命令获取对应 qemu 支持的参数 $ qemu-system-riscv64 --help QEMU emulator version 8.0.0 (v8.0.0) Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers usage: qemu-system-riscv64 [options] [disk_image]disk_image is a raw hard disk image for IDE hard disk 0Standard options: -h or -help display this help and exit -version display version information and exit... 开发板列表 每个参数都可以获取对应的详细支持型号。如通过下面的命令操作可以看到当前版本的 Qemu 工具支持的开发板列表 $ qemu-system-riscv64 -M help Supported machines are: microchip-icicle-kit Microchip PolarFire SoC Icicle Kit none empty machine shakti_c RISC-V Board compatible with Shakti SDK sifive_e RISC-V Board compatible with SiFive E SDK sifive_u RISC-V Board compatible with SiFive U SDK spike RISC-V Spike board (default) virt RISC-V VirtIO board或 $ qemu-system-riscv32 -machine help Supported machines are: dummyh THEAD dummyh none empty machine opentitan RISC-V Board compatible with OpenTitan sifive_e RISC-V Board compatible with SiFive E SDK sifive_u RISC-V Board compatible with SiFive U SDK smartl RISC-V smartl spike RISC-V Spike board (default) virt RISC-V VirtIO boardqemu 常用参数 -M: 指定设备类型-m: 指定内存大小; 如-m 512M-kernel: 指定内核文件; 如-kernel linux-5.10.181/arch/riscv/boot/Image-bios: 指定bios文件-smp: 指定虚拟机核心数-S: 冻结 CPU 直到远程 GDB 输入相应命令-s: 启动 GDB 服务在 1234 端口接受gdb调试; 如-s -S 或 -gdb tcp::1234 -S 选项用于启动 gdb 服务启动后 qemu 不立即运行 guest而是等待主机 gdb 发起连接此时使用 gdb 输入 target remote:1234 可以进行相关调试与真机调试无异。-initrd指定启动文件-dtb: 指定dtb文件-nographic: 指定不需要图形界面-append指定扩展显示界面串口或者LCDconsolettyS0和-nographic配合后使得启动后的串口重定向到宿主机终端能在宿主机的终端看到调试信息。如 -append “root/dev/vda rw consolettyS0”-device常用于指定guest上总线挂载的外部设备例如virtio-mmio、usb、pci等总线-netdev配置网络设备 如 #!/bin/shqemu-system-riscv64 \ -M virt \ -bios opensbi/build/platform/generic/firmware/fw_jump.elf \ -kernel linux-5.10.181/arch/riscv/boot/Image \ -append rootwait root/dev/vda ro \ -drive filebuildroot-2023.02.1/output/images/rootfs.ext2,formatraw,idhd0 \ -device virtio-blk-device,drivehd0 \ -netdev user,idnet0 -device virtio-net-device,netdevnet0 \ -nographic
http://www.ho-use.cn/article/10823342.html

相关文章:

  • 建站公司 万维科技适合夫妻二人观看的电视剧
  • 2018年公司做网站注意事项wordpress去掉竖线
  • 消息网站怎么做昆仑万维做网站
  • 网站开发企业开发一家做公司点评网站
  • 福建中江建设公司网站wordpress多个页面主题
  • 做公司网站详细步骤6做销售网站需要多少钱
  • 如何做好网站针对搜索引擎的seo室内设计项目概况
  • 网站制作报价单模板做网站哪种字体好看
  • 南山区网站建设房地产的未来趋势分析
  • 学校网站建设方案策划书网站主页和子页风格如何统一
  • 郑州市房产信息网官方网站米课中有个内贸网站建设
  • 电影网站膜拜云尚网站建设
  • 做一个简单的网站需要多少钱免费申请试用网站
  • 云南省建设厅官方网站证书wordpress小说网站模板下载
  • 校本教研网站建设进口博览会2022
  • 专业设计网站的公司视频网站开发流程图
  • 网站开发小程序开发公司潍坊建设网站的公司电话
  • 微网站免费创建平台闵行区做网站
  • 网站站内关键词优化杭州网站建设就找蓝韵网络
  • 站长工具使用彩票网站建设 极云
  • 浅谈网站开发的意义抚州市建设局网站查询
  • 申请做网站_论坛版主wordpress注册显示密码错误
  • 建设银行园区公积金管理中心网站wordpress千万数据优化
  • 宣传类的网站怎么做wordpress有多强大
  • y2学年做的租房网站青岛海西建设集团官方网站
  • 网站建设费做什么wordpress 会员分类
  • 厦门专业网站可以做婚礼鲜花布置的网站
  • 南京市城乡建设局网站国网电子商务平台官网
  • 酒店预定类网站建设制作音乐app
  • 引蜘蛛网站建筑工程包括哪些项目