zl程序教程

您现在的位置是:首页 >  工具

当前栏目

QEMU零知识学习2 —— QEMU源码下载

源码下载学习 知识 QEMU
2023-09-14 09:15:40 时间

QEMU源代码有多种方式进行下载。本文只介绍其中2种方法。

1. 通过git进行下载开发中的最新的qemu.git

(1)获取源码

$ git clone http://git.qemu.org/qemu.git
正克隆到 'qemu'...
warning: 重定向到 https://gitlab.com/qemu-project/qemu.git/
remote: Enumerating objects: 653949, done.
remote: Counting objects: 100% (11629/11629), done.
remote: Compressing objects: 100% (3080/3080), done.
remote: Total 653949 (delta 8556), reused 11531 (delta 8522), pack-reused 642320
接收对象中: 100% (653949/653949), 250.90 MiB | 2.21 MiB/s, 完成.
处理 delta 中: 100% (542273/542273), 完成.

(2)查看源码结构

penghao@Ding-Perlis-MP26JBT0:~/QEMU_kvm/QEMU/source_codes$ ls
qemu
penghao@Ding-Perlis-MP26JBT0:~/QEMU_kvm/QEMU/source_codes$ 
penghao@Ding-Perlis-MP26JBT0:~/QEMU_kvm/QEMU/source_codes$ cd qemu/
penghao@Ding-Perlis-MP26JBT0:~/QEMU_kvm/QEMU/source_codes/qemu$ ls
accel           blockjob.c   COPYING.LIB    dump               hmp-commands.hx       Kconfig        memory_ldst.c.inc  net                 python                qemu-keymap.c    README.rst     storage-daemon  trace-events
audio           bsd-user     cpu.c          ebpf               hmp-commands-info.hx  Kconfig.host   meson              os-posix.c          qapi                  qemu-nbd.c       replay         stubs           ui
authz           chardev      cpus-common.c  event-loop-base.c  hw                    libdecnumber   meson.build        os-win32.c          qemu-bridge-helper.c  qemu.nsi         replication.c  subprojects     util
backends        common-user  crypto         fpu                include               LICENSE        meson_options.txt  page-vary.c         qemu-edid.c           qemu-options.hx  roms           target          VERSION
block           configs      disas          fsdev              io                    linux-headers  migration          page-vary-common.c  qemu-img.c            qemu.sasl        scripts        tcg             version.rc
block.c         configure    disas.c        gdbstub            iothread.c            linux-user     module-common.c    pc-bios             qemu-img-cmds.hx      qga              scsi           tests
blockdev.c      contrib      docs           gdb-xml            job.c                 MAINTAINERS    monitor            plugins             qemu-io.c             qobject          semihosting    tools
blockdev-nbd.c  COPYING      dtc            gitdm.config       job-qmp.c             Makefile       nbd                po                  qemu-io-cmds.c        qom              softmmu        trace

也可以通过以下命令进行源码下载,二者是一样的,只是在笔者这里后者速度慢很多。

$ git clone git://git.qemu.org/qemu.git

2. 通过wget下载已发布的源码压缩包

这一步参考https://www.qemu.org/download/中的步骤说明。

(1)下载源码压缩包

$ wget https://download.qemu.org/qemu-7.2.0.tar.xz
--2023-01-16 14:15:57--  https://download.qemu.org/qemu-7.2.0.tar.xz
正在解析主机 download.qemu.org... 13.107.238.49, 13.107.237.49
正在连接 download.qemu.org|13.107.238.49|:443... 已连接。已发出 HTTP 请求,正在等待回应... 200 OK
长度:122408576 (117M) [application/x-tar]
正在保存至: “qemu-7.2.0.tar.xz”

qemu-7.2.0.tar.xz                                          100%[========================================================================================================================================>] 116.74M  1.14MB/s  用时 2m 29s  

2023-01-16 14:18:27 (803 KB/s) - 已保存 “qemu-7.2.0.tar.xz” [122408576/122408576])

(2)解压源码压缩包

$ tar Jxvf qemu-7.2.0.tar.xz 

(3)查看源码结构

penghao@Ding-Perlis-MP26JBT0:~/QEMU_kvm/QEMU/source_codes$ cd qemu-7.2.0/
penghao@Ding-Perlis-MP26JBT0:~/QEMU_kvm/QEMU/source_codes/qemu-7.2.0$ ls
accel           blockjob.c   COPYING.LIB    dump               hmp-commands.hx       Kconfig        memory_ldst.c.inc  net                 python                qemu-keymap.c    README.rst     storage-daemon  trace-events
audio           bsd-user     cpu.c          ebpf               hmp-commands-info.hx  Kconfig.host   meson              os-posix.c          qapi                  qemu-nbd.c       replay         stubs           ui
authz           chardev      cpus-common.c  event-loop-base.c  hw                    libdecnumber   meson.build        os-win32.c          qemu-bridge-helper.c  qemu.nsi         replication.c  subprojects     util
backends        common-user  crypto         fpu                include               LICENSE        meson_options.txt  page-vary.c         qemu-edid.c           qemu-options.hx  roms           target          VERSION
block           configs      disas          fsdev              io                    linux-headers  migration          page-vary-common.c  qemu-img.c            qemu.sasl        scripts        tcg             version.rc
block.c         configure    disas.c        gdbstub            iothread.c            linux-user     module-common.c    pc-bios             qemu-img-cmds.hx      qga              scsi           tests
blockdev.c      contrib      docs           gdb-xml            job.c                 MAINTAINERS    monitor            plugins             qemu-io.c             qobject          semihosting    tools
blockdev-nbd.c  COPYING      dtc            gitdm.config       job-qmp.c             Makefile       nbd                po                  qemu-io-cmds.c        qom              softmmu        trace