3fa79c038e
Remove upstream patch 0002-build-disable-fcf-protection-on-march-486-m16.patch Handle new or removed configure options: - disable dbus-display - remove libxml2 configure option Support for for ARMv4 and ARMv5 hosts has been dropped, Qemu target package needs at least ARMv6. The architecture test is done at runtime, so qemu package for ARMv4 or ARMv5 target would build but will error out at runtime: https://git.qemu.org/?p=qemu.git;a=commitdiff;h=01dfc0ed7f2c5f8dbab65f31228a2888c7b85a07 See: https://wiki.qemu.org/ChangeLog/7.0 Runtime tested in gitlab: https://gitlab.com/kubu93/buildroot/-/pipelines/520991787 Add a new patch fixing the build with seccomp support enabled. Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
160 lines
4.7 KiB
Plaintext
160 lines
4.7 KiB
Plaintext
config BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
|
|
bool
|
|
# Only tested on these architectures
|
|
default y if BR2_aarch64
|
|
default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
|
|
default y if BR2_i386
|
|
default y if BR2_mips
|
|
default y if BR2_mipsel
|
|
default y if BR2_powerpc64
|
|
default y if BR2_powerpc64le
|
|
default y if BR2_x86_64
|
|
|
|
comment "QEMU requires a toolchain with wchar, threads, gcc >= 8"
|
|
depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
|
|
depends on BR2_USE_MMU
|
|
depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR) || \
|
|
!BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
|
|
|
config BR2_PACKAGE_QEMU
|
|
bool "QEMU"
|
|
depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
depends on BR2_USE_WCHAR # gettext
|
|
depends on BR2_USE_MMU # fork()
|
|
select BR2_PACKAGE_LIBGLIB2
|
|
select BR2_PACKAGE_PIXMAN
|
|
select BR2_PACKAGE_ZLIB
|
|
help
|
|
QEMU is a generic and open source machine emulator and
|
|
virtualizer.
|
|
|
|
When used as a machine emulator, QEMU can run OSes and
|
|
programs made for one machine (e.g. an ARM board) on a
|
|
different machine (e.g. your own PC). By using dynamic
|
|
translation, it achieves very good performance.
|
|
|
|
When used as a virtualizer, QEMU achieves near native
|
|
performances by executing the guest code directly on the
|
|
host CPU. QEMU supports virtualization when executing under
|
|
the Xen hypervisor or using the KVM kernel module in
|
|
Linux. When using KVM, QEMU can virtualize x86, server and
|
|
embedded PowerPC, and S390 guests.
|
|
|
|
http://qemu.org/
|
|
|
|
if BR2_PACKAGE_QEMU
|
|
|
|
comment "Emulators selection"
|
|
|
|
config BR2_PACKAGE_QEMU_CUSTOM_TARGETS
|
|
string "Enable specific targets"
|
|
help
|
|
Enter here the list of QEMU targets you want to build. For
|
|
example:
|
|
|
|
System emulation | User-land emulation
|
|
----------------------+-----------------------
|
|
i386-softmmu | i386-linux-user
|
|
arm-softmmu | ppc-linux-user
|
|
x86_64-softmmu | sparc-bsd-user
|
|
... | ...
|
|
|
|
comment "Networking options"
|
|
|
|
config BR2_PACKAGE_QEMU_SLIRP
|
|
bool "Enable user mode networking (SLIRP)"
|
|
select BR2_PACKAGE_SLIRP
|
|
help
|
|
Enable user mode network stack, which is the default
|
|
networking backend. It requires no administrator privileges
|
|
and generally is the easiest to use but has some
|
|
limitations:
|
|
|
|
- there is a lot of overhead so the performance is poor;
|
|
- in general ICMP does not work (can't ping from/to a guest)
|
|
- on Linux hosts, ping does work from within the guest, but it
|
|
needs initial setup by root (once per host)
|
|
- the guest is not directly accessible from the host or the
|
|
external network
|
|
|
|
User Networking is implemented using "slirp", which provides a
|
|
full TCP/IP stack within QEMU and uses that stack to implement
|
|
a virtual NAT'd network.
|
|
|
|
Notice that this option does not disable other networking
|
|
modes.
|
|
|
|
if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = ""
|
|
|
|
comment "... or you can select emulator families to enable, below:"
|
|
|
|
config BR2_PACKAGE_QEMU_SYSTEM
|
|
bool "Enable all systems emulation"
|
|
depends on !BR2_STATIC_LIBS # dtc
|
|
select BR2_PACKAGE_QEMU_FDT
|
|
help
|
|
Say 'y' to build all system emulators/virtualisers that QEMU
|
|
supports.
|
|
|
|
comment "systems emulation needs a toolchain w/ dynamic library"
|
|
depends on BR2_STATIC_LIBS
|
|
|
|
config BR2_PACKAGE_QEMU_LINUX_USER
|
|
bool "Enable all Linux user-land emulation"
|
|
# Incompatible "struct sigevent" definition on musl
|
|
depends on !BR2_TOOLCHAIN_USES_MUSL
|
|
help
|
|
Say 'y' to build all Linux user-land emulators that QEMU
|
|
supports.
|
|
|
|
# Note: bsd-user can not be build on Linux
|
|
|
|
comment "Linux user-land emulation needs a glibc or uClibc toolchain"
|
|
depends on BR2_TOOLCHAIN_USES_MUSL
|
|
|
|
endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == ""
|
|
|
|
config BR2_PACKAGE_QEMU_HAS_EMULS
|
|
def_bool y
|
|
depends on BR2_PACKAGE_QEMU_SYSTEM || BR2_PACKAGE_QEMU_LINUX_USER || BR2_PACKAGE_QEMU_CUSTOM_TARGETS != ""
|
|
|
|
if BR2_PACKAGE_QEMU_HAS_EMULS
|
|
|
|
comment "Frontends"
|
|
|
|
config BR2_PACKAGE_QEMU_SDL
|
|
bool "Enable SDL frontend"
|
|
depends on !BR2_STATIC_LIBS # sdl2
|
|
select BR2_PACKAGE_SDL2
|
|
help
|
|
Say 'y' to enable the SDL frontend, that is, a graphical
|
|
window presenting the VM's display.
|
|
|
|
comment "SDL frontend needs a toolchain w/ dynamic library"
|
|
depends on BR2_STATIC_LIBS
|
|
|
|
comment "Misc. features"
|
|
|
|
config BR2_PACKAGE_QEMU_FDT
|
|
bool "Enable FDT"
|
|
depends on !BR2_STATIC_LIBS # dtc
|
|
select BR2_PACKAGE_DTC
|
|
help
|
|
Say 'y' here to have QEMU capable of constructing Device
|
|
Trees, and passing them to the VMs.
|
|
|
|
comment "FDT support needs a toolchain w/ dynamic library"
|
|
depends on BR2_STATIC_LIBS
|
|
|
|
endif # BR2_PACKAGE_QEMU_HAS_EMULS
|
|
|
|
config BR2_PACKAGE_QEMU_TOOLS
|
|
bool "Enable tools"
|
|
help
|
|
Say 'y' here to include tools packaged with QEMU
|
|
(e.g. qemu-img).
|
|
|
|
endif # BR2_PACKAGE_QEMU
|