THIS IS DEPRECATED - NO NEED FOR CUSTOM XEN TARBALL
tested on slackware current (oct 2021)
assuming a power system with all slackware packages installed
this is about our xen-nox slackbuild
prepare xen and qemu-xen tarballs an for updated slackbuild
to avoid the gcc 11 related error, we switched to 4.15 stable branch instead of the 4.15.0 release.
we are going for xen LATEST STABLE and qemu-xen CURRENT. qemu-xen latest stable did not build because of keycodemapdb which was not generating the required .c files.
for XEN and tools to build you will require those.
# official slackpkg search ninja # sbo sbopkg -i acpica #sbopkg -i scikit-build #sbopkg -i wheel sbopkg -i yajl
grab the latest xen stable branch
#git clone git://xenbits.xen.org/xen.git git clone https://xenbits.xen.org/git-http/xen.git cd xen/ git checkout stable-4.15 git branch git log -1 # f50ef17c9884c0c2d486d3b1de8f110bb6b22c42 mv .git/ ../xen-REPO-DOT-GIT cd ../ tar czf xen-f50ef17.tar.gz xen/
grab the latest qemu-xen stable branch AND SUBMODULES
git clone https://xenbits.xen.org/git-http/qemu-xen.git cd qemu-xen/ git config --file .gitmodules --name-only --get-regexp path git submodule update --init --recursive meson/ git submodule update --init --recursive tests/fp/berkeley-softfloat-3/ git submodule update --init --recursive tests/fp/berkeley-testfloat-3/ git submodule update --init --recursive ui/keycodemapdb/ git log -1 # b6e539830bf45e2d7a6bd86ddfdf003088b173b0 mv .git/ ../qemu-xen-REPO-DOT-GIT cd ../ tar czf qemu-xen-b6e5398.tar.gz qemu-xen/
check that it build when done manually (it will avoid you troubles when using the slackbuild), while INCLUDING xen’s Makefile parameters (but --enable-xen
)
#mv /usr/bin/python /usr/bin/python.dist #ln -s python3 /usr/bin/python cd qemu-xen/ ./configure --sysconfdir=/etc --localstatedir=/var \ --target-list=i386-softmmu \ --disable-kvm \ --disable-docs \ --disable-guest-agent \ --python=python3 \ --cpu=x86_64 \ --audio-drv-list= \ --disable-slirp \ --disable-blobs \ --disable-plugins \ --disable-gtk \ --disable-sdl \ --disable-sdl-image \ --disable-opengl \ --disable-capstone \ --disable-slirp-smbd \ --disable-spice-protocol \ --disable-fuse \ --disable-fuse-lseek echo $MAKEFLAGS make clean make > ../qemu-xen.log && echo BUILT || echo FAILED cd ../
the resulting tarballs are also available over there.
you are now ready to build XEN, QEMU-XEN and make the resulting slackbuild packages available for the world.
keep the repos for updating further tarballs
mv xen-f50ef17.tar.gz ~/slackbuilds/xen-nox/ mv qemu-xen-b6e5398.tar.gz ~/slackbuilds/xen-nox/
now proceed with the build as follows
cd ~/slackbuilds/xen-nox/ grep tar.gz *info grep VER *uild ls -lF *.tar.gz ./xen-nox.SlackBuild > ../xen-nox.log && echo BUILT tail ../xen-nox.log
and see slack/seedy-gonzales for further ado.
==> meson/ submodule was missing
In file included from x86_emulate.c:45: x86_emulate/x86_emulate.c: In function ‘x86_emulate’: x86_emulate/x86_emulate.c:726:26: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] 726 | (ptr)[0 - PFX_BYTES] = ext < ext_8f08 ? 0xc4 : 0x8f; \ | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
==> I don’t remember how I solved that one, but the guide has been updated accordingly.
/tmp/SBo/xen/tools/qemu-xen/ui/input-keymap.c:7:10: fatal error: ui/input-keymap-atset1-to-qcode.c: No such file or directory 7 | #include "ui/input-keymap-atset1-to-qcode.c" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
==> Makefile:KEYCODEMAP_GEN
didn’t work, switch to qemu-xen CURRENT
ERROR: --python requires using QEMU's embedded Meson distribution, but it was not found.
https://slackbuilds.org/repository/15.0/system/xen/
How to “git clone” including submodules? https://stackoverflow.com/questions/3796927/how-to-git-clone-including-submodules
List submodules in a Git repository https://stackoverflow.com/questions/12641469/list-submodules-in-a-git-repository
[027/132] meson: keymap-gen https://patchwork.kernel.org/project/qemu-devel/patch/1576155176-2464-28-git-send-email-pbonzini@redhat.com/
“–target list” meaning in qemu installation https://stackoverflow.com/questions/26664946/target-list-meaning-in-qemu-installation
Member “qemu-6.1.0/configure” (24 Aug 2021, 147017 Bytes) of package /linux/misc/qemu-6.1.0.tar.xz: https://fossies.org/linux/qemu/configure
QEMU Upstream https://wiki.xenproject.org/wiki/QEMU_Upstream
Re: [Qemu-devel] QEMU without X11 support https://lists.nongnu.org/archive/html/qemu-devel/2017-10/msg03032.html
qemu: Allow building without X11 support https://patchwork.openembedded.org/patch/66017/