diff --git a/hack/hack.mk b/hack/hack.mk index f239d20..adb5696 100644 --- a/hack/hack.mk +++ b/hack/hack.mk @@ -44,10 +44,13 @@ kernel: mkdir -p target/rootfs/boot docker run -it --rm -u $${UID} -v "`pwd`:/aurae" aurae-builder bash -c "cd hack/kernel && ./mk-kernel" +qemu: + docker run -it --rm -u $${UID} -v "`pwd`:/aurae" aurae-builder bash -c "cd hack/qemu && ./mk-qemu" + menuconfig: docker run -it --rm -u $${UID} -v "`pwd`:/aurae" aurae-builder bash -c "cd hack/kernel && ./mk-menuconfig" -initramfs: container-release +initramfs: container-release qemu mkdir -p target/rootfs/bin mkdir -p target/rootfs/etc/aurae cp target/release/auraed target/rootfs/bin/auraed diff --git a/hack/qemu/configure-help.txt b/hack/qemu/configure-help.txt new file mode 100644 index 0000000..d5c8dc3 --- /dev/null +++ b/hack/qemu/configure-help.txt @@ -0,0 +1,271 @@ + +Usage: configure [options] +Options: [defaults in brackets after descriptions] + +Standard options: + --help print this message + --prefix=PREFIX install in PREFIX [/usr/local] + --target-list=LIST 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-exclude=LIST exclude a set of targets from the default target-list + +Advanced options (experts only): + --cross-prefix=PREFIX use PREFIX for compile tools, PREFIX can be blank [] + --cc=CC use C compiler CC [cc] + --host-cc=CC use C compiler CC [cc] for code run at + build time + --cxx=CXX use C++ compiler CXX [c++] + --objcc=OBJCC use Objective-C compiler OBJCC [cc] + --extra-cflags=CFLAGS append extra C compiler flags CFLAGS + --extra-cxxflags=CXXFLAGS append extra C++ compiler flags CXXFLAGS + --extra-objcflags=OBJCFLAGS append extra Objective C compiler flags OBJCFLAGS + --extra-ldflags=LDFLAGS append extra linker flags LDFLAGS + --cross-cc-ARCH=CC use compiler when building ARCH guest test cases + --cross-cc-cflags-ARCH= use compiler flags when building ARCH guest tests + --cross-prefix-ARCH=PREFIX cross compiler prefix when building ARCH guest test cases + --make=MAKE use specified make [make] + --python=PYTHON use specified python [/usr/bin/python3] + --meson=MESON use specified meson [] + --ninja=NINJA use specified ninja [] + --smbd=SMBD use specified smbd [] + --with-git=GIT use specified git [git] + --with-git-submodules=update update git submodules (default if .git dir exists) + --with-git-submodules=validate fail if git submodules are not up to date + --with-git-submodules=ignore do not update or check git submodules (default if no .git dir) + --static enable static build [no] + --bindir=PATH install binaries in PATH + --with-suffix=SUFFIX suffix for QEMU data inside datadir/libdir/sysconfdir/docdir [qemu] + --without-default-features default all --enable-* options to "disabled" + --without-default-devices do not include any device that is not needed to + start the emulator (only use if you are including + desired devices in configs/devices/) + --with-devices-ARCH=NAME override default configs/devices + --enable-debug enable common debug build options + --enable-sanitizers enable default sanitizers + --enable-tsan enable thread sanitizer + --disable-werror disable compilation abort on warning + --disable-stack-protector disable compiler-provided stack protection + --cpu=CPU Build for host CPU [x86_64] + --with-coroutine=BACKEND coroutine backend. Supported options: + ucontext, sigaltstack, windows + --enable-plugins + enable plugins via shared library loading + --disable-containers don't use containers for cross-building + --gdb=GDB-path gdb to use for gdbstub tests [] + --audio-drv-list=CHOICES Set audio driver list [default] (choices: + alsa/coreaudio/default/dsound/jack/oss/pa/sdl) + --block-drv-ro-whitelist=VALUE + set block driver read-only whitelist (by default + affects only QEMU, not tools like qemu-img) + --block-drv-rw-whitelist=VALUE + set block driver read-write whitelist (by default + affects only QEMU, not tools like qemu-img) + --datadir=VALUE Data file directory [share] + --disable-coroutine-pool coroutine freelist (better performance) + --disable-install-blobs install provided firmware blobs + --docdir=VALUE Base directory for documentation installation + (can be empty) [share/doc] + --enable-block-drv-whitelist-in-tools + use block whitelist also in tools instead of only + QEMU + --enable-cfi Control-Flow Integrity (CFI) + --enable-cfi-debug Verbose errors in case of CFI violation + --enable-debug-mutex mutex debugging support + --enable-debug-stack-usage + measure coroutine stack usage + --enable-fdt[=CHOICE] Whether and how to find the libfdt library + (choices: auto/disabled/enabled/internal/system) + --enable-fuzzing build fuzzing targets + --enable-gcov Enable coverage tracking. + --enable-gprof QEMU profiling with gprof + --enable-lto Use link time optimization + --enable-malloc=CHOICE choose memory allocator to use [system] (choices: + jemalloc/system/tcmalloc) + --enable-module-upgrades try to load modules from alternate paths for + upgrades + --enable-profiler profiler support + --enable-qom-cast-debug cast debugging support + --enable-rng-none dummy RNG, avoid using /dev/(u)random and + getrandom() + --enable-slirp[=CHOICE] Whether and how to find the slirp library + (choices: auto/disabled/enabled/internal/system) + --enable-strip Strip targets on install + --enable-tcg-interpreter TCG with bytecode interpreter (slow) + --enable-trace-backends=CHOICES + Set available tracing backends [log] (choices: + dtrace/ftrace/log/nop/simple/syslog/ust) + --firmwarepath=VALUES search PATH for firmware files [share/qemu-firmware] + --iasl=VALUE Path to ACPI disassembler + --includedir=VALUE Header file directory [include] + --interp-prefix=VALUE where to find shared libraries etc., use %M for + cpu name [/usr/gnemul/qemu-%M] + --libdir=VALUE Library directory [lib64] + --libexecdir=VALUE Library executable directory [libexec] + --localedir=VALUE Locale data directory [share/locale] + --localstatedir=VALUE Localstate data directory [/var/local] + --mandir=VALUE Manual page directory [share/man] + --sphinx-build=VALUE Use specified sphinx-build for building document + --sysconfdir=VALUE Sysconf data directory [etc] + --tls-priority=VALUE Default TLS protocol/cipher priority string + [NORMAL] + --with-pkgversion=VALUE use specified string as sub-version of the + package + --with-trace-file=VALUE Trace file prefix for simple backend [trace] + +Optional features, enabled with --enable-FEATURE and +disabled with --disable-FEATURE, default is enabled if available +(unless built with --without-default-features): + + alsa ALSA sound support + attr attr/xattr support + auth-pam PAM access control + avx2 AVX2 optimizations + avx512f AVX512F optimizations + bochs bochs image format support + bpf eBPF support + brlapi brlapi character device driver + bzip2 bzip2 support for DMG images + canokey CanoKey support + cap-ng cap_ng support + capstone Whether and how to find the capstone library + cloop cloop image format support + cocoa Cocoa user interface (macOS only) + coreaudio CoreAudio sound support + crypto-afalg Linux AF_ALG crypto backend driver + curl CURL block device driver + curses curses UI + dbus-display -display dbus support + dmg dmg image format support + docs Documentations build support + dsound DirectSound sound support + fuse FUSE block device export + fuse-lseek SEEK_HOLE/SEEK_DATA support for FUSE exports + gcrypt libgcrypt cryptography support + gettext Localization of the GTK+ user interface + gio use libgio for D-Bus support + glusterfs Glusterfs block device driver + gnutls GNUTLS cryptography support + gtk GTK+ user interface + guest-agent Build QEMU Guest Agent + guest-agent-msi Build MSI package for the QEMU Guest Agent + hax HAX acceleration support + hvf HVF acceleration support + iconv Font glyph conversion support + jack JACK sound support + keyring Linux keyring support + kvm KVM acceleration support + l2tpv3 l2tpv3 network backend support + libdaxctl libdaxctl support + libiscsi libiscsi userspace initiator + libnfs libnfs block device driver + libpmem libpmem support + libssh ssh block device support + libudev Use libudev to enumerate host devices + libusb libusb support for USB passthrough + libvduse build VDUSE Library + linux-aio Linux AIO support + linux-io-uring Linux io_uring support + live-block-migration + block migration in the main migration stream + lzfse lzfse support for DMG images + lzo lzo compression support + malloc-trim enable libc malloc_trim() for memory optimization + membarrier membarrier system call (for Linux 4.14+ or Windows + mpath Multipath persistent reservation passthrough + multiprocess Out of process device emulation support + netmap netmap network backend support + nettle nettle cryptography support + numa libnuma support + nvmm NVMM acceleration support + opengl OpenGL support + oss OSS sound support + pa PulseAudio sound support + parallels parallels image format support + png PNG support with libpng + pvrdma Enable PVRDMA support + qcow1 qcow1 image format support + qed qed image format support + qga-vss build QGA VSS support (broken with MinGW) + rbd Ceph block device driver + rdma Enable RDMA-based migration + replication replication support + sdl SDL user interface + sdl-image SDL Image support for icons + seccomp seccomp support + selinux SELinux support in qemu-nbd + slirp-smbd use smbd (at path --smbd=*) in slirp networking + smartcard CA smartcard emulation support + snappy snappy compression support + sparse sparse checker + spice Spice server support + spice-protocol Spice protocol support + tcg TCG support + tools build support utilities that come with QEMU + tpm TPM support + u2f U2F emulation support + usb-redir libusbredir support + vde vde network backend support + vdi vdi image format support + vfio-user-server + vfio-user server support + vhost-crypto vhost-user crypto backend support + vhost-kernel vhost kernel backend support + vhost-net vhost-net kernel acceleration support + vhost-user vhost-user backend support + vhost-user-blk-server + build vhost-user-blk server + vduse-blk-export + VDUSE block export support + vhost-vdpa vhost-vdpa kernel backend support + virglrenderer virgl rendering support + virtfs virtio-9p support + virtiofsd build virtiofs daemon (virtiofsd) + vmnet vmnet.framework network backend support + vnc VNC server + vnc-jpeg JPEG lossy compression for VNC server + vnc-sasl SASL authentication for VNC server + vte vte support for the gtk UI + vvfat vvfat image format support + whpx WHPX acceleration support + xen Xen backend support + xen-pci-passthrough + Xen PCI passthrough support + xkbcommon xkbcommon support + zstd zstd compression support + system all system emulation targets + user supported user emulation targets + linux-user all linux usermode emulation targets + bsd-user all BSD usermode emulation targets + pie Position Independent Executables + modules modules support (non-Windows) + debug-tcg TCG debugging (default is disabled) + debug-info debugging information + safe-stack SafeStack Stack Smash Protection. Depends on + clang/llvm >= 3.7 and requires coroutine backend ucontext. + +NOTE: The object files are built at the place where configure is launched diff --git a/hack/qemu/configure-output.txt b/hack/qemu/configure-output.txt new file mode 100644 index 0000000..8e80b08 --- /dev/null +++ b/hack/qemu/configure-output.txt @@ -0,0 +1,414 @@ +The Meson build system +Version: 0.59.3 +Source dir: /tmp/qemu-build/qemu-7.1.0 +Build dir: /tmp/qemu-build/qemu-7.1.0/build +Build type: native build +Project name: qemu +Project version: 7.1.0 +C compiler for the host machine: cc -m64 -mcx16 (gcc 10.2.1 "cc (Debian 10.2.1-6) 10.2.1 20210110") +C linker for the host machine: cc -m64 -mcx16 ld.bfd 2.35.2 +Host machine cpu family: x86_64 +Host machine cpu: x86_64 +Program scripts/symlink-install-tree.py found: YES (/usr/bin/python3 /tmp/qemu-build/qemu-7.1.0/scripts/symlink-install-tree.py) +Program sh found: YES (/bin/sh) +Program python3 found: YES (/usr/bin/python3) +WARNING: Broken python installation detected. Python files installed by Meson might not be found by python interpreter. +Program bzip2 found: YES (/bin/bzip2) +Program iasl found: NO +C++ compiler for the host machine: c++ -m64 -mcx16 (gcc 10.2.1 "c++ (Debian 10.2.1-6) 10.2.1 20210110") +C++ linker for the host machine: c++ -m64 -mcx16 ld.bfd 2.35.2 +Program cgcc found: NO +Library m found: YES +Run-time dependency threads found: YES +Library util found: YES +Run-time dependency appleframeworks found: NO (tried framework) +Found pkg-config: /usr/bin/pkg-config (0.29.2) +Run-time dependency gio-2.0 found: YES 2.66.8 +Program /usr/bin/gdbus-codegen found: YES (/usr/bin/gdbus-codegen) +Run-time dependency gio-unix-2.0 found: YES 2.66.8 +Run-time dependency pixman-1 found: YES 0.40.0 +Run-time dependency zlib found: YES 1.2.11 +Has header "libaio.h" : NO +Run-time dependency liburing found: NO (tried pkgconfig) +Run-time dependency libnfs found: NO (tried pkgconfig) +Run-time dependency appleframeworks found: NO (tried framework) +Run-time dependency appleframeworks found: NO (tried framework) +Run-time dependency libseccomp found: NO (tried pkgconfig) +Has header "cap-ng.h" : NO +Run-time dependency xkbcommon found: NO (tried pkgconfig) +Has header "libvdeplug.h" : NO +Dependency libpulse skipped: feature pa disabled +Run-time dependency alsa found: NO (tried pkgconfig) +Run-time dependency jack found: NO (tried pkgconfig) +Run-time dependency spice-protocol found: NO (tried pkgconfig) +Run-time dependency spice-server found: NO (tried pkgconfig) +Library rt found: YES +Run-time dependency libiscsi found: NO (tried pkgconfig) +Run-time dependency libzstd found: NO (tried pkgconfig) +Run-time dependency virglrenderer found: NO (tried pkgconfig) +Dependency libcurl skipped: feature curl disabled +Run-time dependency libudev found: NO (tried pkgconfig) +Library mpathpersist found: NO +Has header "brlapi.h" : NO +sdl2-config found: NO +Run-time dependency sdl2 found: NO (tried pkgconfig and config-tool) +Library rados found: NO +Has header "rbd/librbd.h" : NO +Run-time dependency glusterfs-api found: NO (tried pkgconfig) +Run-time dependency libssh found: NO (tried pkgconfig) +Has header "bzlib.h" : YES +Library bz2 found: YES +Has header "lzfse.h" : NO +Has header "sys/soundcard.h" : YES +Run-time dependency epoxy found: NO (tried pkgconfig) +Has header "epoxy/egl.h" with dependency not-found: NO +Run-time dependency gnutls found: NO (tried pkgconfig) +Run-time dependency gnutls found: NO (tried pkgconfig) +libgcrypt-config found: NO need ['>=1.8'] +Run-time dependency libgcrypt found: NO (tried config-tool) +Run-time dependency nettle found: NO (tried pkgconfig) +Run-time dependency gmp found: YES 6.2.1 +Run-time dependency gtk+-3.0 found: NO (tried pkgconfig) +Run-time dependency libpng found: YES 1.6.37 +Run-time dependency libjpeg found: YES 2.0.6 +Has header "sasl/sasl.h" : NO +Has header "security/pam_appl.h" : NO +Has header "snappy-c.h" : NO +Has header "lzo/lzo1x.h" : NO +Has header "numa.h" : NO +Library ibumad found: NO +Has header "rdma/rdma_cma.h" : NO +Library ibverbs found: NO +Run-time dependency xencontrol found: NO (tried pkgconfig) +Library xenstore found: NO +Library xenctrl found: NO +Library xendevicemodel found: NO +Library xenforeignmemory found: NO +Library xengnttab found: NO +Library xenevtchn found: NO +Library xentoolcore found: NO +Run-time dependency libcacard found: NO (tried pkgconfig) +Run-time dependency u2f-emu found: NO (tried pkgconfig) +Run-time dependency canokey-qemu found: NO (tried pkgconfig) +Run-time dependency libusbredirparser-0.5 found: NO (tried pkgconfig) +Run-time dependency libusb-1.0 found: NO (tried pkgconfig) +Run-time dependency libpmem found: NO (tried pkgconfig) +Run-time dependency libdaxctl found: NO (tried pkgconfig) +Run-time dependency libkeyutils found: NO (tried pkgconfig) +Checking for function "gettid" : YES +Run-time dependency libselinux found: YES 3.1 +Run-time dependency fuse3 found: NO (tried pkgconfig) +Run-time dependency libbpf found: NO (tried pkgconfig) +Checking for function "io_uring_register_ring_fd" with dependency not-found: NO +Has header "sys/epoll.h" : YES +Has header "linux/magic.h" : YES +Has header "valgrind/valgrind.h" : NO +Has header "linux/btrfs.h" : YES +Has header "libdrm/drm.h" : NO +Has header "pty.h" : YES +Has header "sys/disk.h" : NO +Has header "sys/ioccom.h" : NO +Has header "sys/kcov.h" : NO +Checking for function "accept4" : YES +Checking for function "clock_adjtime" : YES +Checking for function "dup3" : YES +Checking for function "fallocate" : YES +Checking for function "posix_fallocate" : YES +Checking for function "posix_memalign" : YES +Checking for function "_aligned_malloc" : NO +Checking for function "valloc" : YES +Checking for function "memalign" : YES +Checking for function "ppoll" : YES +Checking for function "preadv" : YES +Checking for function "pthread_fchdir_np" : NO +Checking for function "sendfile" : YES +Checking for function "setns" : YES +Checking for function "unshare" : YES +Checking for function "syncfs" : YES +Checking for function "sync_file_range" : YES +Checking for function "timerfd_create" : YES +Checking for function "copy_file_range" : YES +Checking for function "getifaddrs" : YES +Checking for function "openpty" with dependency -lutil: YES +Checking for function "strchrnul" : YES +Checking for function "system" : YES +Header has symbol "bswap_32" : YES +Header has symbol "epoll_create1" : YES +Header has symbol "FALLOC_FL_PUNCH_HOLE" : YES +Header has symbol "FALLOC_FL_KEEP_SIZE" : YES +Header has symbol "FALLOC_FL_ZERO_RANGE" : YES +Has header "linux/fiemap.h" : YES +Header has symbol "FS_IOC_FIEMAP" : YES +Checking for function "getrandom" : YES +Header has symbol "GRND_NONBLOCK" : YES +Header has symbol "inotify_init" : YES +Header has symbol "inotify_init1" : YES +Header has symbol "bswap32" : NO +Header has symbol "PR_SET_TIMERSLACK" : YES +Header has symbol "IFLA_PROTO_DOWN" : YES +Header has symbol "makedev" : YES +Header has symbol "optreset" : NO +Header has symbol "IPPROTO_MPTCP" : NO +Header has symbol "FSCONFIG_SET_FLAG" : NO +Checking whether type "struct sigevent" has member "sigev_notify_thread_id" : NO +Checking whether type "struct stat" has member "st_atim" : YES +Checking for type "struct iovec" : YES +Checking for type "struct utmpx" : YES +Checking for type "struct mmsghdr" : YES +Header has symbol "AF_VSOCK" : YES +Program scripts/minikconf.py found: YES (/usr/bin/python3 /tmp/qemu-build/qemu-7.1.0/scripts/minikconf.py) +Configuring x86_64-softmmu-config-target.h using configuration +Configuring x86_64-softmmu-config-devices.mak with command +Reading depfile: /tmp/qemu-build/qemu-7.1.0/build/meson-private/x86_64-softmmu-config-devices.mak.d +Configuring x86_64-softmmu-config-devices.h using configuration +Program scripts/make-config-poison.sh found: YES (/tmp/qemu-build/qemu-7.1.0/scripts/make-config-poison.sh) +Run-time dependency capstone found: NO (tried pkgconfig) +Run-time dependency slirp found: NO (tried pkgconfig) +Configuring libslirp-version.h using configuration +Library fdt found: NO +Configuring config-host.h using configuration +Program scripts/hxtool found: YES (/tmp/qemu-build/qemu-7.1.0/scripts/hxtool) +Program scripts/shaderinclude.pl found: YES (/usr/bin/env perl /tmp/qemu-build/qemu-7.1.0/scripts/shaderinclude.pl) +Program scripts/qapi-gen.py found: YES (/usr/bin/python3 /tmp/qemu-build/qemu-7.1.0/scripts/qapi-gen.py) +Program scripts/qemu-version.sh found: YES (/tmp/qemu-build/qemu-7.1.0/scripts/qemu-version.sh) + +Executing subproject libvhost-user + +libvhost-user| Project name: libvhost-user +libvhost-user| Project version: undefined +libvhost-user| C compiler for the host machine: cc -m64 -mcx16 (gcc 10.2.1 "cc (Debian 10.2.1-6) 10.2.1 20210110") +libvhost-user| C linker for the host machine: cc -m64 -mcx16 ld.bfd 2.35.2 +libvhost-user| Dependency threads found: YES unknown (cached) +libvhost-user| Dependency glib-2.0 found: YES 2.66.8 (overridden) +libvhost-user| Build targets in project: 11 +libvhost-user| Subproject libvhost-user finished. + + +Executing subproject libvduse + +libvduse| Project name: libvduse +libvduse| Project version: undefined +libvduse| C compiler for the host machine: cc -m64 -mcx16 (gcc 10.2.1 "cc (Debian 10.2.1-6) 10.2.1 20210110") +libvduse| C linker for the host machine: cc -m64 -mcx16 ld.bfd 2.35.2 +libvduse| Build targets in project: 12 +libvduse| Subproject libvduse finished. + +Program cat found: YES (/bin/cat) +Program scripts/decodetree.py found: YES (/usr/bin/python3 /tmp/qemu-build/qemu-7.1.0/scripts/decodetree.py) +Program ../scripts/modules/module_block.py found: YES (/usr/bin/python3 /tmp/qemu-build/qemu-7.1.0/block/../scripts/modules/module_block.py) +Program ../scripts/block-coroutine-wrapper.py found: YES (/usr/bin/python3 /tmp/qemu-build/qemu-7.1.0/block/../scripts/block-coroutine-wrapper.py) +Program scripts/modinfo-collect.py found: YES (/tmp/qemu-build/qemu-7.1.0/scripts/modinfo-collect.py) +Program scripts/modinfo-generate.py found: YES (/tmp/qemu-build/qemu-7.1.0/scripts/modinfo-generate.py) +Program nm found: YES +Program scripts/undefsym.py found: YES (/usr/bin/python3 /tmp/qemu-build/qemu-7.1.0/scripts/undefsym.py) +Program scripts/feature_to_c.sh found: YES (/bin/sh /tmp/qemu-build/qemu-7.1.0/scripts/feature_to_c.sh) +Configuring 50-edk2-i386-secure.json using configuration +Configuring 50-edk2-x86_64-secure.json using configuration +Configuring 60-edk2-aarch64.json using configuration +Configuring 60-edk2-arm.json using configuration +Configuring 60-edk2-i386.json using configuration +Configuring 60-edk2-x86_64.json using configuration +Program qemu-keymap found: NO +Program cp found: YES (/bin/cp) +Program sphinx-build-3 sphinx-build found: NO +Program bash found: YES 5.1.4 (/bin/bash) +Program diff found: YES (/usr/bin/diff) +Program dbus-daemon found: NO +Program initrd-stress.sh found: YES (/tmp/qemu-build/qemu-7.1.0/tests/migration/initrd-stress.sh) +Build targets in project: 514 + +qemu 7.1.0 + + Directories + Install prefix : /aurae/target/rootfs/usr + BIOS directory : share/qemu + firmware path : share/qemu-firmware + binary directory : /aurae/target/rootfs/usr/bin + library directory : /aurae/target/rootfs/usr/lib/x86_64-linux-gnu + module directory : lib/x86_64-linux-gnu/qemu + libexec directory : /aurae/target/rootfs/usr/libexec + include directory : /aurae/target/rootfs/usr/include + config directory : /etc + local state directory : /var + Manual directory : /aurae/target/rootfs/usr/share/man + Doc directory : /usr/share/doc/qemu-7.1.0 + Build directory : /tmp/qemu-build/qemu-7.1.0/build + Source path : /tmp/qemu-build/qemu-7.1.0 + GIT submodules : ui/keycodemapdb tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc slirp + + Host binaries + git : git + make : make + python : /usr/bin/python3 (version: 3.9) + sphinx-build : NO + iasl : NO + genisoimage : + smbd : /usr/sbin/smbd + + Configurable features + Documentation : NO + system-mode emulation : YES + user-mode emulation : NO + block layer : YES + Install blobs : YES + module support : NO + fuzzing support : NO + Audio drivers : oss + Trace backends : log + D-Bus display : NO + QOM debugging : NO + vhost-kernel support : YES + vhost-net support : YES + vhost-user support : YES + vhost-user-crypto support : YES + vhost-user-blk server support: YES + vhost-vdpa support : YES + build guest agent : YES + + Compilation + host CPU : x86_64 + host endianness : little + C compiler : cc -m64 -mcx16 + Host C compiler : cc -m64 -mcx16 + C++ compiler : c++ -m64 -mcx16 + CFLAGS : -O2 -g + CXXFLAGS : -O2 -g + QEMU_CFLAGS : -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong + QEMU_CXXFLAGS : -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wundef -Wwrite-strings -fno-strict-aliasing -fno-common -fwrapv -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong + QEMU_OBJCFLAGS : + QEMU_LDFLAGS : -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -fstack-protector-strong + profiler : NO + link-time optimization (LTO) : NO + PIE : YES + static build : NO + malloc trim support : YES + membarrier : NO + debug stack usage : NO + mutex debugging : NO + memory allocator : system + avx2 optimization : YES + avx512f optimization : NO + gprof enabled : NO + gcov : NO + thread sanitizer : NO + CFI support : NO + strip binaries : NO + sparse : NO + mingw32 support : NO + + Cross compilers + x86_64 : cc + + Targets and accelerators + KVM support : YES + HAX support : NO + HVF support : NO + WHPX support : NO + NVMM support : NO + Xen support : NO + TCG support : YES + TCG backend : native (x86_64) + TCG plugins : YES + TCG debug enabled : NO + target list : x86_64-softmmu + default devices : YES + out of process emulation : YES + vfio-user server : NO + + Block layer support + coroutine backend : ucontext + coroutine pool : YES + Block whitelist (rw) : + Block whitelist (ro) : + Use block whitelist in tools : NO + VirtFS support : NO + build virtiofs daemon : NO + Live block migration : YES + replication support : YES + bochs support : NO + cloop support : NO + dmg support : NO + qcow v1 support : NO + vdi support : NO + vvfat support : NO + qed support : NO + parallels support : NO + FUSE exports : NO + VDUSE block exports : YES + + Crypto + TLS priority : NORMAL + GNUTLS support : NO + libgcrypt : NO + nettle : NO + AF_ALG support : NO + rng-none : NO + Linux keyring : YES + + Dependencies + SDL support : NO + SDL image support : NO + GTK support : NO + pixman : YES 0.40.0 + VTE support : NO + slirp support : internal + libtasn1 : NO + PAM : NO + iconv support : NO + curses support : NO + virgl support : NO + curl support : NO + Multipath support : NO + PNG support : YES 1.6.37 + VNC support : YES + VNC SASL support : NO + VNC JPEG support : YES 2.0.6 + OSS support : YES + ALSA support : NO + PulseAudio support : NO + JACK support : NO + brlapi support : NO + vde support : NO + netmap support : NO + l2tpv3 support : YES + Linux AIO support : NO + Linux io_uring support : NO + ATTR/XATTR support : YES + RDMA support : NO + PVRDMA support : NO + fdt support : internal + libcap-ng support : NO + bpf support : NO + spice protocol support : NO + rbd support : NO + smartcard support : NO + U2F support : NO + libusb : NO + usb net redir : NO + OpenGL support (epoxy) : NO + GBM : NO + libiscsi support : NO + libnfs support : NO + seccomp support : NO + GlusterFS support : NO + TPM support : YES + libssh support : NO + lzo support : NO + snappy support : NO + bzip2 support : YES + lzfse support : NO + zstd support : NO + NUMA host support : NO + capstone : NO + libpmem support : NO + libdaxctl support : NO + libudev : NO + FUSE lseek : NO + selinux : YES 3.1 + + Subprojects + libvduse : YES + libvhost-user : YES + +Found ninja-1.10.1 at /usr/bin/ninja +Running postconf script '/usr/bin/python3 /tmp/qemu-build/qemu-7.1.0/scripts/symlink-install-tree.py' diff --git a/hack/qemu/mk-qemu b/hack/qemu/mk-qemu new file mode 100755 index 0000000..ac5b160 --- /dev/null +++ b/hack/qemu/mk-qemu @@ -0,0 +1,53 @@ +#!/bin/bash +set -e +set -x + +TARGET_DIR=/aurae/target/rootfs/usr +[ -f "${TARGET_DIR}/bin/qemu-system-x86_64" ] && +[ -z ${REBUILD_QEMU+x} ] && + echo -e "Skip qemu build, artifacts already exist." && + echo -e "\t clean qemu artifacts if you want to rebuild." && + exit 0 + +workingDir=/tmp/qemu-build +mkdir -p $workingDir +pushd $workingDir + +wget https://download.qemu-project.org/qemu-7.1.0.tar.xz +tar xvf qemu-7.1.0.tar.xz +cd qemu-7.1.0 + +QEMU_ARCH=x86_64-softmmu + +mkdir -vp build +cd build + +../configure --help > /aurae/hack/qemu/configure-help.txt +../configure --prefix=$TARGET_DIR \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --target-list=$QEMU_ARCH \ + --disable-pa \ + --disable-curl \ +\ # --disable-vnc \ + --disable-curses \ + --disable-iconv \ + --disable-bochs \ + --disable-dmg \ + --disable-cloop \ + --disable-vdi \ + --disable-qcow1 \ + --disable-vvfat \ + --disable-qed \ + --disable-parallels \ + --docdir=/usr/share/doc/qemu-7.1.0 \ + | tee /aurae/hack/qemu/configure-output.txt + + +unset QEMU_ARCH + +make -j`nproc` + +make install + +popd #workingDir