QUMU 官方介绍
ARM System emulator
1 3.5 ARM System emulator
2
3 Use the executable qemu-system-arm to simulate a ARM machine. The ARM Integrator/CP board is emulated with the following devices:
4
5 - ARM926E, ARM1026E, ARM946E, ARM1136 or Cortex-A8 CPU
6 - Two PL011 UARTs
7 - SMC 91c111 Ethernet adapter
8 - PL110 LCD controller
9 - PL050 KMI with PS/2 keyboard and mouse.
10 - PL181 MultiMedia Card Interface with SD card.
11
12 The ARM Versatile baseboard is emulated with the following devices:
13
14 - ARM926E, ARM1136 or Cortex-A8 CPU
15 - PL190 Vectored Interrupt Controller
16 - Four PL011 UARTs
17 - SMC 91c111 Ethernet adapter
18 - PL110 LCD controller
19 - PL050 KMI with PS/2 keyboard and mouse.
20 - PCI host bridge. Note the emulated PCI bridge only provides access to PCI memory space. It does not provide access to PCI IO space. This means some devices (eg. ne2k_pci NIC) are not usable, and others (eg. rtl8139 NIC) are only usable when the guest drivers use the memory mapped control registers.
21 - PCI OHCI USB controller.
22 - LSI53C895A PCI SCSI Host Bus Adapter with hard disk and CD-ROM devices.
23 - PL181 MultiMedia Card Interface with SD card.
24
25 Several variants of the ARM RealView baseboard are emulated, including the EB, PB-A8 and PBX-A9. Due to interactions with the bootloader, only certain Linux kernel configurations work out of the box on these boards.
26
27 Kernels for the PB-A8 board should have CONFIG_REALVIEW_HIGH_PHYS_OFFSET enabled in the kernel, and expect 512M RAM. Kernels for The PBX-A9 board should have CONFIG_SPARSEMEM enabled, CONFIG_REALVIEW_HIGH_PHYS_OFFSET disabled and expect 1024M RAM.
28
29 The following devices are emulated:
30
31 - ARM926E, ARM1136, ARM11MPCore, Cortex-A8 or Cortex-A9 MPCore CPU
32 - ARM AMBA Generic/Distributed Interrupt Controller
33 - Four PL011 UARTs
34 - SMC 91c111 or SMSC LAN9118 Ethernet adapter
35 - PL110 LCD controller
36 - PL050 KMI with PS/2 keyboard and mouse
37 - PCI host bridge
38 - PCI OHCI USB controller
39 - LSI53C895A PCI SCSI Host Bus Adapter with hard disk and CD-ROM devices
40 - PL181 MultiMedia Card Interface with SD card.
ARM emulation
1 A.1.2 ARM emulation
2
3 Full ARM 7 user emulation.
4 NWFPE FPU support included in user Linux emulation.
5 Can run most ARM Linux binaries.
configure
1 --prefix=/home/sun/18.04-install/qemu-3.0.0 --target-list="arm-softmmu arm-linux-user aarch64-softmmu aarch64-linux-user" --enable-libssh2 --enable-system --enable-user --enable-linux-user --enable-docs --enable-pie --enable-modules --enable-kvm --enable-libnfs --enable-gprof --enable-profiler --audio-drv-list="oss alsa"
错误1
提示没有ALSA库,编译安装最新ALSA库
错误2
1 ERROR: User requested feature docs
2 configure was not able to find it.
3 Install texinfo and Perl/perl-podlators
4
5 安装 texinfo and Perl
错误3
1 ERROR: User requested feature libnfs
2 configure was not able to find it.
3 Install libnfs devel >= 1.9.3
1 $ sudo apt install libnfs-dev
错误4
1 ERROR: libssh2 >= 1.2.8 required for --enable-libssh2
sudo apt install libssh2-1-dev
最终配置结果:
1 sun@machine:~/share/build/qemu-3.0.0$ time ./configure --prefix=/home/sun/18.04-install/qemu-3.0.0 --target-list="arm-softmmu arm-linux-user aarch64-softmmu aarch64-linux-user" --enable-libssh2 --enable-system --enable-user --enable-linux-user --enable-docs --enable-pie --enable-modules --enable-kvm --enable-libnfs --enable-gprof --enable-profiler --audio-drv-list="oss alsa"
2 Install prefix /home/sun/18.04-install/qemu-3.0.0
3 BIOS directory /home/sun/18.04-install/qemu-3.0.0/share/qemu
4 firmware path /home/sun/18.04-install/qemu-3.0.0/share/qemu-firmware
5 binary directory /home/sun/18.04-install/qemu-3.0.0/bin
6 library directory /home/sun/18.04-install/qemu-3.0.0/lib
7 module directory /home/sun/18.04-install/qemu-3.0.0/lib/qemu
8 libexec directory /home/sun/18.04-install/qemu-3.0.0/libexec
9 include directory /home/sun/18.04-install/qemu-3.0.0/include
10 config directory /home/sun/18.04-install/qemu-3.0.0/etc
11 local state directory /home/sun/18.04-install/qemu-3.0.0/var
12 Manual directory /home/sun/18.04-install/qemu-3.0.0/share/man
13 ELF interp prefix /usr/gnemul/qemu-%M
14 Source path /home/sun/share/build/qemu-3.0.0
15 GIT binary git
16 GIT submodules
17 C compiler cc
18 Host C compiler cc
19 C++ compiler c++
20 Objective-C compiler cc
21 ARFLAGS rv
22 CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g
23 QEMU_CFLAGS -I/usr/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -DHAS_LIBSSH2_SFTP_FSYNC -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wexpansion-to-defined -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I$(SRC_PATH)/capstone/include
24 LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g
25 QEMU_LDFLAGS -L$(BUILD_DIR)/dtc/libfdt
26 make make
27 install install
28 python python -B
29 smbd /usr/sbin/smbd
30 module support yes
31 host CPU x86_64
32 host big endian no
33 target list arm-softmmu arm-linux-user aarch64-softmmu aarch64-linux-user
34 gprof enabled yes
35 sparse enabled no
36 strip binaries yes
37 profiler yes
38 static build no
39 SDL support no
40 GTK support no
41 GTK GL support no
42 VTE support no
43 TLS priority NORMAL
44 GNUTLS support no
45 GNUTLS rnd no
46 libgcrypt yes
47 libgcrypt kdf yes
48 nettle no
49 nettle kdf no
50 libtasn1 no
51 curses support no
52 virgl support no
53 curl support no
54 mingw32 support no
55 Audio drivers oss alsa
56 Block whitelist (rw)
57 Block whitelist (ro)
58 VirtFS support no
59 Multipath support no
60 VNC support yes
61 VNC SASL support no
62 VNC JPEG support no
63 VNC PNG support no
64 xen support no
65 brlapi support no
66 bluez support no
67 Documentation yes
68 PIE yes
69 vde support no
70 netmap support no
71 Linux AIO support no
72 ATTR/XATTR support yes
73 Install blobs yes
74 KVM support yes
75 HAX support no
76 HVF support no
77 WHPX support no
78 TCG support yes
79 TCG debug enabled no
80 TCG interpreter no
81 malloc trim support yes
82 RDMA support no
83 fdt support git
84 membarrier no
85 preadv support yes
86 fdatasync yes
87 madvise yes
88 posix_madvise yes
89 posix_memalign yes
90 libcap-ng support no
91 vhost-net support yes
92 vhost-crypto support yes
93 vhost-scsi support yes
94 vhost-vsock support yes
95 vhost-user support yes
96 Trace backends log
97 spice support no
98 rbd support no
99 xfsctl support no
100 smartcard support no
101 libusb no
102 usb net redir no
103 OpenGL support no
104 OpenGL dmabufs no
105 libiscsi support no
106 libnfs support yes
107 build guest agent yes
108 QGA VSS support no
109 QGA w32 disk info no
110 QGA MSI support no
111 seccomp support no
112 coroutine backend ucontext
113 coroutine pool yes
114 debug stack usage no
115 mutex debugging no
116 crypto afalg no
117 GlusterFS support no
118 gco